2014-05-10 3 views
1

필자는 웹 사이트에 문의 양식을 가지고 있으며 페이지 이름은 작성 후 PHP 파일 (contact.php)로 이동하는 (contactus.php)입니다. 둘 다 동일한 도메인에서 동일한 서버를 의미합니다. 이제 누군가 내 (contactus.php) 페이지 외부에서 내 연락처 양식을 작성하므로 스팸 메일이 너무 많이 접수됩니다. 이제 검색 후, 나는 그를 잡았고 그의 코드도 얻었다. 그는 코드 아래에 뭔가를 사용하고 있습니다.어떻게 외부 도메인에 의해 명중되는 PHP 파일을 멈추는가?

<form name="myform" id="myform" method="post" action="http://www.mydomain.com/contact.php"> 
<input type="text" ... 
<input type="email" ... 
<textarea type="text" ... 
<input type="submit" ... 
</form> 

이제 (contactus.php)처럼 내 내 도메인에서만 얻을 입력 데이터로 제한 (contact.php) 의미 페이지를 만들 수있는 방법은 무엇입니까?

+0

양식이 작업에 의미 :

이 가야 당신은 기초에서 시작했다. 정확하게 링크와 비슷합니다. "외부 도메인에서 내 사이트에 사람들이 연결되는 것을 어떻게 막을 수 있습니까?"와 같은 질문을 할 수 있습니까? – fdreger

+0

@AmalMurali 내 도메인에서 무제한 히트하고 싶지만 다른 도메인에서는 무제한으로하고 싶습니다 ... –

+0

@fdreger 나는 내 도메인 밖에있는 하나의 파일을 치는 것을 멈추려 고합니다. 나머지는 괜찮습니다. –

답변

1

이것은 CSR (Cross-Site Request Forgery) 공격 (CSRF 또는 XSRF) 공격으로부터 자신을 보호하는 것과 유사하게 완화 될 수 있습니다.
http://blog.codinghorror.com/preventing-csrf-and-xsrf-attacks/

당신이 어떤 종류의 잘 확립 된 프레임 워크를 사용하는 경우는, 내장 보호를 기계 장치가 있어야한다

+0

이것은 CSRF가 아닙니다. CSRF는 의도하지 않은 요청에 관한 것이지만 스팸은 상당히 의도적입니다. – Gumbo

+0

@ 검보, 나는 정중하게 동의하지 않는다; 이것은 대단히 CSRF입니다. 요청자의 의도는 부적절합니다. 요청을 원하는지 여부를 정의하는 사이트 소유자입니다. 모든 외부 POST 요청은 * 의도하지 않은 것으로 간주되어야합니다 (사이트에서 자신의 양식을이 방법으로 사용하려는 의도가 아니었던 것처럼). OWASP는 CSRF를 * "CSRF는 최종 사용자가 현재 인증 된 웹 응용 프로그램에서 원치 않는 작업을 실행하도록하는 공격입니다."* –

+0

CSRF에서 요청자의 의도가 어떻게 관련이 없습니까? 그것은 CSRF로서 결함을 선언하는 데 관련된 유일한 측면입니다. [CWE의 CSRF 정의] (http://cwe.mitre.org/data/definitions/352.html)는 다음과 같습니다. "웹 응용 프로그램은 올바른 형식의 유효한 웹 응용 프로그램인지 여부를 충분히 검증하지 못했거나 검증 할 수 없습니다. 요청을 제출 한 사용자가 의도적으로 일관된 요청을 제공했습니다. * "스패머는 의도적으로 스팸 요청을 보내므로 정의에 따라 CSRF가 아닙니다. CSRF로부터 보호하는 기술은 또한 스팸을 완화하는 데 도움이 될 수 있지만 이는 분명 CSRF가 아닙니다. – Gumbo