나는 응용 프로그램에서 일하고 있는데 여기 붙어 있네.이러한 여분의 문자 제거
나는 데이터베이스를 검색하고 특정 레코드를 선택할 수 있도록 ID가 URL에 전달되는 제품 삭제 페이지를 만들고 있습니다. ID를 알몸으로 전달하는 것은 좋은 생각이 아니므로, 따라서 해시로 ID를 암호화 한 다음 전달합니다. 하지만 해시에는 중간에 공간이 있으므로 응용 프로그램에서 사용할 때 스페이스를 채우기 위해 스페이스 문자가 해시에 추가됩니다.
가 여기 내 암호화 기능입니다 : - 여기
function getHash($recordid)
{
global $db;
$key_value="[email protected]@";
$plain_text=$recordid;
$encrypted_text = mcrypt_ecb(MCRYPT_DES, $key_value, $plain_text, MCRYPT_ENCRYPT);
return $encrypted_text;
}
내가 URL을 전달하고 간단하게 인쇄되지 않을 때 나는 = 1 $에 대한 출력을 얻을 plain_text거야. 내가 URL을 통해 전달할 경우
ÑÛo‡Ó‰-7
하지만은, 그것은이 변환됩니다 : -
%D1%DBo%87%D3%89-7
내가 암호를 해독 할 때 따라서 반드시 내가 올바른 결과를 얻을 수 없다. 해독 한 후 원래 값을 얻을 수있는 방법이 있습니까 (이 예에서는 1), 아니면 다른 암호 해독 기능을 사용하여이 문제를 없앨 수 있습니까?
감사합니다.
죄송합니다.이 작업을 승인해야합니까? 모호함으로 인한 보안은 거의 좋은 접근 방법이 아닙니다. – raina77ow
이렇게하려면 인증이 필요합니다. 사용자가 로그인해야하며 특정 ID를 가진 제품이 사용자 계정에 매핑되어 있는지 여부를 확인하는 기능이 있습니다. 그러나 id를 해독하여 다른 보안 계층을 추가하려고합니다. – Ankur
urlencode ($ encrypted_text)를 사용하면 converto가 실제 값을 깨지 않고 전달 가능 인코딩을 수행 한 다음 urldecode ($ encrypted_text)를 사용하여 페이지에서 해시를 다시 가져올 수 있습니다. [http://meyerweb.com/eric/tools/dencoder /) –