나는 felixge에 의해 MySQL 용 노드 드라이버와 함께 일하고있다. 문서에 따라이스케이프 된 문자열을 "이스케이프 처리하지 않음"(MySQL, Node.js)해야합니까?
https://github.com/felixge/node-mysql#escaping-query-values
문자열이 주입 attacs을 방지하기 위해 MySQL의에 전달 전에 을 탈출해야
.내 질문은 : MySQL에서로드 된 후 데이터가 "언 이스케이프"되어야합니까?
현재 데이터 무결성에 문제가 있습니다. 줄 바꿈이 포함 된 문자열로 시작합니다. (console.log(string)
으로 인쇄하면 콘솔에 줄 바꿈이 표시됩니다). 문자열을 이스케이프 처리 한 후 MySQL 데이터베이스에 저장됩니다. 그러나 문자열을 메모리에 다시로드 한 후 console.log(string)
은 줄 바꿈 대신에 \n
의 이스케이프 코드를 표시합니다.
감사를 당신의 문자열을 탈출하고있다! 좋은 캐치. 결과를 출력하기 직전에 여분의 이스케이프 코드를 적용한 여분의'util.inspect'가있었습니다. 이것은 MySQL과 아무 관련이 없습니다. – user2847528