ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

哪些PHP函数受allow_url_fopen影响?

2019-11-08 06:33:36  阅读:236  来源: 互联网

标签:php-internals php


PHP中,allow_url_fopen标志控制是否可以将远程URL设置为used by various file system functions,以便访问远程文件.

建议现在使用安全最佳实践来禁用此选项,因为它是潜在的攻击媒介.但是,如果禁用此设置,则依赖此功能才能工作的任何代码都将被破坏.例如,我知道至少有一个reCaptcha插件,该插件使用file_get_contents()来访问Google API,因此依赖于此标志.

为了检查应用程序中的代码以确定禁用此标志是否安全(必要时进行重写),我需要一个受其影响的PHP函数的规范列表.但是,我一直找不到这样的列表-PHP网站上似乎没有这个列表,而且Google搜索没有发现任何内容.

>谁能提供其行为受allow_url_fopen影响的所有PHP函数的列表?

接受的答案应参考权威来源或提供有关用于编制清单的方法的详细信息,以证明清单的正确性和完整性.

解决方法:

函数列表非常庞大,因为allow_url_fopen ini指令是在PHP的流系统中实现的,这意味着使用PHP网络流的任何内容都会受到影响.

这几乎包括PHP的每个扩展中的功能,这些扩展不使用外部库来访问远程文件.正如cURL这样的扩展,在PHP之外还使用了自己的传输层.

众所周知,某些扩展名ext / soap确实以某种方式绕过了该指令(出于什么原因,我不完全知道,因为我不熟悉此扩展名的内部).

标准库中的任何函数(在以下位置实现:main /,Zend /,ext / standard,ext / spl),意味着每个文件系统,流,包含和URL包装器均遵循此指令.从我的头顶上,我还知道ext / exif是这样做的.

我不记得我是否基于XML的扩展(例如ext / libxml,ext / simplexml,ext / xmlreader,ext / xmlwriter,ext / dom)做到了这一点,但是我敢肯定,越过了他们不尊重它的地方,因为路径直接提供给了下面的LibXML2.

标签:php-internals,php
来源: https://codeday.me/bug/20191108/2006053.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有