>백엔드 개발 >PHP 튜토리얼 >PHP_php 팁의 문자 보안 필터링 기능 사용 요약

PHP_php 팁의 문자 보안 필터링 기능 사용 요약

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-05-16 20:22:47988검색

WEB 개발 과정에서 전 세계 사용자가 입력한 데이터를 얻어야 하는 경우가 종종 있습니다. 그러나 우리는 "사용자가 입력한 데이터를 결코 신뢰할 수 없습니다." 따라서 다양한 웹 개발 언어에는 사용자가 입력한 데이터의 보안을 보장하기 위한 기능이 제공됩니다. PHP에는 SQL 주입 공격, XSS 공격 등과 같은 문제를 방지하는 데 도움이 되는 매우 유용하고 편리한 기능이 있습니다.

1.mysql_real_escape_string()

이 기능은 한때 PHP에서 SQL 삽입 공격을 방지하는 데 큰 도움이 되었습니다. 작은 따옴표, 큰 따옴표 등의 특수 문자에 "백슬래시"를 추가하여 사용자의 입력이 사용되도록 하기 전에는 이미 안전했습니다. 문의하다. 하지만 데이터베이스에 연결되어 있는 동안 이 기능을 사용하고 있다는 점에 유의해야 합니다.
그러나 이제 mysql_real_escape_string() 함수는 기본적으로 더 이상 필요하지 않습니다. 모든 새로운 애플리케이션 개발은 PDO와 같은 라이브러리를 사용하여 데이터베이스를 운영해야 합니다. 즉, SQL 주입 공격을 방지하기 위해 이미 만들어진 명령문을 사용할 수 있습니다.

2. 속눈썹 추가()

이 함수는 위의 mysql_real_escape_string()과 매우 유사합니다. 특수 문자에도 백슬래시를 추가하지만, php.ini 설정 파일의 Magic_quotes_gpc 값이 "on"인 경우에는 이 함수를 사용하지 않도록 주의하세요. Magic_quotes_gpc = on이면 모든 GET, POST 및 COOKIE 데이터에 대해 자동으로 addlashes()를 실행합니다. Magic_quotes_gpc에 의해 이스케이프된 문자열에는 addlashes()를 사용하지 마십시오. 이렇게 하면 이중 이스케이프가 발생하게 됩니다. 이 변수의 값은 PHP의 get_magic_quotes_gpc() 함수를 통해 확인할 수 있습니다.

3.htmlentities()

이 기능은 사용자 입력 데이터를 필터링하는 데 매우 유용하며 문자를 HTML 엔터티로 변환할 수 있습니다. 예를 들어, 사용자가 "<" 문자를 입력하면 이 함수에 의해 HTML 엔터티 "<"로 변환되므로(소스 코드를 볼 때 "<"가 표시됨) XSS 및 SQL 삽입이 방지됩니다. 인식할 수 없는 문자 집합은 무시되고 ISO-8859-1
으로 대체됩니다.

4.htmlspecialchars()

이 함수는 위와 매우 유사합니다. HTML의 일부 문자에는 특별한 의미가 있습니다. 이러한 의미를 반영하려면 해당 문자를 HTML 엔터티로 변환해야 합니다. 이 함수는 변환된 문자열을 반환합니다.

5.strip_tags()

이 함수는 문자열에서 모든 HTML, JavaScript 및 PHP 태그를 제거할 수 있습니다. 물론 함수의 두 번째 매개변수를 설정하여 일부 특정 태그 필터링을 무시할 수도 있습니다.

6. intval()

intval은 실제로 필터링 함수가 아닙니다. 해당 기능은 변수를 정수 유형으로 변환하는 것입니다. 이는 정수 매개변수를 가져와야 할 때 매우 유용합니다. 특히 ID 및 나이와 같은 정수 데이터를 구문 분석할 때 PHP 코드를 더욱 안전하게 만들 수 있습니다.

PHP에 내장된 문자열 필터링 기능은 매우 간단하고 실용적입니다. 친구들이 잘 활용했으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.