HTML 속성 내에서 따옴표를 올바르게 이스케이프 처리하려면 어떻게해야합니까?
값 문자열에 따옴표가 포함되어 있으면 웹 페이지에 드롭 다운이 있습니다.
값은 "asd
입니다. DOM에서는 항상 빈 문자열로 나타납니다.
나는 문자열을 올바르게 탈출하기 위해 모든 방법을 시도했지만 아무 소용이 없습니다.
<option value=""asd">test</option>
<option value="\"asd">test</option>
<option value=""asd">test</option>
<option value=""asd">test</option>
포스트 백 메시지에 올바른 값이 포함되도록이를 페이지에서 어떻게 렌더링합니까?
"
세 번째 테스트의 올바른 방법입니다.
<option value=""asd">test</option>
아래 또는 jsFiddle 에서 작동하는 것을 볼 수 있습니다 .
alert($("option")[0].value);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option value=""asd">Test</option>
</select>
또는 작은 따옴표로 속성 값을 구분할 수 있습니다.
<option value='"asd'>test</option>
PHP를 사용하는 경우 호출 htmlentities
또는 htmlspecialchars
기능을 시도하십시오 .
당 HTML 구문 , 심지어 HTML5 , 다음은 유효한 모든 옵션은 다음과 같습니다 :
<option value=""asd">test</option>
<option value=""asd">test</option>
<option value='"asd'>test</option>
<option value='"asd'>test</option>
<option value='"asd'>test</option>
<option value="asd>test</option>
<option value="asd>test</option>
XML 구문을 사용하는 경우 따옴표 (싱글 또는 더블)가 필요합니다.
위의 모든 작업을 보여주는 jsfiddle이 있습니다.
다른 옵션은 큰 따옴표를 작은 따옴표로 바꾸는 것입니다. 그러나 나는 이것을 언급하지 않습니다 :
<option value='"asd'>test</option>
나는 이것을 언급한다.
<option value="'asd">test</option>
내 경우에는이 솔루션을 사용했습니다.
신뢰할 수없는 데이터는 정렬, alink, alt, bgcolor, border, cellpadding, cellspacing, class, color, cols, colspan, coords, dir, face, height, hspace, ismap, lang과 같은 좋은 속성의 화이트리스트에만 허용해야합니다. , marginheight, marginwidth, multiple, nohref, noresize, noshade, nowrap, ref, rel, rev, rows, rowspan, scrolling, shape, span, 요약, tabindex, title, usemap, valign, value, vlink, vspace, 너비
신뢰할 수없는 데이터를 자바 스크립트 핸들러와 id 또는 name 속성 (DOM의 다른 요소를 클로버 할 수 있음)에서 제외하고 싶습니다.
또한 신뢰할 수없는 데이터를 SRC 또는 HREF 속성에 넣는 경우 실제로 신뢰할 수없는 URL이므로 URL을 확인하고 자바 스크립트가 아닌지 확인하십시오 : URL 및 HTML 엔터티 인코딩.
https://www.owasp.org/index.php/Abridged_XSS_Prevention_Cheat_Sheet 에 대한 자세한 내용은 여기를 참조 하십시오.
입력 텍스트 값에서 따옴표를 이스케이프 처리하는 방법은 없지만 javascript (또는 jquery)를 사용할 수 있습니다.
<input type="input" name="myinput" id="myinput" value="" />
<script>document.getElementById("myinput").value="This input has a [\"]";</script>
참고 URL : https://stackoverflow.com/questions/4015345/how-do-i-properly-escape-quotes-inside-html-attributes
'Programing' 카테고리의 다른 글
선택적인 용도 (0) | 2020.04.14 |
---|---|
Java에 String.Empty가없는 이유는 무엇입니까? (0) | 2020.04.14 |
백그라운드 작업, 진행률 대화 상자, 방향 변경-100 % 작동하는 솔루션이 있습니까? (0) | 2020.04.14 |
std :: unique_ptr입니까 (0) | 2020.04.14 |
Vanilla JavaScript와 jQuery를 언제 사용해야합니까? (0) | 2020.04.14 |