>  기사  >  백엔드 개발  >  PHP의 addcslashes 및 Stripcslashes 기능 분석 정보

PHP의 addcslashes 및 Stripcslashes 기능 분석 정보

不言
不言원래의
2018-06-19 09:53:391386검색

이 글은 주로 PHP에서 addcslashes와 Stripcslashes 함수의 사용법을 소개하고, addcslashes 함수를 예제 형태로 분석하여 고정 문자에 대한 이스케이프 처리와 Stripcslashes로 복원 작업을 추가하는 방법이 필요한 친구들은 참고하면 됩니다.

이 글은 PHP에서 addcslashes 및 Stripcslashes 함수의 사용 예를 분석합니다. 참고하실 수 있도록 자세한 사항은 다음과 같습니다.

영문 홈페이지 작성 시, 영문 정보는 작성이 끝난 후 가볍게 작성하시면 문제가 되지 않습니다. 그런데 지정된 내용을 입력할 때마다 입력이 안 되고 오류도 보고되지 않았습니다. 데이터베이스를 확인한 결과 이 ​​필드에 "TEXT" 데이터 유형이 사용된 것으로 나타났습니다. 길어서 데이터 유형을 "longtext"로 변경했는데 제출했는데도 여전히 같은 문제가 발생하는 것을 발견했습니다. addcslashes 함수를 소개하겠습니다!

나중에 동료들에게 도움을 요청했는데 그 이유가 영어의 구두점 "'" 때문이라는 것을 알게 되었습니다. 여기에서 MySQL이 실행된 후에는 자동으로 명령문이 종료된 것으로 간주합니다. 추가할 수 없습니다. 이제 문제를 찾았으므로 해당 솔루션을 찾아야 합니다. 즉, 텍스트 내용의 모든 "'" 앞에 이스케이프 문자 ""를 추가하는 것입니다. PHP는 자동으로 이스케이프를 추가하거나 제거하는 기능을 제공합니다. 문자 함수는 addcslashes 및 Stripcslashes이므로 테스트를 추가한 후 문제가 해결되었습니다. 평일에 프로그램을 작성할 때 충분히 엄격하지 않으며 해커가 이러한 세부 사항을 발견하면 항상 무시한다는 것을 알 수 있습니다. 문제를 일으키고 악용하면 웹사이트는 기본적으로 끝났으니 다들 경고로 받아들이고 저와 같은 실수를 하지 마세요.

다음은 이 두 함수의 사용법에 대한 간략한 소개입니다:

string addcslashes(string str, string charlist)

첫 번째 매개 변수 str은 손실된 개체의 원래 문자열입니다.

두 번째 매개 변수 charlist는 다음을 나타냅니다. 문자 ""가 앞에 오는 문자는 원래 문자열에 있어야 합니다.

string Stripcslashes(string str)

문자열에서 ""를 제거합니다.

또한 addlashes 기능을 사용하여 "'"를 직접 이스케이프할 수 있습니다.

예제는 다음과 같습니다.

<?php
$sql = "update book set bookname=&#39;let&#39;s go&#39; where bookid=1";
 echo $sql."<br/>";
 $new_sql = addcslashes($sql,"&#39;");
 echo $new_sql."<br/>";
 $new_sql_01 = stripcslashes($new_sql);
 echo $new_sql_01."<br/>";
 echo addslashes($sql);
?>

실행 결과는 다음과 같습니다.

update book set bookname=&#39;let&#39;s go&#39; where bookid=1
update book set bookname=\&#39;let\&#39;s go\&#39; where bookid=1
update book set bookname=&#39;let&#39;s go&#39; where bookid=1
update book set bookname=\&#39;let\&#39;s go\&#39; where bookid=1

위 내용은 모두의 학습에 도움이 되기를 바랍니다. . 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 주목하세요!

관련 추천:

PHP 템플릿 엔진 Smarty

출력 및 선택 출력을 지우기 위해 PHP에서 ob_start()를 사용하는 방법

위 내용은 PHP의 addcslashes 및 Stripcslashes 기능 분석 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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