중화사전망 - 서예자전 - Php 에서 SQL 주입을 방지하는 방법

Php 에서 SQL 주입을 방지하는 방법

PHP 의 SQL 주입 예방은 비교적 저급한 문제이다. 사실, 이 문제는 지난 학기에 첫 번째 개인 블로그를 할 때 이미 주목했지만, PHP 주입 방지 방법에 대해 간단히 말해 보자.

PDO 를 사용하여 주사를 방지하다.

이것은 가장 간단하고 직접적인 방법이다. 물론 이전 버전의 PHP 는 일반적으로 PDO 를 지원하지 않으므로 다른 방법으로만 작동할 수 있습니다.

이스케이프 함수를 사용하여 잘못된 문자를 필터링합니다.

Escape 는 슬래시와 같은 잘못된 문자를 이스케이프하고 SQL 주입을 방지합니다. 이 방법은 간단하고 난폭하지만 사용하는 것은 추천하지 않는다.

자신의 필터링 기능을 손으로 쓰고, PHP SQL 불법 매개 변수 필터링 기능을 손으로 쓰는 것은 비교적 간단하지만, 당신의 기능은 매우 튼튼해야 하기 때문에 여전히 불법 해커의 공격을 받을 수 있습니다. 너의 코딩 수준은 너의 함수의 견고성을 직접적으로 결정한다.

실제로 다양한 프레임워크가 잘못된 문자 필터링을 지원합니다. 가장 간단한 것, 예를 들면 ThinkPHP 는 직접 주입을 막을 수 있다.

PHP 확장을 작성하여 들어오는 매개변수를 선택적으로 필터링합니다. PHP 확장 개발은 PHP 고급 프로그래머의 기본 기술입니다. 필요한 함수를 PHP 확장에 포장하여 검은 글자를 필터링하는 것처럼 검사하는 것이 매우 편리하다. 일반적으로 자체 프레임 라우터 전달을 작성할 때 사용합니다. 확장을 사용하여 프레임 라우터 전달을 구현하는 경우 PHP 확장에 매개 변수 필터링을 추가하고 C 를 통해 구현할 수 있습니다.

사실 현재의 반주사 기술은 이미 성숙했다. 한 사이트가 관심을 가져야 할 것은 반주입이 아니라, 대규모와 높은 동시성을 어떻게 처리하느냐, 혹은 다른 각종 허점에 관한 것이다. 예를 들어, 전 세계 웹 사이트의 80% 가 redis 를 사용하고 있으며 redis 취약점을 통해 시스템에 직접 액세스할 수 있습니다. 일반적으로 광산 로봇을 직접 제공합니다.