>백엔드 개발 >PHP 문제 >PHP 이스케이프 기능은 무엇입니까?

PHP 이스케이프 기능은 무엇입니까?

青灯夜游
青灯夜游원래의
2021-03-17 11:17:572303검색

php 이스케이프 함수에는 다음이 포함됩니다: 1. addlashes() 함수, 2. htmlentities() 함수, 4. mysql_real_escape_string() 함수,

PHP 이스케이프 기능은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

1.addslashes

addslashes는 ('), (“), (), (NUL) 4자입니다.

이 함수는 DBMS에 자체 이스케이프 기능이 없을 때 사용됩니다. 그러나 DBMS에 자체 이스케이프 기능이 있는 경우에는 원래 기능을 사용하는 것이 좋습니다. 예를 들어 MySQL에는 SQL을 이스케이프하는 기능이 있습니다.

PHP5.3 이전에는 Magic_quotes_gpc가 기본적으로 활성화되어 있었으며 주로 $GET, $POST, $COOKIE에 대해 addlashes 작업을 수행하므로 이러한 변수에 대해 addlashes를 반복적으로 호출할 필요가 없습니다. 그렇지 않으면 두 배가 됩니다. 탈출.

그러나 Magic_quotes_gpc는 PHP5.3에서 폐기되었으며 PHP5.4부터 제거되었습니다. 최신 버전의 PHP를 사용하는 경우 이 문제에 대해 걱정할 필요가 없습니다. Stripslashes는 addlashes의 이스케이프 해제 기능입니다.

2. htmlspecialchars

htmlspecialchars는 HTML의 여러 특수 문자를 HTML로 이스케이프합니다. (&), ('), ("), (<), (>) 5자를 포함한 엔터티(형식: &xxxx;) 형식.

& (AND) => &
" (큰따옴표 ) => " (ENT_NOQUOTES가 설정되지 않은 경우)
' (작은따옴표) => (ENT_QUOTES가 설정된 경우)
<(작음) =>(작음) =>
html특수 문자를 사용하면 $GET, $POST, $COOKIE 데이터를 필터링하여 XSS를 방지할 수 있습니다. htmlspecialchars 함수는 보안 위험이 있는 것으로 간주되는 HTML 문자만 이스케이프 처리한다는 점에 유의하세요. HTML에서 이스케이프할 수 있는 모든 문자를 이스케이프하려면 htmlentities를 사용하세요. htmlspecialchars_decode는 htmlspecialchars의 디코드 기능입니다.

3.htmlentities

htmlentities는 HTML에서 탈출 가능한 콘텐츠를 HTML로 이스케이프합니다. 실재. html_entity_decode는 htmlentities의 디코드 기능입니다.

4. mysql_real_escape_string

mysql_real_escape_string은 MySQL 라이브러리 함수 mysql_real_escape_string을 호출합니다. 오른쪽(x00), (n), (r), (), ('), (x1a)를 사용하여 이스케이프합니다. 즉, SQL 삽입을 방지하려면 앞에 백슬래시()를 추가합니다. 데이터베이스 데이터를 읽을 때 이스케이프 해제를 위해 스트립슬래시를 호출할 필요는 없습니다. 이러한 백슬래시는 데이터베이스가 SQL을 실행할 때 추가되고 데이터가 데이터베이스에 기록될 때 백슬래시가 제거되므로 데이터베이스에 기록된 내용이 은 원본 데이터이며 앞에 백슬래시가 없습니다.

5.strip_tags

strip_tags는 NUL, HTML 및 PHP 태그를 필터링합니다.

추천 학습: "

PHP 비디오 튜토리얼"

위 내용은 PHP 이스케이프 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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