>  기사  >  백엔드 개발  >  PHP는 addlashes 함수를 사용하여 SQL 주입 방지 예제 설명을 구현합니다.

PHP는 addlashes 함수를 사용하여 SQL 주입 방지 예제 설명을 구현합니다.

怪我咯
怪我咯원래의
2017-05-22 12:00:264144검색

addlashes() 함수는 입력 문자열에서 미리 정의된 특정 문자 앞에 백슬래시를 추가한다는 것을 알고 있습니다. 그렇다면 이것이 안티 SQL 주입과 어떤 관련이 있습니까? SQL 인젝션이란?

SQL 인젝션 공격은 해커가 웹사이트를 공격하기 위해 사용하는 가장 일반적인 방법입니다. 귀하의 사이트가 엄격한 사용자 입력 유효성 검사를 사용하지 않는 경우 SQL 주입 공격에 취약한 경우가 많습니다. SQL 주입 공격은 일반적으로 사이트 데이터베이스에 잘못된 데이터나 쿼리문

을 제출하여 구현되며, 이로 인해 데이터베이스의 기록이 노출, 변경 또는 삭제될 수 있습니다. 이 글은주로php가 addlashes 함수를 사용하여 SQL 방지 주입 예제를 구현하는 방법을소개합니다

SQL 주입을 방지하기 위해 addlashes 함수를 사용하는 예를 설명합니다.

'a..z' 매개변수는 이스케이프할 모든 대문자와 소문자를 구분하며, 코드는 다음과 같습니다.

echo addcslashes('foo[ ]','a..z'); //输出:foo[ ] 
$str="is your name o'reilly?"; //定义字符串,其中包括需要转义的字符 
echo addslashes($str);  //输出经过转义的字符串

정의 및 사용법:

addslashes() 함수는 지정된 사전 정의 문자 앞에 백슬래시를 추가합니다.

미리 정의된 문자는 작은따옴표('), 큰따옴표(")입니다. , 백슬래시 Slash(),null

구문:

addslashes(string)

물론 이 함수는 더 안전합니다. 예제 코드는 다음과 같습니다.

$str="<a href=&#39;test&#39;>test</a>"; //定义包含特殊字符的字符串 
$new=htmlspecialchars($str,ent_quotes);  //进行转换操作 
echo $new;           //输出转换结果 
//不过输出时要用到 
$str="jane & &#39;tarzan&#39;";  //定义html字符串 
echo html_entity_decode($str);   //输出转换后的内容 
echo "<br/>"; 
echo html_entity_decode($str,ent_quotes); //有可选参数输出的内容
이 문서에는 PHP에 대한 좋은 팁이 있습니다. 보안 프로그래밍 참고 값. 그러나 SQL 삽입 해커를 방지하기 위해 addlash를 사용하는 것을 우회하는 방법이 있지만 이는 그다지 안전하지 않습니다.

많은 PHP 프로그래머는 여전히 SQL 삽입을 방지하기 위해 addlash를 사용합니다

Enter, 중국어에서 SQL 주입을 방지하기 위해 검사를 강화하는 것이 좋습니다. addlashes의 문제점은 해커가 0xbf27을 사용하여 작은따옴표를 대체할 수 있는 반면, addlashes는 0xbf27

을 0xbf5c27로 변경할 뿐입니다.

0xbf5c는 여전히 작은따옴표로 간주되므로 추가 래시는 성공적으로 차단될 수 없습니다.

물론 추가 래시는 그렇지 않습니다. 쓸모가 없으며 섹션 문자열 처리

[관련 기사 추천]: 1.

php addlashes() 함수 및 스트립슬래시( ) 함수 예제

2.

php Stripslashes() 함수와 addlashes() 함수의 차이점에 대한 자세한 예제

위 내용은 PHP는 addlashes 함수를 사용하여 SQL 주입 방지 예제 설명을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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