다음은 PHP에서 일반적으로 사용되는 이스케이프 기능과 보안 기능을 주로 소개합니다. 이러한 기능을 사용하면 SQL 삽입과 같은 가장 일반적인 공격 방법을 필터링할 수 있습니다. ('), ("), (), (NUL) 4개의 문자를 포함하여 의 특수 문자입니다. 이 함수는 DBMS에 자체 이스케이프 기능이 없을 때 사용되지만, DBMS에 자체 이스케이프 기능이 있는 경우에는 사용됩니다. 예를 들어 MySQL에는 SQL을 탈출하기 위한 mysql_real_escape_string 함수가 있습니다. PHP5.3 이전에는 Magic_quotes_gpc가 기본적으로 활성화되어 있으며 주로 $GET, $POST 및 $COOKIE에 대한 추가 작업을 수행합니다. 따라서 그렇지 않습니다. 이러한 변수에 대해 addlashes를 반복적으로 호출해야 합니다. 그렇지 않으면 이중 이스케이프가 발생합니다. 그러나 Magic_quotes_gpc는 PHP5.3에서 더 이상 사용되지 않으며 PHP5.4 최신 버전을 사용하는 경우 제거되었습니다. 이 문제는 걱정할 필요가 없습니다. addlashes의 이스케이프 기능입니다. 2. htmlspecialchars htmlspecialchars는 (&), ('), ( "), (). 성격.
html특수 문자를 사용하면 $GET, $POST, $COOKIE 데이터를 필터링하여 XSS를 방지할 수 있습니다. htmlspecialchars 함수는 보안 위험이 있는 것으로 간주되는 HTML 문자만 이스케이프 처리한다는 점에 유의하세요. HTML에서 이스케이프할 수 있는 모든 문자를 이스케이프하려면 htmlentities를 사용하세요. htmlspecialchars_decode는 htmlspecialchars의 디코드 기능입니다. 3.htmlentitieshtmlentities는 HTML의 이스케이프 가능한 콘텐츠를 HTML 엔터티로 이스케이프합니다. html_entity_decode는 htmlentities의 디코드 기능입니다. 4.mysql_real_escape_stringmysql_real_escape_string은 MySQL 라이브러리 함수 mysql_real_escape_string을 호출하여 (x00), (n), (r), (), ('), (x1a)를 이스케이프합니다. 즉, 앞에 백슬래시를 추가합니다(). SQL 주입을 방지하기 위해. 데이터베이스 데이터를 읽을 때 이스케이프 해제를 위해 스트립슬래시를 호출할 필요는 없습니다. 이러한 백슬래시는 데이터베이스가 SQL을 실행할 때 추가되고 데이터가 데이터베이스에 기록될 때 백슬래시가 제거되므로 데이터베이스에 기록된 내용이 은 원본 데이터이며 앞에 백슬래시가 없습니다. 5.strip_tagsstrip_tags는 NUL, HTML 및 PHP 태그를 필터링합니다. 6.stripslashes() 함수는 addlashes() 함수에 의해 추가된 백슬래시를 제거합니다. 7. 결론 PHP에 내장된 보안 기능은 XSS를 완전히 피할 수 없습니다. HTML Purifier추천 학습: "
PHP 비디오 튜토리얼
"
위 내용은 php mysql 이스케이프 함수란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!