[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как определить, откуда пришел запрос?
Catsys
Дело в безопасности, файлы сервера будут запрашиватся с другого сервера либо file_get_contents() или curl-ом, как определить точно, с какого УРЛа пришел запрос? но определить надо так, чтобы нельзя было обмануть.



Спустя 14 минут, 50 секунд (20.06.2011 - 20:40) killer8080 написал(а):
$_SERVER['HTTP_REFERER']
Но его можно подделать, а идеального способа нет.

Спустя 6 минут, 27 секунд (20.06.2011 - 20:46) Catsys написал(а):
нет,дело не в подделать, а в том что исходные коды клинтского скрипта будут у юзера, он может просто тупо подставить любой адрес для передачи,посему мне надо именно на стороне сервера определить урл, с которого пришел запрос, а реферрер не годится хотябы потому, что он при прямом заходе на страницу не передается

Спустя 10 минут, 48 секунд (20.06.2011 - 20:57) killer8080 написал(а):
URL - это запрос к серверу, у клиента его нет, есть только IP. Если нужно ограничить аплоуд, можно просто запретить его для не залогиненых пользователей. Или я непраильно понимаю суть вопроса.

Спустя 15 минут, 57 секунд (20.06.2011 - 21:13) Catsys написал(а):
неправильно, дело в том что я разрабатываю цмс, с платным доступом к основному(моему) серверу,ююзер будет устанавливать цмс к себе на сервер, соответственно будет иметь доступ к исходным кодам цмс, а сервер по запросам должен определить,оплачен ли доступ этому сайту, т.е. передать урл для дальнейшей обработки

Спустя 9 минут, 39 секунд (20.06.2011 - 21:23) killer8080 написал(а):
Ну тогда нужно привязываться к IP. То есть юзер купивший право доступа должен указать IP своего сервера, либо резолвить домен запросившего хоста.

Спустя 4 минуты, 28 секунд (20.06.2011 - 21:27) Catsys написал(а):
резолвить ,это как?
к ip привязываться смысла нет, там у хостингов по 300 сайтов на одном ip

Спустя 5 минут, 12 секунд (20.06.2011 - 21:32) killer8080 написал(а):
Юзер указывает IP или домен своего сайта. Во втором случае нужно определить адрес по домену и внести его в БД, а потом проверять принадлежность по IP. Либо каждому юзеру выдавать уникальный ключ.

Спустя 4 минуты, 59 секунд (20.06.2011 - 21:37) Catsys написал(а):
уникальные ключи есть мания раздавать,если ориентироватся на ip+домен,то один юзер сможет несколько цмс поставит на одном серваке,+есть маленькая вероятность совпадения

Спустя 2 минуты, 38 секунд (20.06.2011 - 21:40) Catsys написал(а):
может както можно инклюдировать удаленный файл,цмс то на сервере юзера,значит можно как-то изменить настройки

Спустя 5 минут, 3 секунды (20.06.2011 - 21:45) killer8080 написал(а):
Я так понимаю это система обновления?
Поскольку запросы шлёт ваш собственный скрипт, можно заставить его в запросе добавить свой HTTP_HOST, как вариант?

Спустя 7 минут, 9 секунд (20.06.2011 - 21:52) Catsys написал(а):
это не систеема обновления, таким образом мой сервер будет возвращать контент определенного содержания, HTTP_HOST это понятно, но что мешает вору подставить в код любой другой? пожалуй остановимся на варианте домен+ip, так наверно будет более точно, будем надеется на моральные устои, а для отвода глаз, раздавать уникальные ключики, которые тоже проверять, таким образом тройная защита,одним запросом,потом че нидь поумнее придумаю, спасибо тебе за помощь

Спустя 3 дня, 18 минут, 49 секунд (23.06.2011 - 22:11) Baton написал(а):
передавать в запросах с клиентских серверов в POST(curl такое кажись позволяет вполне) некую соль (а лучше, 2 хэша), на стороне твоего сервера производить некую манипуляцию с этими двумя хэшами(например, получение ещё одного хэша из склееных двух) и искать хэш в базе данных. соответственно, уже ясно : платил, не платил или отдавать доступ, не отдавать.

этими хэшами с сервера клиента могут быть "ключ_1" и "ключ_2" (логин-пароль, если кому удобнее). хэшировать ключи лучше на стороне клиента(хотя, особо без разницы) и передавать по HTTPS.

удачи cool.gif

алсо, могу расписать подробнее, если что.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.