PHP 보안 이메일

이전 섹션의 PHP 이메일 스크립트에는 취약점이 있습니다.

PHP 이메일 삽입

먼저 이전 장의 PHP 코드를 살펴보세요.

   php中文网(php.cn) 
Email:
Subject:
Message:

"; } ?>

위 코드의 문제점은 승인되지 않은 사용자가 입력 양식을 통해 이메일 헤더에 데이터를 삽입할 수 있다는 것입니다.

사용자가 이메일 양식의 입력란에 다음 텍스트를 추가하면 어떻게 되나요?

someone@example.com%0ACc:person2@example.com

%0ABcc:person3@example.com,person3@example.com,

anotherperson4 @example.com,person5@example.com

%0ABTo:person6@example.com

평소와 마찬가지로 mail() 함수는 위의 텍스트 이메일 헤더를 넣습니다. 을 클릭하면 이제 헤더에 추가 참조:, 숨은 참조: 및 받는 사람: 필드가 포함됩니다. 사용자가 제출 버튼을 클릭하면 이 이메일이 위의 모든 주소로 전송됩니다!

PHP의 이메일 주입 방지

이메일 주입을 방지하는 가장 좋은 방법은 입력 내용을 검증하는 것입니다.

다음 코드는 이전 장의 코드와 유사하지만 여기에는

   php中文网(php.cn) 
Email:
Subject:
Message:

"; } ?>

양식에서 이메일 필드를 감지하기 위한 입력 유효성 검사기를 추가했습니다. 위 코드에서는 다음을 사용합니다. 입력을 검증하는 PHP 필터:

FILTER_SANITIZE_EMAIL 필터는 문자열에서 이메일의 잘못된 문자를 제거합니다.

FILTER_VALIDATE_EMAIL 필터는 이메일 주소 값의 유효성을 검사합니다.

필터에 대한 자세한 내용은 다음에서 확인할 수 있습니다. 우리의 PHP 필터.


지속적인 학습
||
php中文网(php.cn)
Email:

Subject:

Message:

"; } ?>
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!