728x90
&
&(앰퍼샌드)는 AND를 뜻하며 javascript에서 AND 연산 기호로 사용되기 때문에 문자로 &를 출력하려면 & 라고 표기해야 합니다.
<
< (오른쪽으로 열린 부등호 꺽쇠)는 HTML에서 태그의 시작 기호로 사용됩니다.
문자로 < 를 출력하려면 < 로 표기합니다.
>
> (왼쪽으로 열린 부등호 꺽쇠)는 HTML에서 태그의 끝 기호로 사용됩니다.
문자로 > 를 출력하려면 > 로 표기합니다.
"
"(쌍따옴표)는 HTML에서 속성의 값들을 묶기 위해 사용됩니다.
문자로 " 를 표현하려면 " 로 표기합니다.
(공백, 스페이스 한칸)을 문자로 표현하려면 로 표기합니다.
HTML에서 스페이스를 많이 눌러도 공백은 한번만 적용되는데 를 사용하면 공백을 여러번 줄 수 있습니다.
오류가 생길 수 있는 상황들
이 변환들이 중요한 것이 잘 처리하지 않으면 원하지 않은 결과가 출력되기 때문입니다.
1 | <input type=text name="name" value=""> | cs |
라는 name태그에
사용자가 "공유민" 라는 값을 넣어주면...
1 | <input type=text name="name" value=""공유민""> | cs |
name 태그에 ""까지 인식하여 아무 값도 안 들어갑니다.
사용자는 "공유민" 이라는 값을 넣으려고 의도했겠지만요.
1 | <textarea name="name" rows="4" cols="100"></textarea> | cs |
textarea에서도 마찬가지 입니다.
의도적으로 이상한 값을 넣으면 오류를 만들 수 있습니다.
의도적으로 이상한 값을 넣으면 오류를 만들 수 있습니다.
1 | <textarea name="memo" rows="4" cols="100"></textarea></textarea> | cs |
사용자가 memo태그에</textarea>라는 값을 넣었다고 가정하면 역시 아무 값도 안 들어갑니다.
</textarea>를 태그로 인식하기 때문입니다.
</textarea>를 태그로 인식하기 때문입니다.
그러므로 &, <, >, " 는 각각
1 | & < > " | cs |
로 치환할 수 있게 처리를 해 주어야 합니다.
'개발 > HTML, JS' 카테고리의 다른 글
프로토콜, 도메인, 포트, 파일(페이지)명 구하기 예제 (0) | 2018.01.15 |
---|---|
공백 사용 방지 예제 소스 (0) | 2018.01.15 |
Javascript, Event Loop (0) | 2017.06.13 |
window.opener 권한이 없습니다. (0) | 2016.11.16 |
정의되지 않음 또는 null 참조인 'value' 속성을 가져올 수 없습니다. (0) | 2016.11.16 |