我在看研究源码时的一点疑问,首先有这样一个函数
function submitcheck($var = ){
if (empty($_post)){
return false;
}
if($_server['request_method'] == 'post' && (empty($_server['http_referer']) ||
preg_replace(/https?:\/\/([^\:\/]+).*/i, \\1, $_server['http_referer']) == preg_replace(/([^\:]+).*/, \\1, $_server['http_host']))){
return true;
}
else{
return false;
}
}
这个函数是干嘛的,简单回答一下 谢谢了
还有,这个函数的返回值是布尔型的,但为什么我在下文确发现这样一个调用:submitcheck('islogin') == 'yes' ,而且是可以运行的
------解决方案--------------------
你一下子发了两个同样的问题?
------解决方案--------------------
submitcheck是在察看通过post的传送内容非空,而且访问的来源是本服务器(程序的运行服务器),
那么,函数结果返回true,否则返回false――也就是一个防止盗链的功能。
虽然函数的返回值是布尔型,但是,php引擎在编译的时候都是以复合型看的,所以,submitcheck('islogin') == 'yes'可以运行,但是,应该无法达到预期效果的。