2013-08-25 3 views
0

사용자가 HTML5 캔버스와 자바 스크립트를 사용하여 맞춤 프로필 사진을 만들어야하는 페이지가 있습니다. 캔버스의 base64 이미지 데이터는 나머지 사용자 정보를 입력하는 양식의 숨겨진 입력 필드 요소에 저장됩니다. 사용자가 자신의 프로필 사진을 내 JavaScript/Canvas 디자이너로 만든 경우에만 사용자가 Chrome 콘솔에 들어가거나 주소 표시 줄이나 사용자 스크립트를 사용하여 숨겨진 입력 필드의 내용을 설정할 수 있습니다 (내 캔버스로 만들지 않은) 기본 64 개의 이미지 데이터를 선택합니다.자바 스크립트로 양식 삽입을 방지 하시겠습니까?

사람들이이 작업을 수행하지 못하게하려면 어떻게해야합니까? 아마 AJAX를 사용하여 $ _SESSION 데이터를 설정하는 PHP 파일에 POST 데이터를 사용하는 방법을 생각하고 있었지만 사용자가 JavaScript를 주입하여 매개 변수를 변경하지 못하도록하는 방법을 생각할 수는 없습니다.

+1

이 클라이언트 측을 피하기 위해 할 수있는 방법은 없습니다. 서버 측에서만 처리 할 수 ​​있습니다. – Brad

답변

0

이런 종류의 원치 않는 사용자 동작을 방지하기 위해 클라이언트에 의존하는 방법을 찾는 데 시간을 낭비하지 마십시오. 누군가가 클라이언트에서 그것을 원한다면, 그것을 할 수있는 방법을 찾아 낼 것이고 아마도 오랫동안 걸리지 않을 것입니다. 이 사용자 동작을 방지하려면 서버 쪽에서 수행하십시오. 그것은 쉽거나 빠질 수 있지만 적어도 가능합니다. 단순히 클라이언트 측에서 가능하지 않습니다.

+1

이 점을 이해합니다. 이 serverside 어쩌면하는 방법의 예? – user2712640

1

유창하게 환경을 알지 못하는 사이에 나는 추측 할 것입니다.

사용자가 캔버스에 그리는 것을 허용하는 일종의 라이브러리를 사용하고 있다고 가정합니다. (효과적으로 mspaint로 만듭니다). 사실이라고 가정하면 이미지 작성 프로세스 중에 각 단계를 기록하여 서버로 보낼 수 있습니다. 이제 다음 세 가지가 허용됩니다.

  1. 사용자가 그린 이미지로 끝납니다.
  2. 서버가 따라 다니고 있기 때문에 서버가 합법임을 알고 있습니다.
  3. 글 머리 기호 2 인 경우 저장된 캔버스 결과가 더 이상 필요하지 않으므로
관련 문제