>  기사  >  백엔드 개발  >  PHP의 addlashes 기능과 SQL 주입 방지에 대한 자세한 설명

PHP의 addlashes 기능과 SQL 주입 방지에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-07-12 15:20:461507검색

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

사전 정의된 문자는 다음과 같습니다.

  • 작은따옴표(')

  • 큰따옴표(")

  • 백슬래시()

  • NULL

팁: 이 기능 문자열에 사용할 수 있습니다

참고: 기본적으로 PHP는 모든 GET, POST 및 COOKIE 데이터에 대해 자동으로 addlashes()를 실행하므로 이스케이프된 문자열에 사용하면 안 됩니다. 이러한 상황이 발생하면 get_magic_quotes_gpc() 함수를 사용하여 탐지할 수 있습니다. 이 문서에서는 주로 php의 addslashes 함수와 SQL 삽입 방지를 소개합니다. addlashes 기능은 SQL 주입을 방지합니다. PHP 보안 프로그램 설계에 좋은 참조 값이 있습니다. 필요한 친구가 참조할 수 있습니다. 구체적인 분석은 다음과 같습니다.

addslashes는 자동으로 주문을 줄 수 있습니다. 인용 부호와 큰따옴표를 추가합니다. \\\, 해커의 공격을 받지 않고 안전하게 데이터베이스에 데이터를 저장할 수 있도록 'a..z' 매개변수는 모든 대문자와 소문자를 이스케이프 처리함을 정의합니다.

echo addcslashes('foo[ ]','a..z'); //输出:foo[ ] 
$str="is your name o'reilly?"; //定义字符串,其中包括需要转义的字符 
echo addslashes($str);  //输出经过转义的字符串
$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의 addlashes 기능과 SQL 주입 방지에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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