웹사이트 방문 시 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이는 웹 서버가 사용자가 원하는 작업을 수행할 수 없도록 구성되었음을 의미합니다. 대부분의 경우 다음 중 하나입니다.

  • 스크립트에 서버에 대한 실행 권한이 없습니다(예: -rwxr-xr-x가 아닌 -rw-r--r--로 업로드하거나 -rwx------ 가능).
  • 스크립트가 디렉터리/파일 권한으로 인해 서버가 액세스할 수 없는 디렉터리에 있습니다.
  • 서버가 이 디렉터리의 파일에 대한 액세스를 허용하지 않도록 구성되었습니다. 이 경우 서버의 을 확인해야 합니다 httpd.conf.

편집 또 다른 잠재적인 이유가 있습니다

또 다른 이유는 서버가 전체 HTTP 헤더 세트가 필요할 수 있는 mod_security로 구성되었기 때문일 수 있습니다. 이는 스크립트 키디가 자주 사용하는 수많은 크랙/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'

관련 정보