如何通过检测URL隐藏PHP中的HTML页面源

时间:2013-01-09 05:09:53

标签: php html

我不关心人们查看我的源代码,但是,我希望Bots避免进入我的网站并通过我的安全性。我希望禁用页面源查看。为此,我使用此代码:

$url= $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$needle = "view-source:";
if (strpos($url,$needle)) { echo "You can not see me";}
else {
//The rest of my index page
}

这里的目标是,如果有人试图查看我的页面源或者机器人尝试,而不是能够看到它,代码将检测到页面URL是查看源:www.yoururl.com并将在源代码中显示“Nice try”消息,而不是页面源。上面的理论代码应该有效,但没有。还有其他想法试图让这项工作成功吗?

2 个答案:

答案 0 :(得分:3)

这是不可能的,HTML源代码会传递给任何请求它的人。您可能应该重新设计验证码,因为它不像您描述的那样安全。使用会话变量来存储数据并检查表单处理器脚本上提交的值。

答案 1 :(得分:-3)

您可以使用mod_rewrite和.htaccess中的永久301重定向来隐藏您网址的?captcha=xxxx部分,如果这是您唯一关心的问题。