Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   как передать изображение на сервер? (https://javascript.ru/forum/jquery/14958-kak-peredat-izobrazhenie-na-server.html)

FINoM 20.04.2011 16:48

x-yuri, я плохо объяснил задачу. Если сильно упростить, сервер A имеет php файл, в котором прописано:
echo '{"x":"5", "y":"21"}'

Сам пользователь может открыть у себя в браузере эту страничку и посмотреть эти данные. Ну или не может, тут разницы нету.

Владелец сервера A предоставляет услугу веб сервиса по раздаче информации об "x" и "y" платно и поддерживает актуальность этих данных, например, каждую минуту (то есть данные динамичны, постоянно заходить и копипастить нету смысла). Владелец сервера B заплатил денег владельцу сервера A, чтоб иметь возможность размещать у себя информацию, что на данную минуту x = 5, а y = 21 (может использоваться ajax или обращение из серверного скрипта). В своё время владелец сервера E зажмотился заплатить денег, значит ему нельзя обращаться к серверу B и через ajax и через php.

Magneto 20.04.2011 21:26

Цитата:

снова повторюсь, сервер злоумышленника может отсылать куки, юзерагент, ip так же как и клиент.
Интересно как это сервер злоумышленика может отсылать любые IP?
Это какой то бред.

FINoM 21.04.2011 02:39

Цитата:

Сообщение от Magneto
Интересно как это сервер злоумышленика может отсылать любые IP?

Где написано что любые? Я говорю о том, что он может эмулировать работу клиента и, если осуществляется проверка по IP, то пользователь не сможет получить доступ к сервису через ajax. Основная мысль: использование проверки по IP не имеет смысла.

FRIE 21.04.2011 12:09

я разобрался как делать, вернее придумал и реализовал.
Я даю пользователю форму и кнопку по нажатию он выбирает у себя файл. После выбора файла он летит на сервер и обзывается именем del_тратата , и пишу имя файла в сессию, а после того как он сабмитит форму сервак убирает в названии файла del_ . И в следующий раз когда юзер выбирает файл , перед тем как его положить в папку , скри пт удаляет файлы начинающиеся на del_ чтобы не было мусора.

Вот так красиво и просто =) не понимаю ваших заморочек...

x-yuri 22.04.2011 20:39

Цитата:

Сообщение от Magneto
Интересно как это сервер злоумышленика может отсылать любые IP?
Это какой то бред.

вообще-то, на самом деле можно, только не знаю, насколько просто

Цитата:

Сообщение от FINoM
если осуществляется проверка по IP, то пользователь не сможет получить доступ к сервису через ajax. Основная мысль: использование проверки по IP не имеет смысла.

сможет, ты же серверы по IP банить будешь, а не клиенты. А клиентов либо через Origin, либо через Access-Control-Allow-Origin

Цитата:

Сообщение от FRIE
Вот так красиво и просто =) не понимаю ваших заморочек...

это уродливо и сложно. Просто - это отправить форму в iframe

FINoM 24.04.2011 17:37

Цитата:

Сообщение от x-yuri
сможет, ты же серверы по IP банить будешь, а не клиенты. А клиентов либо через Origin, либо через Access-Control-Allow-Origin

Ну а как определить что это сервер, если он отсылает точно такие же заголовки как и клиент? Access-Control-Allow-Origin, если я правильно понял дает возможность доступа, если в заголовках прописан соответствующий реферер.

Magneto 24.04.2011 18:11

Цитата:

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"}', а если нет, сообщение об ошибке или на свое усмотрение.

x-yuri 27.04.2011 23:05

Цитата:

Сообщение от FINoM
Ну а как определить что это сервер

не надо этого определять. Разрешаешь запросы с заплативших серверов (по ip) и для клиентов заплативших серверов (по Origin)

FINoM 29.04.2011 03:23

Цитата:

Сообщение от Magneto
У Вас очень слабое понимание основ функционирования сети TCP/IP.
Возможно стоит заполнить этот пробел.

Да, спасибо. Что посоветуете почитать (и по HTTP)?
Цитата:

Сообщение от Magneto
В PHP есть переменная $_SERVER['REMOTE_ADDR'], в этой переменной содержится настоящий IP-адресс ресурса который к Вам обратился.

К клиенту, использующему кроссдоменный аякс это не относится?


Часовой пояс GMT +3, время: 04:54.