iam은 사이트에서 내 PHP 페이지 중 하나에 요청을 보내기 위해 아약스를 사용하지만 ... 내 html 페이지에서이 작업을 수행합니다. 이것은 안전합니다 ....ajax 요청을 원격으로 보내는 보안 문제가 있습니까?
다른 사람들이 내 PHP 페이지를 알고 스크립트에서 해당 페이지로 아약스 요청을 보내면 어떻게 될까요? 이로 인해 보안 문제가 발생할 수 있습니다.
어떻게 피할 수 있습니까?
iam은 사이트에서 내 PHP 페이지 중 하나에 요청을 보내기 위해 아약스를 사용하지만 ... 내 html 페이지에서이 작업을 수행합니다. 이것은 안전합니다 ....ajax 요청을 원격으로 보내는 보안 문제가 있습니까?
다른 사람들이 내 PHP 페이지를 알고 스크립트에서 해당 페이지로 아약스 요청을 보내면 어떻게 될까요? 이로 인해 보안 문제가 발생할 수 있습니다.
어떻게 피할 수 있습니까?
당신은 CSRF attacks을 방어하려고합니다.
페이지에 nonce를 포함시킨 다음 모든 AJAX 요청에 해당 nonce가 있어야합니다.
공격자가 다른 도메인에 있기 때문에, 그는 넌스를 얻을 방법이 없습니다.
그는 CSRF에 관해 알고 있습니까? 또는 그가 PHP 수신기에 가짜 데이터를 보내는 봇에 대해 이야기 할 수 있습니까? +1하지만 – RobertPitt
@ 로버트 : 확실하지 않습니다. 나는 그에게 명확히 해달라고 부탁했다. – SLaks
+1, 봇 문제는 실제로이 문제도 해결할 수 있습니다. 앱이 javascript에서 최종 nonce를 생성하도록 만들면 자바 스크립트를 구문 분석하지 않으므로 대부분의 봇은이를 처리 할 수 없습니다. 그러나 이것은 당연히 우회 될 수 있기 때문에 독자적으로 사용해서는 안되며 특정 응용 프로그램에서 사용하는 것이 좋습니다. –
페이지에 AJAX 요청을 보낼 수있는 유일한 방법은 동일한 도메인에있는 경우 (즉, 해당 스크립트가 도메인에서 호스팅되어야하는 경우)입니다.
AJAX는 교차 도메인에서 작동하지 않으므로 매우 안전합니다.
그렇지만 대부분의 다른 언어는 다음과 같이 할 수 있습니다 :/ – RobertPitt
글쎄, 나는 단지'file_get_contents ("http : //his.url")'을 할 수 있었지만 나는 이것이 AJAX 질문이라고 생각했다. – xil3
php (http://php.net/manual/fr/function.file-get-contents.php)를 사용하여 다른 서버의 페이지를 쉽게 요청할 수 있습니다. 그런 다음 리버스 엔지니어링을 조금 해보면 각 url 매개 변수에 어떤 유형의 데이터가 있는지 알 수 있습니다. 이렇게하면 PHP 페이지에서 제공 할 수있는 모든 것을 가져올 수 있습니다. (나는 단지 결함/악용을 지적하고있다. 그런 종류의 vunerability를 피하기 위해 아약스를하는 올바른 방법을 모른다.) –
이 작업을 막을 수있는 방법은 거의 없으며,이를 방지하는 데 도움이되는 유일한 방법은 올바른 응용 프로그램 아키텍처를 사용하는 것입니다.
예를 들어, 다음과 같은 규칙이 도움이 될 것입니다. 당신이이 규칙을 따라야합니다 다음 쓰기 Ajax를 사용하는 경우
session_start
다음은 당신의 방법에 당신을 얻을해야합니다 몇 가지 포인터 호출하기 전에 session_regenerate_id()
를 사용 항상 다음 2 가지 규칙을 기억하십시오.
공격자가 무엇을 할까 두려워합니까? – SLaks
그는 내 소스 코드를 볼 수 있을지 모르기 때문에 아약스 요청을 보내는 곳과 그 페이지로 전달되는 매개 변수를 알 수 있습니다. 이제 GET 또는 POST를 통해 내 페이지에 매개 변수를 전달하고 INSERT, UPDATE, DELETE와 같은 잘못된 연산을 수행 할 수 있습니다. –