0

데이터를 MySQL 데이터베이스에 저장하는 웹 사이트가 있습니다.MySQL HTML 위생 처리

HTML을 MySQL에 삽입하거나 웹 사이트에 표시 할 때 탈출해야합니까?

이상적으로, 원시 HTML을 데이터베이스에 입력하고 싶습니다. 그리고 그걸 가져올 때마다 그냥 위생적으로 처리하고 싶습니다. 이런 식으로하는 데 위험이 있습니까?

예 HTML : <h1>test</h1>

+0

무엇을 위해 HTML을 탈출하나요? 'Click me'을 가지고 있고 그것을 조작한다면 아마 그것을 깨뜨릴 것입니다. 만약 당신이'Barnes & Noble'을 가지고 있고 그것을'Barnes & Noble'로 변환해야한다면 웹 사이트에 HTML을 넣지 않아도됩니다. ("sanitizacion"이라는 용어는 내 애완 동물 오줌 중 하나입니다. 그것은 일부 문자열이 본질적으로 좋지 않지만 어떤 마법 기능을 적용하여 어떤 용도로든 안전하게 사용할 수 있음을 의미합니다.) –

+0

@ ÁlvaroGonzález HTML을 저장하지 않지만 제한되지 않도록합니다. 물론 HTML은 실행되지 않습니다. 그냥 그대로 출력 될 것입니다 –

+0

큰 글꼴로'test'라는 제목을 보는 대신 실제 HTML 태그 (리터럴 '

test

'텍스트)를 보시겠습니까? –

답변

1

는 일반적으로 사용자가 HTML을 저장하지 않습니다,하지만 난 그들에게 가 제한되고 싶지 않아. 물론 HTML은 실행되지 않습니다. 이 표시됩니다.

HTML을 MySQL에 삽입하거나 웹 사이트에 표시 할 때 탈출해야합니까?

그런 다음 시작할 HTML이 없습니다. 당신은 일반 텍스트가 있습니다.

HTML로 삽입 할 일반 텍스트를 이스케이프 처리하는 것은 빠른 작업이며, 한 행에 1GB의 텍스트를 말하면 캐시하지 않는 것이 좋습니다. 저장하기 전에 일반 텍스트로 변환하면 더 이상 원본 텍스트가없고 을 실행 취소하여 인코딩을 으로하지 않고을 HTML 컨텍스트에서 사용합니다 (예 : JavaScript 변수에 넣거나 전자 메일 제목으로 사용).