我最近在PHP中发现了所谓的"复活节彩蛋URL":
这些是您可以添加到PHP网页末尾的四个QUERY字符串,用于查看(有些)隐藏的图像或网页:
?=PHPE9568F36-D428-11d2-A769-00AA001ACF42这是最有趣的,并展示了一只兔子在房子里的"复活节彩蛋"形象(Sterling Hughes的兔子,名为Carmella),草地上的棕色狗,黑色的苏格兰梗狗,草率的儿童手 - 绘制的,蜡笔色的php徽标,一个带面包棒的人(看起来像铅笔或炸薯条)像海象一样从嘴里伸出,或者是一个PHP大象标志.

其他包括:
?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 (PHP徽标)?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 (Zend标志)?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 (PHP学分)我很震惊地发现这确实适用于很多网站,包括我自己的网站.我认为这是愚蠢的,并要禁用它,但是从我听到这样做是在php.ini中的唯一方法expose_php = Off,它不能在运行时设置用ini_set().
我没有直接访问实时服务器上的php.ini.但是,我已经想出了如何X-Powered-By通过使用Header unset X-Powered-Byin .htaccess或header('X-Powered-By: ')PHP代码来取消设置标头.
有没有其他方法我可以禁用这些"复活节彩蛋",或者我必须在主要中更改此设置php.ini(这是否确实是禁用这些URL的正确/唯一方式)?
Rya*_*yan 58
在php.ini中
; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header). It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
; http://php.net/expose-php
expose_php = Off
Run Code Online (Sandbox Code Playgroud)
这将有效地去除复活节彩蛋
Dan*_*dux 32
一个快速的HTACCESS全局重写可以正确地从每个URL重新出现确切的字符串,从而摆脱PHP唯一有趣的部分,而不触及ini文件,也不需要在每个文件的开头都有一个函数.
尚未测试过,但这应该有效:
RewriteEngine On
RewriteCond %{QUERY_STRING} \PHPE9568F36-D428-11d2-A769-00AA001ACF42\ [NC]
RewriteRule .* - [F]
Run Code Online (Sandbox Code Playgroud)
当然,只需为每个其他可能的查询复制最后2行,或者编写更通用的正则表达式.我对正则表达式不满意.:)
RewriteEngine On
RewriteCond %{QUERY_STRING} \=PHP[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12} [NC]
RewriteRule .* - [F]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25907 次 |
| 最近记录: |