백엔드 개발 PHP 문제 php mysql 이스케이프 함수란 무엇입니까?

php mysql 이스케이프 함수란 무엇입니까?

Sep 16, 2021 am 09:53 AM
mysql php

php mysql 이스케이프 함수에는 다음이 포함됩니다. 1. addlashes 함수, 2. htmlspecialchars 함수, 4. mysql_real_escape_string 함수 등

php mysql 이스케이프 함수란 무엇입니까?

이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, Dell G3 컴퓨터

php mysql 이스케이프 기능은 무엇입니까? 도구를 사용할 때 POST sql 문을 쿼리 데이터에 제출할 때 백엔드에서 < 또는 >가 포함된 SQL 문을 수신하면 구문 오류가 보고됩니다.

하지만 제출된 명세서를 출력하면 문제 없습니다. 생각해 보세요. 인코딩 또는 이스케이프 문제일 것입니다.

$sqlQuery = html_entity_decode($_POST["content"]);
$sqlQuery = stripslashes($sqlQuery);[object Object]
로그인 후 복사
다음은 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는 (&), ('), ( "), (). 성격.

& (AND) => &
” (双引号) => " (当ENT_NOQUOTES没有设置的时候)
‘ (单引号) => &#39; (当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_tagsstrip_tags는 NUL, HTML 및 PHP 태그를 필터링합니다.

6.stripslashes()

함수는 addlashes() 함수에 의해 추가된 백슬래시를 제거합니다.

7. 결론 PHP에 내장된 보안 기능은 XSS를 완전히 피할 수 없습니다. HTML Purifier

추천 학습: "

PHP 비디오 튜토리얼

"

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

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP의 미래 : 적응 및 혁신 PHP의 미래 : 적응 및 혁신 Apr 11, 2025 am 12:01 AM

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.

PHP vs. Python : 차이점 이해 PHP vs. Python : 차이점 이해 Apr 11, 2025 am 12:15 AM

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

phpmyadmin을 여는 방법 phpmyadmin을 여는 방법 Apr 10, 2025 pm 10:51 PM

다음 단계를 통해 phpmyadmin을 열 수 있습니다. 1. 웹 사이트 제어판에 로그인; 2. phpmyadmin 아이콘을 찾고 클릭하십시오. 3. MySQL 자격 증명을 입력하십시오. 4. "로그인"을 클릭하십시오.

MySQL 및 SQL : 개발자를위한 필수 기술 MySQL 및 SQL : 개발자를위한 필수 기술 Apr 10, 2025 am 09:30 AM

MySQL 및 SQL은 개발자에게 필수적인 기술입니다. 1.MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템이며 SQL은 데이터베이스를 관리하고 작동하는 데 사용되는 표준 언어입니다. 2.MYSQL은 효율적인 데이터 저장 및 검색 기능을 통해 여러 스토리지 엔진을 지원하며 SQL은 간단한 문을 통해 복잡한 데이터 작업을 완료합니다. 3. 사용의 예에는 기본 쿼리 및 조건 별 필터링 및 정렬과 같은 고급 쿼리가 포함됩니다. 4. 일반적인 오류에는 구문 오류 및 성능 문제가 포함되며 SQL 문을 확인하고 설명 명령을 사용하여 최적화 할 수 있습니다. 5. 성능 최적화 기술에는 인덱스 사용, 전체 테이블 스캔 피하기, 조인 작업 최적화 및 코드 가독성 향상이 포함됩니다.

MySQL : 쉽게 학습하기위한 간단한 개념 MySQL : 쉽게 학습하기위한 간단한 개념 Apr 10, 2025 am 09:29 AM

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) 데이터베이스 및 테이블 작성 : CreateAbase 및 CreateTable 명령을 사용하십시오. 2) 기본 작업 : 삽입, 업데이트, 삭제 및 선택. 3) 고급 운영 : 가입, 하위 쿼리 및 거래 처리. 4) 디버깅 기술 : 확인, 데이터 유형 및 권한을 확인하십시오. 5) 최적화 제안 : 인덱스 사용, 선택을 피하고 거래를 사용하십시오.

PHP : 죽어 가거나 단순히 적응하고 있습니까? PHP : 죽어 가거나 단순히 적응하고 있습니까? Apr 11, 2025 am 12:13 AM

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

SQL 데이터베이스 오류를 보는 방법 SQL 데이터베이스 오류를 보는 방법 Apr 10, 2025 pm 12:09 PM

SQL 데이터베이스 오류를 보는 방법은 다음과 같습니다. 1. 오류 메시지보기 직접; 2. 표시 오류 및 경고 명령을 사용하십시오. 3. 오류 로그에 액세스; 4. 오류 코드를 사용하여 오류의 원인을 찾으십시오. 5. 데이터베이스 연결 및 쿼리 구문을 확인하십시오. 6. 디버깅 도구를 사용하십시오.

phpmyadmin 연결 MySQL phpmyadmin 연결 MySQL Apr 10, 2025 pm 10:57 PM

phpmyadmin을 사용하여 MySQL에 연결하는 방법? phpmyadmin에 액세스하기위한 URL은 일반적으로 http : // localhost/phpmyadmin 또는 http : // [서버 IP 주소]/phpmyadmin입니다. MySQL 사용자 이름 및 비밀번호를 입력하십시오. 연결하려는 데이터베이스를 선택하십시오. "연결"버튼을 클릭하여 연결을 설정하십시오.

See all articles