정말 필요한 htmlentities ($ str, ENT_QUOTES, "UTF-8") htmlentarea에 내 문자열을 이스케이프 전에 알고 싶습니다.하지만 실제로 텍스트 영역에 htmlentities가 필요합니까?
자동으로이 문자가 나에게 문자를 보냅니 까?
정말 필요한 htmlentities ($ str, ENT_QUOTES, "UTF-8") htmlentarea에 내 문자열을 이스케이프 전에 알고 싶습니다.하지만 실제로 텍스트 영역에 htmlentities가 필요합니까?
자동으로이 문자가 나에게 문자를 보냅니 까?
예, 필요합니다.
그렇지 않으면 입력 데이터의 </textarea>
이 마크 업을 엉망으로 만듭니다. 태그 안에 금지되고 엔티티가 여전히 디코딩되도록
<textarea> <--------------------------- Your tag
</textarea> <------------------------ User input
<script>alert("Hello!");</script> <-- User input, XSS injection
</textarea> <-------------------------- Your tag
텍스트 영역 소자는 PCDATA을 포함하는 것으로 정의된다.
브라우저는 오류 수정을 수행하지만 오류 수정은 처음부터 오류가 발생하지 않았기 때문에 좋지 않습니다.
데이터가 <
또는 </textarea>
일 때와 같이 일부 오류는 구문 오류가 아니기 때문에 수정되지 않습니다.
몇 가지 오류가 받아들이 기 쉬운 경우에도 유효성 검사기를 사용하여 기본 품질 보증을 수행하면 신경 쓰이는 오류가 발생할 수있는 잡음이 생성됩니다.
간단히 말해서, 예, 특별한 의미로 문자를 이스케이프해야합니다. 그러나 문자 인코딩을 직접 수행하면 htmlspecialchars
이면 충분합니다.
:) 멋진 예를 들어 주셔서 감사합니다! – kwichz
그러나 팁 부분 만 텍스트 영역에서 "새로운 라인"으로 코딩하는 방법은 무엇입니까? \엔? chr (13)? – kwichz
@kwichz'\ n'해야합니다. –