使用PHP魔术常量有哪些安全隐患?

时间:2018-03-30 23:15:55

标签: php security magic-constants

PHP magic constants允许您访问正在执行的当前PHP文件,当前函数的名称等信息。

虽然此数据不是用户输入直接,但它肯定会受到用户输入的影响(例如:通过访问特定路径来影响__dir____file__等但是,在大多数情况下,远程用户输入不可能准确地影响这些变量。

例如,如果您要访问example.com/<script>window.alert("XSS");</script>,则不会导致该服务器上包含恶意JavaScript的__file__变量。相反,它将包含404 ErrorDocument的路径(假设XSS示例不是服务器上的实际路径)。

恶意数据可以通过哪些其他方式进入这些变量?

我是否还有其他与PHP魔术常量相关的安全注意事项?

对于上下文,这是关于服务于静态PHP页面的Apache服务器,网站上没有其他用户输入(例如:表单,文件上传,cookie等)。

1 个答案:

答案 0 :(得分:-2)

没有安全隐患。这些常量来自服务器数据(即您的PHP文件路径)。那些不能由最终用户控制。