添加 IP 限制后,我收到 get_file_contents 的“403 错误”
After adding IP restriction I get a '403 error' for get_file_contents
我有以下代码来确定图像是否为 SVG,如果是则显示源(然后可以使用 CSS 为 SVG 着色):
if (strpos('url_to_an_image', '.svg') !== false) {
echo file_get_contents('url_to_an_image');
} else {
echo '<img src="url_to_an_image" />';
}
这工作正常,直到我在 htaccess 中添加 IP 限制时出现以下错误:
file_get_contents(http://example.com/images/icons/icon-email.svg): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
我已经尝试过建议欺骗真实浏览器请求的解决方案;他们不工作。
是否有其他解决方案,或者我可以用来显示 SVG 的其他方法?
您收到 403 错误是因为 php 似乎没有打开此文件的权限。阻止 IP 的确切代码是什么?
当它在您自己的服务器上时,不要使用 URL,只需使用绝对路径即可。
我遇到了同样的问题,终于知道发生了什么事。我的 VPS 供应商在输入大量 "allow from" IP 地址后在 .htaccess 中输入 "deny from all"。
他们这样做是因为网站遭到了 bonet 攻击。
我有以下代码来确定图像是否为 SVG,如果是则显示源(然后可以使用 CSS 为 SVG 着色):
if (strpos('url_to_an_image', '.svg') !== false) {
echo file_get_contents('url_to_an_image');
} else {
echo '<img src="url_to_an_image" />';
}
这工作正常,直到我在 htaccess 中添加 IP 限制时出现以下错误:
file_get_contents(http://example.com/images/icons/icon-email.svg): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
我已经尝试过建议欺骗真实浏览器请求的解决方案;他们不工作。
是否有其他解决方案,或者我可以用来显示 SVG 的其他方法?
您收到 403 错误是因为 php 似乎没有打开此文件的权限。阻止 IP 的确切代码是什么? 当它在您自己的服务器上时,不要使用 URL,只需使用绝对路径即可。
我遇到了同样的问题,终于知道发生了什么事。我的 VPS 供应商在输入大量 "allow from" IP 地址后在 .htaccess 中输入 "deny from all"。
他们这样做是因为网站遭到了 bonet 攻击。