2016-07-17 2 views
-1

저는 더 많은 PHP를 배우는 중입니다. 나는 전에 PHP를 실제로 해본 적이 없으며, 문의 양식에 대한 기본 이메일만으로 충분합니다. 과거에 그러한 양식을 만들었을 때 나는 가끔 그 스크립트를 통해 스팸 이메일이 왔을 때가있었습니다. 전자 메일과 콘텐츠의 빈도에서 웹 사이트를 방문하거나 양식을 통해 스팸하는 사람이 아니라 오히려 PHP 파일의 URL을 알고 어떤 방식 으로든이를 통해 데이터를 제출한다는 사실이 매우 분명합니다. ; 이런 일이 일어나지 않도록하는 가장 좋은 방법은 무엇입니까?PHP 스크립트의 기본 보호

+0

[CAPTCHA] (https://en.wikipedia.org/wiki/CAPTCHA) !? – axiac

+0

'csrf protection'에 대해서도 읽으십시오 [read this] (http://devgrow.com/simple-php-honey-pot/) (숨겨진 필드를 꿀 트랩으로 사용하여 봇을 식별 할 수 있습니다) –

+0

captcha를 사용하지만 가끔은 Csrf (Cross Site Foreign Request)를 방지하기 위해 Csrf 토큰을 더 잘 사용하십시오. –

답변

2

PHP의 초기 단계 (또는 프로그래밍 전반)에서 CSS를 사용하여 숨기거나 화면에서 벗어나는 입력 양식을 만드는 것이 좋습니다.

실제 사용자가이 정보를 입력하지 않아도되지만 봇이 사용자 페이지로 이동하여 양식을 제출하면 일부 가비지 데이터로 채울 수 있습니다.

제출을 처리하는 PHP 코드에서이 필드가 제출되었는지 여부를 확인하기 만하면됩니다. 그런 다음 실제 사람이 아님을 알고 있다면 제출 내용을 삭제하고 전자 메일을 보내지 마십시오.

참고 : 실제로 프로덕션 용도로 사용하지 않는 작은 프로젝트 나 학습 목적으로 위의 접근 방식을 권장합니다. 좀 더 견고한 솔루션이 필요하다면, 캡차 (capcha) 솔루션이나 폼에 수표의 csrf 유형을 추가하는 자바 스크립트를 살펴보십시오.