2011-12-15 5 views
0

백본에서 페치 할 때 일부 JSON 데이터로 응답하는 RESTFUL URL을 만들었습니다.backbone.js에서 안전하게 데이터를 송수신하는 방법

따라서 /lists과 같은 URL은 사용자가 만든 json 배열 lists으로 응답합니다. URL에 mydomain.com/lists과 같은 주소 입력을 사용하여 URL에 액세스하면 json 데이터가 브라우저의 텍스트로 표시됩니다. 응용 프로그램 내에서 URL에 액세스하는 경우에만 서버가 응답하도록합니다. 누군가 이걸 어떻게 달성 할 수 있는지에 대한 힌트를 나에게 줄 수 있습니까?

+0

당신은 그렇게 할 수 없습니다. 앱이 할 수있는 모든 것, 앱을 호스팅하는 브라우저도 할 수 있습니다. – Thilo

+1

그리고 아마도 방화범과 같은 개발자 도구를 싫어할 것입니다. 그들은 사용자에게 앱에 대한 많은 통찰력을 제공합니다. – Thilo

답변

3

@Thilo가 말한 것처럼, 올바른 도구를 가진 사람이 전선을 가로 질러 무엇이 보이는지를 막을 수는 없을 것이라고 Firebug의 콘솔/넷 탭은 이미 요청을 추적하고 응답 내용을 표시합니다 .

즉, HTTP_X_REQUESTED_WITH HTTP 헤더가 'XMLHttpRequest'로 설정되어 있는지 확인한 다음이 경우에만 JSON 만 반환하면됩니다. Backbone은 Ajax 호출을 만들어 백본 호출 (현대 브라우저에서)의 경우 항상 그렇습니다. 다시 말하지만 주소 표시 줄에 직접 입력하는 사람들 (일반 GET 요청을하는 사람들)은 JSON을 보지 못합니다.

+0

은 'HTTP_X_REQUESTED_WITH'입니다. 아약스 요청을 확인하는 확실한 방법입니까, 아니면 서버 측에 더 많은 체크를해야합니까? – vikmalhotra

+0

jQuery는 Ajax 요청 중에 항상이 헤더를 설정하므로 Ajax 라이브러리를 확인하십시오. – c4urself

+0

"실수". jQuery 요청에는이 요청이 있지만 요청을 작성한 사람은 누구나이 헤더를 추가 할 수도 있습니다. 다시 말하지만, 주소 표시 줄에 직접 입력하는 사람들에게만 도움이됩니다. 누군가 그것을 해킹하고 싶다면 그렇게 할 수 있습니다. – Thilo

관련 문제