HTML 폼을 통해 서버로 보낸 데이터를 읽으려고 $ _POST를 사용하여 공격 노출을 줄입니다. 양식에 토큰을 사용하여 보안을 강화하려면 어떻게해야합니까? 토큰은 스니퍼와 함께 읽을 수 있지만 ....."안전한"HTML FORM을 계획하는 방법
**** EDIT ***** 나는 위의 메시지가 일반적인 것에 동의합니다 ... 자세한 내용을 알려 드리겠습니다!
PHP/Server는 일종의 사용자 수정을위한 일부 데이터가 포함 된 전자 메일을 생성합니다. 이것은 HTML 양식을 포함하는 HTML 이메일로 수행됩니다. 사용자가 전자 메일을 받으면 양식의 데이터를 편집하여 서버로 보내면 다시 데이터베이스에 저장됩니다.
다른 유형의 상호 작용 사용자/서버의 경우 로그인/인증이 필요하지만 휴대 전화와 같은 일부 이메일 클라이언트는 HTML 이메일 메시지를 읽고 양식을 처리 할 수 있지만 클라이언트 인증을 허용하지 않습니다 (서버 측 로그인) 이전에 양식을 처리하십시오.
양식을 받았을 때 서버 측에서 어떤 일이 발생합니까? Well $ _POST가 사용되어 잠재적 인 GET 취약점을 제거하지만, $ _POST를 사용하면 다른 종류의 공격을 막을 수 없습니다. 스니퍼가 전송되는 데이터를 쉽게 "읽을"수 있기 때문입니다.
서버 측의 데이터가 구문 분석되고 그에 따라 제거되므로 안전하지 않은 자바 스크립트와 인용 된 텍스트가 제거되어 주사 나 다른 종류의 공격을 막을 수 있습니다.
토큰/논스 (nonce) 기술을 찾는 이유가 여기에 있습니다. 그러나 토큰이 양식 안에서 스니핑 될 수 있다고 생각했습니다. 그게 내 도움 요청이 시작되는 곳입니다!
어떤 공격에 대해 이야기하고 있습니까? 어떤 의미에서 안전합니까? – Artefacto
$ _POST를 사용하면 공격 노출을 제한 할 수 없습니다. 그러나 사용자에게 암호가 URL 표시 줄에 표시되지 않는다는 보안 감각을 제공합니다. –
토큰을 서버 측 방어 장치로 사용할 수 있습니다. 양식이 사용자에 대해 생성되면 일회 토큰이 제공됩니다. 한 번만 제출하면 토큰이 서버 측에서 무효화됩니다. 누군가가 전체 양식을 스니핑하고 원래의 사용자보다 먼저 제출할 수있는 공격 벡터는 특히 토큰이 세션/사용자 별 일 경우별로 중요하지 않습니다. – Fosco