Home > Backend Development > PHP Tutorial > php新手问一个函数解决方法

php新手问一个函数解决方法

WBOY
Release: 2016-06-13 10:03:48
Original
952 people have browsed it

php新手问一个函数
我在看研究源码时的一点疑问,首先有这样一个函数
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'可以运行,但是,应该无法达到预期效果的。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template