2011-01-26 4 views
5

다음과 같은 숨겨진 요소가있는 양식을 보았습니다. 첫 번째 것은 분명히 CSRF의 보안 토큰이지만 두 번째 것은 무엇입니까? 그것은 다소 이미지입니다. 무엇이 보안을 추가 할 것입니까? 어떻게 생성합니까?숨겨진 요소에 이상한 심볼이 나타나는 이유

<input type="hidden" value="G2k2DNFer3z2NR0zYO" name="key"> 
<input type="hidden" value="☃" name="_face"> 
<input type="hidden" value="home" name="ref_source"> 
+5

[눈사람] (http://unicodesnowmanforyou.com) 때문에 '얼굴'이라고 불리는 것이 이상합니다. – BoltClock

+0

@BoltClock 쿨, 그는 심지어 자신의 웹 사이트가 있습니다! – samquo

+0

@BoltClock 눈사람 기호는 실제로 유니 코드 표준에 정의 된대로 "기타 기호"블록의 많은 문자 (http://unicode.org/charts/PDF/U2600.pdf) 중 하나입니다. :-) –

답변

9
눈사람 유니 (2,603 ​​U +)에 문자가 실제로 것을

그것은 아마도 클라이언트가 예컨대 적절한 문자 인코딩 (아마 UTF-8)의 여부를 사용하는지 여부를 테스트하기 위해 사용된다 :

$isUtf8 = $_POST['_face'] === "\xE2\x98\x83"; 
+0

이것은 아주 좋은 답입니다! +1 – Harish

+0

알겠습니다. 이것이 우리 모두가해야 할 일인가? 사용자가 양식을 제출 한 후에 만 ​​웹 사이트에서이 정보를 얻을 수 있으므로 페이지를 처음 렌더링 할 때이 정보를 사용할 수 없기 때문에 묻습니다. 왜 웹 사이트는 그걸 필요로할까요? – samquo

+0

@samquo : UTF-8에 다른 문자 인코딩을 구분하는 방법이 있습니다 (예 : [dev.mysql.com의 유니 코드 및 기타 재밌는 문자] (http://dev.mysql.com) 참조). /tech-resources/articles/4.1/unicode.html)). 그러나 그것이 정말로 필요한지 나는 확신 할 수 없다. 일반적으로 클라이언트는 [accept-charset' 속성] (http://www.w3.org/TR/html4/interact/forms.html#adef-accept-charset)에 지정된 문자 인코딩을 사용하거나 양식. 서가 제공 된 것과 동일한. 자 인코딩. – Gumbo

관련 문제