php新手问一个函数解决方法
程序员文章站
2024-04-02 17:46:04
...
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'可以运行,但是,应该无法达到预期效果的。
我在看研究源码时的一点疑问,首先有这样一个函数
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'可以运行,但是,应该无法达到预期效果的。
相关文章
相关视频
下一篇: 深入理解企业总体架构,看这篇就够了
推荐阅读
-
php新手问一个函数解决方法
-
UCenter中的一个可逆加密函数authcode函数代码_PHP教程
-
用PHP写的一个冒泡排序法的函数简单实例
-
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
-
php reset() 函数指针指向数组中的第一个元素并输出实例代码
-
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
-
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
-
PHP中函数gzuncompress无法使用的解决方法
-
PHP基于简单递归函数求一个数阶乘的方法示例
-
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名