基本上,我想创建一个网站来向人们展示如何通过模拟它们来防止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