>백엔드 개발 >PHP 문제 >PHP의 어떤 기능이 SQL 주입을 방지할 수 있나요?

PHP의 어떤 기능이 SQL 주입을 방지할 수 있나요?

(*-*)浩
(*-*)浩원래의
2019-09-27 10:27:363370검색

PHP의 어떤 기능이 SQL 주입을 방지할 수 있나요?

사용자가 로그인 중에 입력하는 내용을 믿지 마세요. 사용자의 입력을 처리해야 합니다.

SQL 주입: (권장 학습: PHP 프로그래밍 입문부터 숙련도까지)

' or 1=1 #

SQL 방지 삽입된 여러 함수:

addslashes($string): 백슬래시를 사용하여 문자열 ' "의 특수 문자를 인용합니다.

$username=addslashes($username);

mysql_escape_string($string): 백슬래시를 사용하여 문자열을 이스케이프합니다. mysql_query() 쿼리용 특수 문자

$username=mysql_escape_string($username);

mysql_real_escape_string($string): SQL 문에 사용된 문자열의 특수 문자를 이스케이프하고 연결의 현재 문자 집합을 고려하여 현재 연결이 올바른지 확인해야 합니다. 이 함수는 다음 경우에만 사용할 수 있습니다. 상태가 유효하지 않으면 경고가 보고됩니다. % 및 _

$username=mysql_real_escape_string($username);

를 사용하지 마세요. 예:

<?php
 $clean = array();
$mysql = array();

$clean[&#39;last_name&#39;] = "O&#39;Reilly";
$mysql[&#39;last_name&#39;] = mysql_real_escape_string($clean[&#39;last_name&#39;]);

$sql = "INSERT
      INTO   user (last_name)
      VALUES (&#39;{$mysql[&#39;last_name&#39;]}&#39;)";
 ?>
.

위 내용은 PHP의 어떤 기능이 SQL 주입을 방지할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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