访问某个网站时出现 403 http 代码

访问某个网站时出现 403 http 代码

我使用家用计算机向特定站点编写了 PHP 脚本进行调试。当我在家用计算机上测试它时,脚本运行正常。当我在服务器(CentOS)上部署脚本时,该脚本已停止工作。

我认为我在编写脚本时犯了一个错误,并创建了这个问题

马川建议网站管理封锁服务器IP。我写信给管理员,他们说他们不会封锁IP。

我的问题是我无法使用服务器访问该网站。我尝试了几种工具来获取网站的 html。

  1. 我尝试过使用浏览器。我部署在我的服务器上这个脚本并以真实用户的身份访问该网站。当我使用浏览器访问该网站时,出现错误(http 代码 403)。

  2. 我已经curl从命令行尝试过。

    server:~# curl http://4pda.ru/
    <html>
    <head><title>403 Forbidden</title></head>
    <body bgcolor="white">
    <center><h1>403 Forbidden</h1></center>
    <hr><center>nginx</center>
    </body>
    </html>
    
  3. 我尝试了该实用程序wget

    server:~# wget  http://4pda.ru --quiet -O -
    server:~#
    

我现在不知道该怎么办。我欢迎任何建议。

答案1

403 forbidden意味着网络服务器被配置为不允许您执行您想要执行的操作。在大多数情况下,它是以下任一情况:

  • 该脚本在服务器上没有执行权限(即使用 -rw-r--r-- 上传,而不是 -rwxr-xr-x,或者可能是 -rwx------
  • 由于目录/文件权限,该脚本位于服务器无权访问的目录中
  • 服务器配置为不允许访问该目录中的文件(在这种情况下,您需要查看服务器的httpd.conf

编辑还有另一个潜在原因

另一个原因可能是服务器配置了 mod_security,这可能需要完整的 HTTP 标头集。这是针对脚本小子经常使用的大量破解/DOS 攻击的保护措施。如果是这种情况,请确保您的脚本发送 HTTP 标头

User-Agent: A suitable name for your script

如果这没有帮助,您需要向服务器管理员询问导致脚本失败的站点,并询问他们的 HTTP 日志内容。

答案2

使用所需的 URL 尝试此操作(我以 google 为例):

wget --header="User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/600.1.17 (KHTML, like Gecko) Version/8.0 Safari/600.1.17" 'https://www.google.es'

相关内容