Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка - Откуда пришли данные (POST)
 
 автор: forma   (11.09.2007 в 17:37)   письмо автору
 
 

Нужен скрипт который будет определять пришли ли данные с определенного ip(которые передавались POST'ом).
То есть, есть на одном сайте форма. На другом сайте скрипт, который работает с теми данными что ему передали, но перед работой он должен узнать пришли ли ему данные с "нужного" сайта.

P.S. Тоже интересно, безопасно ли это? То есть, смогут ли хакеры сделать так что бы скрипт думал что это тот самый "нужный" сайт передал ему данные?

   
 
 автор: Faraon   (11.09.2007 в 17:41)   письмо автору
 
   для: forma   (11.09.2007 в 17:37)
 

Можно определить с какого ip

$_SERVER['REMOTE_ADDR'];

Затем сравнив с правильным выдать тот или иной результат

   
 
 автор: forma   (11.09.2007 в 18:22)   письмо автору
 
   для: Faraon   (11.09.2007 в 17:41)
 

Ну дык $_SERVER['REMOTE_ADDR'] выдаст ip сайта на котором скрипт, а не с которого пришли данные.

   
 
 автор: kasmanaft   (11.09.2007 в 18:24)   письмо автору
 
   для: forma   (11.09.2007 в 18:22)
 

Нет-нет, что Вы, что Вы! ;)
remote же..

   
 
 автор: forma   (11.09.2007 в 20:55)   письмо автору
 
   для: kasmanaft   (11.09.2007 в 18:24)
 

тьфу, все напутал я...
remote выдаст ip пользователя, а мне нужен ip сайта с которого пришли данные.

   
 
 автор: tricket   (11.09.2007 в 18:53)   письмо автору
 
   для: forma   (11.09.2007 в 17:37)
 


P.S. Тоже интересно, безопасно ли это? То есть, смогут ли хакеры сделать так что бы скрипт думал что это тот самый "нужный" сайт передал ему данные?

Хм изучи немного http протокол)
И подумай в чём разница между тем пошлю я данные из формы или из скрипта генерирующего запрос?! Ответ разницы никакой!(да вычилить можно что послал скрипт, например смотреть грузит ли клиент картинки... время между запросами также смотреть... но это всё тупизм... одна защита тут КАПТЧА и сессия, на странице формы открыл сессию, на другой смотришь эту сессию). Опять же делая бота к твоему сайту я обойду это) Возьму номер сессии скриптом на форме и отошлю етото индефикатор скрипту) Так что делай капчу если нужна защита от спама и брута... от хака так просто вроверяй присылаемые значения хорошенечко... что те даст то что хакер даже не сможет с "других форм отправить данные"? да ничего тебе это не даст, так же как и хакеру...
А вообще опиши ситуацию поподробней, если это конечно же не секретный сайт пентагона :)

   
 
 автор: forma   (11.09.2007 в 21:02)   письмо автору
 
   для: tricket   (11.09.2007 в 18:53)
 

Я не правильно объяснил... Формы на первом сайте нет, просто я буду передавать данные постом.
То есть:
У меня магазин(к примеру), покупатель оплачивает товар, его пересылают на другой сайт, где выдают сам товар. Надо сделать так, что бы покупатель не смог сам передать этому сайту что он как бы "оплатил" товар.

   
 
 автор: Loki   (13.09.2007 в 13:20)   письмо автору
 
   для: forma   (11.09.2007 в 21:02)
 

самое простое - передавать эахэшированные даныне + некий ключ.
например md5('название товара'.'стоимость'.'пароль')
Подобным образом, работают, например, вебмани...

   
 
 автор: tricket   (13.09.2007 в 13:58)   письмо автору
 
   для: Loki   (13.09.2007 в 13:20)
 

а если я перехвачу закешированные данные?
я просто их эмулирую и всё, без всякой расшифровки!

   
 
 автор: Poison   (13.09.2007 в 14:05)   письмо автору
 
   для: tricket   (13.09.2007 в 13:58)
 

Как это ты их перехватишь?

   
 
 автор: tricket   (13.09.2007 в 17:03)   письмо автору
 
   для: Poison   (13.09.2007 в 14:05)
 

троем к примеру, или проснифаю трафик... блин та сбособов дофига...

   
 
 автор: Loki   (14.09.2007 в 13:31)   письмо автору
 
   для: tricket   (13.09.2007 в 17:03)
 

серверный троян? под линукс? это что-то новое...

   
 
 автор: tricket   (14.09.2007 в 20:37)   письмо автору
 
   для: Loki   (14.09.2007 в 13:31)
 

под сервера не трои юзают, а сплоиты.
если будет сервак мне данные товара юзера тупого нафиг не нужны)))))))))
та зачем мне нужен сервак? у юзера сворую) ведь как я понимаю ты предлагаешь данные через куки слать?
ЗЫ шучу) я не хакер)

   
 
 автор: Loki   (13.09.2007 в 15:54)   письмо автору
 
   для: tricket   (13.09.2007 в 13:58)
 

добавьте туда номер платежа. и тогда этот пакет будет срабатывать только один раз

   
 
 автор: Loki   (12.09.2007 в 15:57)   письмо автору
 
   для: forma   (11.09.2007 в 17:37)
 

только реферер, но он ненадежен.

   
 
 автор: mihdan   (14.09.2007 в 17:11)   письмо автору
 
   для: Loki   (12.09.2007 в 15:57)
 

сессии - в форме ставим hidden со значеием session_id(), и в принимающем скрипте проверяем то что пришло с session_id(). Если они равны то это ваш сайт иначе скрипт с друго сервака

   
 
 автор: forma   (14.09.2007 в 17:20)   письмо автору
 
   для: mihdan   (14.09.2007 в 17:11)
 

Сайты на разных серваках...

   
 
 автор: mihdan   (14.09.2007 в 17:25)   письмо автору
 
   для: forma   (14.09.2007 в 17:20)
 

в хидден поле передайте что-нить шифрованное обратимо, на другом сервере проверьте совпадает ли расшифрованное с оригиналом

   
 
 автор: kasmanaft   (14.09.2007 в 19:51)   письмо автору
 
   для: mihdan   (14.09.2007 в 17:25)
 

> в форме ставим hidden со значеием session_id(), и в принимающем скрипте проверяем то что пришло с session_id(). Если они равны то это ваш сайт иначе скрипт с друго сервака
Скрипт с другого сервака может зайти на сайт, получить себе session_id и благополучно отправить что нужно.

> что-нить шифрованное
Например?

   
 
 автор: Poison   (14.09.2007 в 21:01)   письмо автору
 
   для: kasmanaft   (14.09.2007 в 19:51)
 

Самый оптимальный вариант это ( как предложил Loki ) придумать secret-key который будет известен только сервакам, далее считаем сумму secret-key+id товара+номерсчета.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования