2012-04-21 53 views
0

我試圖找到一種方法,通過PHP來加密和通過JavaScript解密/ AJAX翻譯javascript傳送給PHP

這並不意味着是一個強大的解決方案,而只是一個輕量級的補救措施,以阻止從普通用戶右鍵單擊並查看源代碼以便在普通視圖中查看正確的答案。答案將通過ajax顯示。

我試圖翻譯字符串函數下面我發現PHP的編碼,但它是不正確的。

http://www.yaldex.com/FSPassProtect/CharacterEncoder.htm

我到目前爲止的代碼是這樣的......

$string = "Ordinarily, license fees are in the nature of the exercise of police"; 

for($i=0;$i<strlen($string);$i+=1){ 
    $output = $output . (ord($string[$i]) - 23); 
} 

echo $output; 

但是當我過去生成的代碼到上面列出的網頁進行解密它是不正確的。

任何幫助,將不勝感激。

+0

你的代碼中使用base_encode()

<?php $str = 'This is an encoded string'; echo base64_encode($str); ?> 

一目瞭然,你可以嘗試你破譯字符的整數值轉換回字符文字('CHR(ORD($字符串[$ i]) - 23)')? – rjz 2012-04-21 06:26:35

回答

6

請從使你的代碼難以故意不要閱讀。如果你不希望用戶知道答案,不給答案,直到你需要檢查它。

答案應該是在服務器端,遠離用戶,一旦用戶點擊一個答案並提交,然後才把你應該獲取答案,對證,如果用戶是正確的。

+0

這不是很實際,這就是爲什麼我選擇不這樣做。 – SteveF 2012-04-21 06:26:02

+1

好,這將是正確的soloution!但如果你真的不想這樣做,看看我的答案... – 2012-04-21 06:30:54

1

注意,我喜歡@真相的答案,但如果你真的不想那樣做閱讀;)

在PHP端你可以使用base64_encode(),然後在JavaScript端使用自定義的實行like this解碼它

0

爲什麼你挑沿問題的答案? 如果你想在解密時使用加密下面一個

<?php 
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';//encoded string 
echo base64_decode($str); 
?>