Предотвращение кражи данных
Я знаю, что невозможно запретить людям красть наши данные, но у меня есть большая база данных, и я хочу, по крайней мере, предотвратить автоматическое использование моей базы данных скриптами.
Мои идеи пока:
- использовать JavaScript или кодировать HTML = тяжелый и может быть легко декодирован
- recaptcha для поиска = нет, пользователи просто покинут мой сайт
- вставка случайных данных и тегов в сайт HTML, чтобы избежать регулярных выражений rip = хорошо?
Любые идеи приветствуются.
3 ответа
Я думаю, что Alexa вставляет случайные теги в разметку, и это дало мне время, когда я пытался его майнить... они добавили несколько дополнительных тегов в рейтинг Alexa, например: <span class="a5r">35</span><span class="et4">52</span><span class="arer">16</span>
и если вы не скачали таблицу стилей и не посмотрели на правила рендеринга, вы не могли бы определить, каким должно быть число.
Но... если бы я был достаточно терпелив, я мог бы "отрендерить" цифры и затем добыть их, но это просто не стоило для меня. Ограничение запросов страниц до максимально возможного количества людей, вероятно, будет работать хорошо (50/ мин или около того).
Почему люди хотят украсть вашу базу данных? Почему это важно, если они делают? Будет ли просить их не быть достаточным?
Уточните свою политику и убедитесь, что юридический отдел вашей компании проверил формулировку. Предотвратите несанкционированную синдикацию, указав, что она не разрешена и что вы будете предпринимать правовые меры для ее предотвращения.
Или, что еще лучше, поощряйте авторизованную синдикацию. Люди будут проводить несанкционированную синдикацию только в том случае, если у них нет разумного способа сделать это авторизованным способом.
Технические меры могут иметь некоторый эффект, но будут сдерживать только тех, кто не особенно компетентен или решителен.
Ни одно из предложенных вами решений не сработает. Хороший сценарист может легко обойти это. Но есть техническое решение для этого на стороне сервера приложений: установить ограничение скорости. Разрешить только один поиск с данного IP-адреса один раз каждые, скажем, 10 секунд. Это сделает медленный анализ данных с вашего сайта очень медленным.