다양한 개발 프레임워크가 좋은 보안 방법을 제공하지만 여전히 보안 문제에 주의를 기울여야 합니다.
그 이유는 간단합니다. 많은 소규모 기능과 프로젝트가 프레임워크를 사용하지 않고 보안 문제를 스스로 해결해야 하기 때문입니다!
①일반적으로 사용되는 보안 기능은 무엇입니까?
②다음 기능의 기능:
mysql_real_escape_string() 및 addlashes() 함수는 모두 데이터에서 작은따옴표와 큰따옴표를 이스케이프합니다! SQL 인젝션을 방지하기 위한 것입니다!
그러나 mysql_real_escape_string()은 문자 집합을 고려하므로 더 안전합니다!
관련 정보를 참조한 후 결론을 내릴 수 있습니다. 현재 문자 세트가 단일 바이트인 경우 이 두 기능은 동일한 효과를 가지며 둘 다 이스케이프 필터링 역할을 할 수 있습니다. 그러나 누가 단일 바이트를 사용합니까? 특히 utf8이 점점 더 널리 사용되고 있습니다!
③기능 사용법 :
mysql_real_escape_string()과 addlashes() 두 함수의 사용법을 이해하려면 먼저 다른 두 함수의 의미를 이해해야 합니다!
get_magic_quotes_gpc() 및 get_magic_quotes_runtime(), 두 함수 간의 유사점과 차이점을 비교해 보겠습니다.
동일:
a. 둘 다 php.ini 구성 파일의 구성을 가져오는 데 사용됩니다! 켜져 있으면 1을 반환하고 꺼져 있으면 0을 반환합니다!
b. 켜면 지정된 범위 내의 데이터가 이스케이프되어 필터링됩니다!
다름:
a. 두 가지의 작업 범위는 다릅니다.
Magic_quotes_gpc는 주로 웹 클라이언트에서 작동합니다. 간단히 말해서 주로 $_GET, $_POST 및 $_COOKE의 데이터를 필터링합니다!
Magic_quotes_runtime은 주로 파일에서 읽은 데이터나 데이터베이스 쿼리에서 얻은 데이터를 필터링합니다!
b. 다양한 설정 시간:
Magic_quotes_gpc는 런타임에 설정할 수 없습니다. [이 설정은 서버를 다시 시작할 때만 읽을 수 있습니다.]
Magic_quotes_runtime은 런타임에 설정할 수 있습니다!
참고: 소위 런타임 설정은 ini_set() 함수를 통해 스크립트의 php.ini 파일에 구성을 설정할 수 있음을 의미합니다!
get_magic_quotes_gpc() 및 get_magic_quotes_runtime() 두 함수를 이해한 후에는 다음을 이해해야 합니다. php.ini 구성 파일이 Magic_quotes_runtime 및 Magic_quotes_gpc를 활성화한 것을 감지하면 지정된 범위 내의 데이터가 자동으로 전송됩니다. 꺼져 있으면 mysql_real_escape_string()[또는 필터링을 위한 추가 래시 함수]
④예:
1. Magic_quotes_gpc와 Magic_quotes_runctime의 활성화 여부에 관계없이 getdata.php 스크립트는 다음과 같이 안전하게 데이터를 전송할 수 있습니다.
sourceData.txt의 내용은 다음과 같습니다.
getData.php를 요청할 때의 URL은 다음과 같습니다.
php.test.com/safe/getdata.php?name=maw'eibin&age=25
실행 결과는 다음과 같습니다.
⑤참고자료: