데이터베이스에서 양식 변수를 채우는 중입니다.양식 변수 및 큰 따옴표
<input name="width" value="3"">
Q : 필드 값은 3인치은 "3로에서 따옴표가있는 경우, 다음 HTML 소스는 다음과 같습니다? 내가 따옴표를 포함하는 필드를 처리 할 방법
내가 먼저는 CFQUERYPARAM 문제라고 생각하지만, 그것은 html로 문제입니다 밝혀졌습니다.
데이터베이스에서 양식 변수를 채우는 중입니다.양식 변수 및 큰 따옴표
<input name="width" value="3"">
Q : 필드 값은 3인치은 "3로에서 따옴표가있는 경우, 다음 HTML 소스는 다음과 같습니다? 내가 따옴표를 포함하는 필드를 처리 할 방법
내가 먼저는 CFQUERYPARAM 문제라고 생각하지만, 그것은 html로 문제입니다 밝혀졌습니다.
값을 표시 할 때 HtmlEditFormat
을 사용하십시오. 이처럼
:도있다
<input name="width" value="#HtmlEditFormat(Form.Width)#" />
:
XmlFormat
;
JsStringFormat
(JavaScript 출력용); URL 콘텐츠의 경우
UrlEncodedFormat
더 완전한/헤비급 물건
, 당신은 OWASP's ESAPI 고려할 수 - CF에서 사용하고 제공 할 수있는 Java 보안 API를 다음
Context Method
------- ------
HTML esapi.encodeForHTML(variable)
HTML Attribute esapi.encodeForHTMLAttribute(variable)
JavaScript esapi.encodeForJavaScript(variable)
CSS esapi.encodeForCSS(variable)
URL esapi.encodeForURL(variable)
난
D' oh! 나는 올해 CFUnited에 갔어야 했어! –
나는 그것이 아마도 브라우저 생각, 당신은 다음이 제대로 통과해야 당신의 HTML에 "를 사용하여 견적을 인코딩 할 필요가있다.
내가 말하는 내용 :
이미 이것을 처리하는 내장 함수를 사용하는 것이 더 낫습니다. 자세한 내용은 내 대답을 참조하십시오. –
ㅎ, 방금 Pete라는 것을 알았습니다. 우연히도 저는 최근에 귀하의 최근 블로그 항목에 링크했습니다. :) 약간의 접선이지만, 이것을 알고 계십니까? http://www.owasp.org/index.php/ESAPI_ColdFusion_CFML_Readme - Jason Dean과 Bill Shelton에게 ESAPI를위한 더 친숙한 CF 인터페이스를 제공하는 것이 좋을지 모릅니다. –
(Pete Freitag's cfunited presentation slides에서) 확실히 cfqueryparam은 큰 따옴표를 제거하지 않을 것입니다 - 입력 된 데이터를 살균하려고 시도하는 다른 것이있을 것입니다. 문제를 나타내는 고립 된 코드 샘플을 생성 할 수 있습니까? –
문제를 복제하기위한 샘플을 설정하겠습니다. –
큰 따옴표를 저장하고 있지만 양식 변수를 채울 때 html 소스는 다음과 같이 나타납니다. 이 예제에서 값은 3입니다. 인치 –