728x90

&



&(앰퍼샌드)는 AND를 뜻하며 javascript에서 AND 연산 기호로 사용되기 때문에 문자로 &를 출력하려면 & 라고 표기해야 합니다.






<



< (오른쪽으로 열린 부등호 꺽쇠)는 HTML에서 태그의 시작 기호로 사용됩니다.
문자로 < 를 출력하려면 &lt; 로 표기합니다.






&gt;


> (왼쪽으로 열린 부등호 꺽쇠)는 HTML에서 태그의 끝 기호로 사용됩니다.
문자로 > 를 출력하려면 &gt; 로 표기합니다.






&quot;


"(쌍따옴표)는 HTML에서 속성의 값들을 묶기 위해 사용됩니다.
문자로 " 를 표현하려면 &quot; 로 표기합니다.







&nbsp;


 (공백, 스페이스 한칸)을 문자로 표현하려면 &nbsp; 로 표기합니다.
HTML에서 스페이스를 많이 눌러도 공백은 한번만 적용되는데  &nbsp; 를 사용하면 공백을 여러번 줄 수 있습니다.







오류가 생길 수 있는 상황들



이 변환들이 중요한 것이 잘 처리하지 않으면 원하지 않은 결과가 출력되기 때문입니다.


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>를 태그로 인식하기 때문입니다.



그러므로 &, <, >, " 는  각각

1
&amp; &lt; &gt; &quot;
cs


로 치환할 수 있게 처리를 해 주어야 합니다.



+ Recent posts