php__self,PHP中 $_SERVER[“PHP_SELF”] 作用和含义

本文详细介绍了PHP中$_SERVER['PHP_SELF']的作用及使用方法,并探讨了其安全性问题。$_SERVER['PHP_SELF']用于获取当前执行脚本的文件名,与documentroot相关联,不含URL参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Posted by 撒得一地 on 2016年11月4日 in PHP笔记

4cb15082d778157592c90ea2b0676428.png

首先 $_SERVER 数组在 PHP 中是一个全局数组,所以,在任意一个 PHP 脚本中都可以使用 $_SERVER 数组中的值。在函数或方法中无需执行 global $variable; 就可以访问它们。

$_SERVER 中存储了包括头信息,路径,脚本位置等,感兴趣的可以打印出来看下:

echo '

';

print_r($_SERVER);

echo '

';

?>

打印结果如下:

96e8f5da553a297b1c6862bd309ce705.png

在 $_SERVER 数组中存储的众多值中,存储了一个键为 'PHP_SELF' 的值,也就是 $_SERVER[“PHP_SELF”],该值存储的内容是:当前执行脚本的文件名,与 document root 有关。

比如执行一个 php 脚本的地址为:http://localhost/test/7ghost.php/ , 那么  $_SERVER[“PHP_SELF”] 对应的值即为:/test/7ghost.php/。

而且 $_SERVER[“PHP_SELF”] 该地址不包含 url 中的参数,比如你访问的 url 地址为:http://localhost/test/7ghost.php?par=123&par2=333 而 $_SERVER[“PHP_SELF”] 的值为 /test/7ghost.php 。

再比如,你访问的 url 地址为:http://localhost/test/7ghost.php/abc , 那么 $_SERVER[“PHP_SELF”] 的为:/test/7ghost.php/abc 。

当你想要获取当前页面的地址时,你可以使用下面的方法进行获取:

$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

而关于 $_SERVER[‘PHP_SELF’] 使用的安全性,比如这种形式:

可能会被跨网站脚本攻击。

关于该危险性可以参考:

http://blog.csdn.net/load_life/article/details/7674709

http://www.jianshu.com/p/fc0e590125c9

... other posts by psz1992

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值