>데이터 베이스 >MySQL 튜토리얼 >MySQL 데이터베이스 삭제에 더 나은 것은 addlashes 또는 mysql_real_escape_string입니까?

MySQL 데이터베이스 삭제에 더 나은 것은 addlashes 또는 mysql_real_escape_string입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-15 13:37:02592검색

Which is Better for MySQL Database Sanitization: addslashes or mysql_real_escape_string?

데이터베이스 삭제를 위한 mysql_real_escape_string과 addlashes 비교

PHP에서 addlashes와 mysql_real_escape_string은 데이터를 제출하기 전에 데이터를 삭제하는 데 일반적으로 사용되는 두 가지 함수입니다. SQL 주입 취약점을 방지하기 위한 데이터베이스입니다. 두 함수 모두 데이터 내의 특수 문자를 이스케이프하는 것을 목표로 하지만 이스케이프하는 특정 문자와 용도가 다릅니다.

기능 비교

addslashes는 주로 다음을 이스케이프합니다. 문자:

  • 작은따옴표(')
  • 큰따옴표(")
  • 백슬래시()
  • Null 문자(NULL 바이트)

반면, mysql_real_escape_string은 추가 래시로 덮힌 문자를 이스케이프할 뿐만 아니라 다음도 이스케이프합니다.

  • 줄 바꿈(LF)
  • 캐리지 리턴( CR)
  • Control-Z(EOF)

mysql_real_escape_string에서 추가 이스케이프 문자의 중요성

mysql_real_escape_string에서 이스케이프된 추가 문자는 중요합니다. 예를 들어 줄 바꿈 및 캐리지 리턴으로 인해 쿼리 구조가 손상되어 예기치 않은 동작이 발생하여 데이터 잘림이나 오류가 발생할 수 있습니다.

사용 목적

mysql_real_escape_string은 데이터를 MySQL 데이터베이스에 제출하기 전에 이스케이프하도록 특별히 설계되었습니다. 이는 MySQL의 이스케이프 요구 사항을 고려하고 MySQL 쿼리에 삽입하거나 조작할 수 있도록 데이터 형식이 올바르게 지정되었는지 확인합니다.

반면, addslashes는 일반적으로 사용되는 문자를 이스케이프하는 보다 일반적인 용도의 함수입니다. HTML 및 JavaScript를 포함한 다양한 컨텍스트에서. 데이터베이스 정리에 사용할 수 있지만 사용 중인 데이터베이스에 추가 래시로 처리되지 않는 특정 이스케이프 요구 사항이 있는 경우 충분하지 않을 수 있습니다.

결론

MySQL 데이터베이스를 다룰 때는 데이터 삭제를 위해 추가 래시 위에 mysql_real_escape_string을 사용하는 것이 좋습니다. mysql_real_escape_string은 MySQL의 특정 요구 사항을 충족하는 보다 포괄적인 수준의 이스케이프를 제공하여 데이터의 보안과 무결성을 보장합니다.

위 내용은 MySQL 데이터베이스 삭제에 더 나은 것은 addlashes 또는 mysql_real_escape_string입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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