基本上,我想創建一個網站來向人們展示如何通過模擬它們來防止PHP漏洞。但是,我無法讓他們自己工作。簡單的PHP漏洞測試
我想查看一個變量是否等於一個有效的頁面(我只有兩個用於測試),如果是,則加載該頁面。否則,我看它是否包含「../」。如果這兩個都不是真的,它只是說「找不到頁面」。
這是到目前爲止我的代碼:「找不到網頁」
<?php
if($page=="LOLone.php" || $page=="LOLtwo.php"){
echo "Welcome, look at the LOL cats!";
include($page);
}else if(strlen(strstr($page,"../"))>0){
echo "Congrats, you found the transversal attack vulnerability!";
}else{
echo "Page not found!";
}
?>
每當我嘗試使用page=LOLone.php
(或LOLtwo.php
甚至../
)它說我能不能以我自己的方式來比較變量,或者這可以讓我的網絡主機安全地玩嗎?我有點困惑,但我相對較新的PHP,所以我覺得我缺少一些簡單的...
好吧,我犯了一個簡單的錯誤。一個非常大的一個。抱歉。 感謝所有回覆,我會非常小心自己的服務器被黑客入侵。在這個例子中,我應該是乾淨的,因爲只有當它等於一個指定的值時纔會包含頁面。再次感謝。
我不記得PHP是否嚴格'else if'或'elseif'就像JS一樣。 – Blake 2012-04-22 20:06:08
如果你不能自己完成基礎知識,那麼新手就要努力教育他人。 – 2012-04-22 20:07:06
謝謝Dagon。 :P 我明白如何利用它,我從來沒有試圖自己重現它。 – Vreality 2012-04-22 20:09:40