2010-12-22 6 views
1

저는 양식 데이터를 제출하기 위해 jQuery의 $ .ajax/$. post를 사용했습니다. 전자 상거래 사이트의 로그인 양식에서이 방법을 사용하는 것을 고려하고 있습니다. 내 질문은 AJAX 게시물을 통해 데이터가 전송되는 방법입니다. 나에게 적어도 누군가는 jQuery 스크립트 자체를 통해 불쾌한 일을하는 데 도움이되는 몇 가지 세부 정보를 볼 수있다. 이 물건을 숨길 필요가 있거나 잘못된 것인가? 데이터를 보내는이 방법은 페이지 로딩을하는 상대방만큼 안전합니다 (두 가지 방법 모두 256 비트 보안 연결을 염두에 두어야한다는 것을 명심하십시오).AJAX의 보안 양식을 제출 했습니까?

+1

'Do not assum'데이터 무결성을 유지하려면 항상 d ata는 백엔드에 의해 수신됩니다. – RabidFire

답변

1

브라우저에서 서버로 데이터를 보내는 다른 방법은 안전하지 않습니다.

사람은 아마도 그들이 일정한 양식을 주어 자신에게 jQuery를 스크립트를 통해

을 불쾌한 일을하는 데 도움이되는 몇 가지 세부 사항을 볼 수 있었다, 누군가가 페이지에 원하는대로 스크립트를 추가 할 수 있습니다.

그냥 build on things that work을 기억하십시오. JS 조각이로드되지 않아 판매가 실패하지 않기를 바랍니다.

1

제출에 차이가 없으므로 두 방법 모두 잠재적으로 안전하지 않습니다. 문제를 잡는 것은 서버 측의 책임입니다.

0

양식 데이터를 제출하는 방법은 무엇이든 Inaré 명시된대로 서버 쪽에서 양식의 보안을 확인해야합니다. FireFox에서 'Live HTTP Headers'를 사용하고 싶다면 POST 쿼리를 캡처하여 재생하면 모든 게시 된 데이터를 변경하고 추가 할 수 있습니다. 서버 측에서 당신은 submited datas에 보안이 패스를 적용 shoudl :

  • 필터링
  • 검증
  • 이미 값을 설정 한

필터링은 검증에 전달 된 데이터 (재사용 할 수 있는지 확인합니다 양식 요소 또는 오류 메시지의 문장으로 나타낼 수 있습니다. 정수의 경우 간단한 (int) 형변환이 작업을 수행하지만 텍스트의 경우 XSS, HTML 삽입, js 삽입 등을 필터링해야합니다. 이 패스의 텍스트 요소를 최대 siez로 줄이면 유효성이 검사됩니다. 양식 요소에는 유효한 값 (올바른 날짜, 올바른 범위의 int, 유효한 select 요소 등)이 들어 있습니다. 그리고 이제 '-15는 유효한 수량이 아닙니다'와 같은 좋은 메시지를 반향하기 위해 필터링 된 POSTED 값을 재사용 할 수 있습니다.

Zend Framework의 Zend_Form에서 멋진 양식을 처리 할 수 ​​있습니다. 개념을 다시 사용할 수 있습니다.에 관계없이 데이터의 출처의

0

을, 당신은 그것을 소독해야하고 .. 아직도 당신이 어떤 쿼리로 던져 전에 합리적인 보이는 있는지 확인합니다. 아이디의 내용은

내가 (ctype_digit를 사용) 및 strlen()을 필터링 한 후

관련 문제