用htmlentities($_SERVER['PHP_SELF'])来替代简单的$_SERVER['PHP_SELF'],这样即使网址中包含恶意代码,也会被“转换”为用于显示的html代码,而不是被直接嵌入html代码中执行,简单一点说,就是“<”会变成“<”,变成无害的了。 2、REQUEST_URI 用$_SERVER["REQUEST_URI"]来替代$_SERVER['PHP_SELF'],在ph...
php echo $_SERVER['PHP_SELF']; ?>"> 假设该页面地址为:http://www.example.com/php/index.php 访问该页面,得到的表单 html 代码如下: 这段代码是正确的,但是当访问地址变成: http://www.example.com/php/index.php/test/foo 页面正常执行了,表单 html 代码变成: 显然这段代码不是我们期望的,攻...
用htmlentities($_SERVER [’PHP_SELF’])来替 简单的$_SERVER[’PHP_SELF’],这样即使网址中包含恶意代码,也会被“转换”为用于显示的html代码,而不是被直接嵌入html代码中执行,简单一点说,就是“<”会变成“<”,变成无害的了。 2、REQUEST_URI 用$_SERVER[’REQUEST_URI’]来替代$_SERVER[’PHP_SELF’...
$_SERVER['PHP_SELF']表示当前php文件相对于网站根目录的位置地址,与document root相关。 假设我们有如下网址,$_SERVER['PHP_SELF']得到的结果分别为: http://www.sskj.work/php/:/php/index.php http://www.sskj.work/php/index.php :/php/index.php http://www.sskj.work/php/index.php?test=foo :...
$_SERVER["PHP_SELF"]是超级全局变量,返回当前正在执行脚本的文件名,与 document root相关。 当黑客使用跨网站脚本的HTTP链接来攻击时,$_SERVER["PHP_SELF"]服务器变量也会被植入脚本。原因就是跨网站脚本是附在执行文件的路径后面的,因此$_SERVER["PHP_SELF"]的字符串就会包含HTTP链接后面的JavaScript程序代码。
通常在本機測試 $_SERVER['SCRIPT_NAME'] 跟 $_SERVER['PHP_SELF'] 大概看不出有什麼不同,因為大部分的PHP不是以CGI模式運行的。 但DreamHost 上的 PHP 是以 CGI 方式運行,二者就有明顯不同的差異。 echo $_SERVER['SCRIPT_NAME']; // (/cgi-system/php.cgi) ...
$_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root相关。 $_SERVER['argv'] #传递给该脚本的参数。 $_SERVER['argc'] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。 $_SERVER['GATEWAY_INTERFACE'] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。
$_SERVER['PHP_SELF']:相对于网站根目录的路径及 PHP 程序名称。 $_SERVER['SCRIPT_NAME']:相对于网站根目录的路径及 PHP 程序文件名称。 $_SERVER['REQUEST_URI']:访问此页面所需的 URI 。 一个简单的例子可以看出它们的区别。URL 地址如下: ...
PHP 中 $_SERVER 的具体说明: $_SERVER['REMOTE_PORT']//端口。 $_SERVER['SERVER_NAME']//服务器主机的名称。 $_SERVER['PHP_SELF']//正在执行脚本的文件名 $_SERVER['argv']//传递给该脚本的参数。 $_SERVER['argc']//传递给程序的命令行参数的个数。
就是你这个程序本身的名字。