>  기사  >  백엔드 개발  >  PHP는 SQL 주입을 방지합니다.

PHP는 SQL 주입을 방지합니다.

巴扎黑
巴扎黑원래의
2016-11-22 15:43:591058검색

일반적인 인젝션 방지를 위해서는 PHP의 addlashes 기능을 사용하면 됩니다.

PHP 코드

$_POST = sql_injection($_POST);

$_GET = sql_injection($_GET); function sql_injection($content) { 

if (!get_magic_quotes_gpc()) { 

if (is_array($content)) { 

foreach ( $content as $key= >$value) {

$content[$key] = addlashes($value)

} } else {

addlashes($content);

} }

}

$content 반환 🎜>

Php 코드                                        | |outfile', $sql_str); // 필터 🎜>PHP 코드                                                                                                                매개변수 제출! ') } // 비어 있는지 여부 판단

elseif (inject_check($id)) { exit(' 제출된 매개변수가 불법입니다!') } // 주입 판단

elseif (!is_numeric($id)) { exit('제출된 매개변수가 불법입니다! '); } // 수치 판단                                                                                                                                    🎜>

PHP 코드 

/**

* 함수명 : inject_check()

* 함수 : 제출된 값에 SQL 주입 문자 포함 여부 감지, 주입 방지, 서버 보안 보호

* 매개변수: $sql_str : 제출된 변수

* 반환값 : 탐지 결과를 true 또는 false로 반환

*/                    | 아니다.

$str = str_replace("_", "_", $str); // '_' 필터링

$str = str_replace("%", "%", $str) ; // '%' 필터링                                        🎝>*/ 

function post_check($post) { 

if (!get_magic_quotes_gpc()) { // Magic_quotes_gpc가 켜져 있는지 확인 

$post = addlashes($ post); // Magic_quotes_gpc가 켜지지 않은 경우 제출된 데이터를 필터링합니다.                                       _'필터링                                                                                         // 변환 입력

$post = htmlspecialchars($post); // HTML 태그 변환

$post 반환

}

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