20.04.2011, 16:48
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
x-yuri, я плохо объяснил задачу. Если сильно упростить, сервер A имеет php файл, в котором прописано:
echo '{"x":"5", "y":"21"}'
Сам пользователь может открыть у себя в браузере эту страничку и посмотреть эти данные. Ну или не может, тут разницы нету.
Владелец сервера A предоставляет услугу веб сервиса по раздаче информации об "x" и "y" платно и поддерживает актуальность этих данных, например, каждую минуту (то есть данные динамичны, постоянно заходить и копипастить нету смысла). Владелец сервера B заплатил денег владельцу сервера A, чтоб иметь возможность размещать у себя информацию, что на данную минуту x = 5, а y = 21 (может использоваться ajax или обращение из серверного скрипта). В своё время владелец сервера E зажмотился заплатить денег, значит ему нельзя обращаться к серверу B и через ajax и через php.
|
|
20.04.2011, 21:26
|
|
Люмус, Емаксос Developer!
|
|
Регистрация: 06.05.2010
Сообщений: 677
|
|
Цитата:
|
снова повторюсь, сервер злоумышленника может отсылать куки, юзерагент, ip так же как и клиент.
|
Интересно как это сервер злоумышленика может отсылать любые IP?
Это какой то бред.
|
|
21.04.2011, 02:39
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от Magneto
|
Интересно как это сервер злоумышленика может отсылать любые IP?
|
Где написано что любые? Я говорю о том, что он может эмулировать работу клиента и, если осуществляется проверка по IP, то пользователь не сможет получить доступ к сервису через ajax. Основная мысль: использование проверки по IP не имеет смысла.
|
|
21.04.2011, 12:09
|
Профессор
|
|
Регистрация: 25.02.2010
Сообщений: 218
|
|
я разобрался как делать, вернее придумал и реализовал.
Я даю пользователю форму и кнопку по нажатию он выбирает у себя файл. После выбора файла он летит на сервер и обзывается именем del_тратата , и пишу имя файла в сессию, а после того как он сабмитит форму сервак убирает в названии файла del_ . И в следующий раз когда юзер выбирает файл , перед тем как его положить в папку , скри пт удаляет файлы начинающиеся на del_ чтобы не было мусора.
Вот так красиво и просто =) не понимаю ваших заморочек...
|
|
22.04.2011, 20:39
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Magneto
|
Интересно как это сервер злоумышленика может отсылать любые IP?
Это какой то бред.
|
вообще-то, на самом деле можно, только не знаю, насколько просто
Сообщение от FINoM
|
если осуществляется проверка по IP, то пользователь не сможет получить доступ к сервису через ajax. Основная мысль: использование проверки по IP не имеет смысла.
|
сможет, ты же серверы по IP банить будешь, а не клиенты. А клиентов либо через Origin, либо через Access-Control-Allow-Origin
Сообщение от FRIE
|
Вот так красиво и просто =) не понимаю ваших заморочек...
|
это уродливо и сложно. Просто - это отправить форму в iframe
|
|
24.04.2011, 17:37
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от x-yuri
|
сможет, ты же серверы по IP банить будешь, а не клиенты. А клиентов либо через Origin, либо через Access-Control-Allow-Origin
|
Ну а как определить что это сервер, если он отсылает точно такие же заголовки как и клиент? Access-Control-Allow-Origin, если я правильно понял дает возможность доступа, если в заголовках прописан соответствующий реферер.
|
|
24.04.2011, 18:11
|
|
Люмус, Емаксос Developer!
|
|
Регистрация: 06.05.2010
Сообщений: 677
|
|
Цитата:
|
x-yuri, я плохо объяснил задачу. Если сильно упростить, сервер A имеет php файл, в котором прописано:echo '{"x":"5", "y":"21"}'
Сам пользователь может открыть у себя в браузере эту страничку и посмотреть эти данные. Ну или не может, тут разницы нету.
Владелец сервера A предоставляет услугу веб сервиса по раздаче информации об "x" и "y" платно и поддерживает актуальность этих данных, например, каждую минуту (то есть данные динамичны, постоянно заходить и копипастить нету смысла). Владелец сервера B заплатил денег владельцу сервера A, чтоб иметь возможность размещать у себя информацию, что на данную минуту x = 5, а y = 21 (может использоваться ajax или обращение из серверного скрипта). В своё время владелец сервера E зажмотился заплатить денег, значит ему нельзя обращаться к серверу B и через ajax и через php.
|
У Вас очень слабое понимание основ функционирования сети TCP/IP.
Возможно стоит заполнить этот пробел.
Теперь насчет вопроса, у всех серверов есть IP-адресс, и у всех он разный. Вам нужно узнать IP-адресс сервера которому Вы хотите предоставлять нужную информацию. В PHP есть переменная $_SERVER['REMOTE_ADDR'], в этой переменной содержится настоящий IP-адресс ресурса который к Вам обратился. На эту переменную абсолютно не влияют заголовки которые посылает сервер.
Ну теперь все просто, смотрим значение переменной $_SERVER['REMOTE_ADDR'] и если там IP-адресс сервера который заплатил деньги то возвращаем ему echo '{"x":"5", "y":"21"}', а если нет, сообщение об ошибке или на свое усмотрение.
|
|
27.04.2011, 23:05
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от FINoM
|
Ну а как определить что это сервер
|
не надо этого определять. Разрешаешь запросы с заплативших серверов (по ip) и для клиентов заплативших серверов (по Origin)
|
|
29.04.2011, 03:23
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от Magneto
|
У Вас очень слабое понимание основ функционирования сети TCP/IP.
Возможно стоит заполнить этот пробел.
|
Да, спасибо. Что посоветуете почитать (и по HTTP)?
Сообщение от Magneto
|
В PHP есть переменная $_SERVER['REMOTE_ADDR'], в этой переменной содержится настоящий IP-адресс ресурса который к Вам обратился.
|
К клиенту, использующему кроссдоменный аякс это не относится?
|
|
|
|