집 >데이터 베이스 >MySQL 튜토리얼 >NodeJS에서 MySQL 쿼리에 대한 JavaScript 문자열을 안전하게 이스케이프하는 방법은 무엇입니까?
NodeJS에서 MySQL 쿼리에 대한 JavaScript 문자열 조정
JavaScript에서 NodeJS로, 이후 MySQL로 전달되는 데이터의 무결성을 보호하는 것이 중요합니다. 표준 텍스트는 완벽하게 통합될 수 있지만 이메일 주소는 SQL 친화적으로 렌더링되기 위한 특수한 접근 방식이 필요합니다.
SQL 삽입 취약점을 방지하도록 설계된 MySQL의 mysql_real_escape_string() 함수는 JavaScript 문자열을 준비하기 위한 귀중한 프레임워크를 제공합니다. 이 기능을 사용하면 백슬래시를 앞에 추가하여 특수 문자( , x08, x09, x1a, n, r, ', ", , %)를 안전하게 삽입할 수 있습니다.
JavaScript에서 이 동작을 복제하려면 사용자 정의 함수:
function mysql_real_escape_string(str) { return str.replace(/[\x08\x09\x1a\n\r"'\\%]/g, function(char) { switch (char) { case "": return "\0"; case "\x08": return "\b"; case "\x09": return "\t"; case "\x1a": return "\z"; case "\n": return "\n"; case "\r": return "\r"; case "\"": case "'": case "\": case "%": return "\"+char; default: return char; } }); }
이 함수를 적용하면 SQL 삽입을 위해 NodeJS에 전달하기 전에 JavaScript 문자열의 특수 문자를 효과적으로 이스케이프할 수 있습니다. 또한 잠재적인 SQL 삽입 공격으로부터 보호합니다. 또한 이스케이프 탭, 백스페이스 및 "%"에 대한 지원이 확장되어 OWASP의 보안 지침에 따라 LIKE 쿼리의 견고성이 향상됩니다.
위 내용은 NodeJS에서 MySQL 쿼리에 대한 JavaScript 문자열을 안전하게 이스케이프하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!