2012-11-29 5 views
3

지금은 Google지도에 오버레이 된 지역 식당의 리뷰/추천을 처리하는 서비스를 제공하고 있습니다. 기본적으로 Yelp이지만 특정 틈새 시장으로 제한됩니다. 어쨌든, 모든 위치를로드하고 한 번에 검토 할 필요가 없으므로 마침내 jQuery 및 AJAX 호출을 사용하고 있습니다.AJAX 서비스를 어떻게 보호합니까?

내가 가진 질문은 다음과 같습니다. 서버의 내 아약스 스크립트에서 다른 사람들이 다른 데이터를 '긁어 모으지 못하게하려면 어떻게합니까?

기본지도/위치 정보 기능은 공개되어 있어야합니다. 사용자가 애플리케이션을 사용하기 위해 로그인 할 필요가 없으므로 간단히 말하자면 이 긁힐 수 있습니다. 나는 AJAX 베테랑 중 한 명이 나에게 더 나은 아이디어의 방향으로, 또는 내가 아직 찾을 수 없었던 몇 가지 '모범 사례'문서를 가리킬 수 있기를 희망한다.

지금까지 내가 가지고 올 수있었습니다 모두는 다음과 같습니다

  • 사용자 지향 스크립트는 서버에 단명 한 세션을 열고 AJAX는 활성 세션없이 실행되지 않습니다 호출합니다.
  • 응용 프로그램 코드와 함께 일종의 액세스 키를 보내고 모든 AJAX 호출에서이를 요구합니다. 그러나이 문제를 쉽게 해결할 수있는 방법으로 최선을 구현하는 방법을 모릅니다.
+1

JS는 기본적으로 오픈 소스입니다. 당신이 얻을 수있는 가장 가까운 것은 난독 화입니다. –

답변

5

AJAX 웹 서비스를 완벽하게 보호 할 수는 없습니다. 데이터를 엉망으로 만들고 소스 코드를 난독 화한다고하더라도 패킷 스니퍼 나 프록시 디버깅을 시작하고이를 파악하고 그로부터 긁어 모으는 것은 쉽지 않습니다.

내가하는 일은 사용자가 제안한 것입니다 ... 사이트에서 활성 세션을 가진 사용자 만 전화를 걸 수 있습니다. 그런 다음 거기에서 스로틀 요청을합니다.

분주 한 일반 사용자조차도 분당 몇 개 이상의 요청을하지 않습니다. 로그를 분석하여 좋은 숫자가 무엇인지 파악할 수 있습니다. 분당 20 회의 통화로 서비스를 제한하더라도 이러한 제한으로 인해 모든 콘텐츠를 복제하려는 사람들에게는 아무런 소용이 없습니다.

세션 데이터에만 제한을 두지 말고 IP 주소를 감시하십시오. 언제든지 요청을 시작하고 새 세션을 시작할 수 있습니다. 주기적으로 로그를 확인하여 문제가 없는지 확인하고 적절하게 전략을 조정하십시오.

마지막으로 정기적으로 콘텐츠를 검색하십시오. Google은 저작권을 침해하는 사람을 찾는 훌륭한 도구입니다. GPS 좌표와 같은 특정 데이터를 사용하는 경우 실제로는 좌표의 노이즈 영역에서 특정 값을 사용하여 좌표에 워터 마킹 할 수 있습니다.

+0

나는 'Red Herring'위치를 몇 개 추가 할 생각 이었지만, 코드를 워터 마킹하는 것은 나에게 새로운 것입니다. 이 '노이즈'영역은 소수점 아래까지 얼마나 멀리 떨어져 있습니까? – Sammitch

+0

내 유익한 방법! –

+0

@Sammitch, 정확성 요구 사항 및 지구상의 위치에 따라 다릅니다. 예를 들어, 더 높은 위도는 경도 사이의 거리가 더 작습니다. 시카고 의회와 미시간 애비뉴에 있다고 가정하고, 미시건 (6 레인 및 중간 값)을 걷고 싶습니다. 나는 경도 -87.62440에서 -87.62413로 갈 것이다. 좌표에 배정도 수레를 사용하는 경우 좌표의 정확도를 높이 지 않고 워터 마킹에 대해 몇 자리 수를 쉽게 사용할 수 있습니다. 대부분의 GPS 장치는 어쨌든 15 피트 이상 정확하지 않습니다. (셀룰러 지원 GPS가 더 정확합니다.) – Brad

1

나는 당신이 서비스의 자바 스크립트 측면을 보호하기를 원합니다. JavaScript는 본질적으로 공개 소스이기 때문에 (공개 도메인이 아님)

Google은 공백과 탭을 제거하여 스크립트를 압축 할 수있는 tool called Google Closure을 제공합니다. 또한 변수 이름과 함수 이름을 임의 문자로 대체하여 문서를 난독화할 수 있습니다. 그것은 사용자 정의 할 수 있으므로 원하는 것을 말할 수 있습니다. 내가 말할 수있는 바에 따르면, Google은 자신의 웹 사이트 (페이지의 출처를 보면 분명 함)에 사용합니다.

+0

자바 스크립트 난독 화는 특히 그가 실제로 보호해야하는 것이 액세스되는 데이터이기 때문에별로 쓸모가 없습니다.Google은 코드를 축소하는만큼 코드를 혼란스럽게하지 않지만 비슷한 효과가 있지만 다운로드하기 위해 코드를 작게 만드는 것을 목표로합니다. – Brad

+0

@Brad minify는 본질적으로 자바 스크립트에서 난독 화에 대해 알지 못해 얻을 수있는 최고의 난독 화입니다. 해커가 될 해커를 막을 것입니다. (해킹 세계에 들어가려는 사람들) –

관련 문제