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 중국어 웹사이트의 기타 관련 기사를 참조하세요!