2016-01-22 152 views
0

我試圖做到這一點挑戰PHP /邏輯和黑客攻擊。我必須做的打印頁面「成功」找到這個頁面的密碼http://leggend.orgfree.com/index.php/challenge/strcmp.php,當我發現我不得不在這樣的URL添加密碼的密碼: http://leggend.orgfree.com/index.php/chall...mp.php?psw=PASSWORD 密碼(我認爲這是)在密碼。 PHP等,但如果你去password.php去在挑戰的網站。
我和PSW = 00,但不對用strcmp挑戰PHP

+0

沒有什麼能幫助我嗎? – WhileNext

回答

0

使用它作爲 http://leggend.orgfree.com/index.php/challenge/strcmp.php?psw[]= 這做的伎倆在PHP返回NULL

功能,當他們收到錯誤類型的參數中。在strcmp的情況下,兩個參數都必須是字符串。在這種情況下,我將變量作爲「psw []」傳遞給數組。所以strcmp的參數是數組字符串和函數返回NULL。然後檢查==在不同類型的情況下會發生typecasting和NULL == 0返回true。要解決這個問題,只需將=====或檢查輸入參數的類型。所以固定的代碼如下所示:

$correctPassword = include "password.php"; 
if (isset($_GET["psw"]) && strcmp($_GET["psw"], $correctPassword) === 0) { 
    echo "Successo!"; 
} 
+0

我可以知道你有什麼用途嗎?步驟步驟 – WhileNext

+0

@WhileNext我更新了我的答案,解釋了它的工作原理以及如何解決問題 – zr9

+0

謝謝,我可以問如何才能學習PHP? – WhileNext