解决办法首先要启用php.ini中的allow_url_fopen,allow_url_fopen=On
我们部署的系统中php.ini默认是开启allow_url_fopen的,故怀疑是客户新部署了防火墙,规则中会过滤掉没有user_agent的访问。
想用完美的解决还差一步,还得设置php.ini里面的user_agent,php默认的user_agent是PHP,我们把它改成Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)来模拟浏览器就可以了 user_agent=”Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”
设置完毕后把apache reload了一下,手动触发,问题解决。
使用
file
get
contents
获取网站信息报错
failed
to open stream:
HTTP
request
failed
!
当使用php5自带的
file
get
contents
方法来获取远程文件的时候,有时候会出现
file
get
contents
():
failed
to open stream:
HTTP
request
failed
!这个警告信息。
google或者baidu...
可行的处理方案。1、修改虚拟目录的名称,然后指到程序路径是可以的(验证)。2、重装IIS是可以的(网上说的由于1步已经成功就没有验证了,没有验证)。不可行的方案:1、重启电脑。2、删除缓存。3、重新继承权限
改php.ini 的 allow_url_fopen = On
php.ini 的 user_agent=”PHP”(表示通过哪种脚本访问网络)改成 user_agent=”Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)” 表示模拟 浏览器访问
但是发...
报错:
failed
to open stream:
HTTP
request
failed
!
HTTP
/
1.1
403
Forbidden在php.ini中,有这样两个选项:allow_url_fopen =on(表示可以通过url打开远程文件),user_agent="PHP"(表示通过哪种脚本访问网络,默认前面有个 " ; " 去掉即可。),设置php.ini里面的user_agent,php...
完美解决
file
_get_
contents
引起的
failed
to open stream:
HTTP
request
failed
!
ini_set('user_agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36');
$data_content =
file
_get_
contents
( $url );
我们可以创建一个HTML或PHP文件作为自定义
错误
页面,并将其命名为"
403
.html"或"
403
.php"(根据服务器配置而定)。在
错误
页面中,我们可以提供相关的
错误
信息和解决方法,以帮助用户理解并解决
403
Forbidden
错误
。
查看/var/log/nginx/error.log日志显示:
2017/09/05 09:32:26 [crit] 2406#0: *1 connect() to 192.168.14.158:8010
failed
(13: Permission denied) while connec
When you want to use
file
_get_
contents
($url), some website may forbid your action like this .
The way to solve is: add user agent
ini_set('user_agent', 'Mozilla/5.0'); // slove the
HTTP
request
fa
拿到客户给的地址后,首先进行信息收集。端口信息收集,利用nmap进行全端口探测,发现除了80端口之外,还开放了一个web服务的8001端口,我们尝试使用8001端口访问(
http
s://xxx.xxxx.com:8001),总是充满惊喜。可直接绕过IP限制进行访问。怕是这个运维要挨锤了,立马把这个问题,反馈给客户。
http
s://iamadmixxx.xxx.xxx:8001/auth/login通过沟通,由于疏忽未下线8001端口,客户貌似认为这个很简单,关闭8001端口,下线业务后,让我们继续尝试后台能