[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как определить откуда запрос
beginner
У меня на php написана страничка например http://localhost/index.php
В ней есть форма где идет обращение к ней же action="{$_SERVER['PHP_SELF']}"
Также есть локальный файл на диске d:\xxx.html
в котором есть форма:
HTML
<form name="form1" method="post" action="http://localhost/index.php">
<input type="text" name="textfield">
<input type="submit" name="Submit" value="Submit">
</form>


Как отличить, в http://localhost/index.php что на него вошли с http://localhost/index.php, а не с локального d:\xxx.html



Спустя 20 минут, 57 секунд (4.08.2009 - 08:59) waldicom написал(а):
Возможно поможет $_SERVER["HTTP_REFERER"] ?

Спустя 3 минуты, 47 секунд (4.08.2009 - 09:03) beginner написал(а):
Цитата (waldicom @ 4.08.2009 - 05:59)
Возможно поможет $_SERVER["HTTP_REFERER"] ?

У меня на этот индекс выдает
Notice: Undefined index: HTTP_REFERER in C:\WWW\htdocs\index.php on line 16

Спустя 9 минут, 43 секунды (4.08.2009 - 09:13) beginner написал(а):
Я просто хочу чтоб на моей страничке могли оставлять комментарии любые пользователи (без всяких капчей). И чтоб обращение шло только через демон http

А то вдруг кто-то напишет сам свою страничку с формой и адресом
моей странички и всеми необходимыми данными и будет в цикле на JavaScript
отправлять данные мне и быстро все переполнит

Спустя 10 минут, 35 секунд (4.08.2009 - 09:23) REANIMATOR написал(а):
А если я напишу скрипт на бесплатном хосте, там же тоже домен http wink.gif

Спустя 13 минут, 40 секунд (4.08.2009 - 09:37) REANIMATOR написал(а):
однако если ты хочешь всё равно так как ты сказал так вот код который не даст локальному айпи войти на сайт.
поправил
if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') die(header("Location: /"));

НО в стадии разработки ты тоже на него не сможешь войти smile.gif


Спустя 21 секунда (4.08.2009 - 09:37) beginner написал(а):
Цитата (REANIMATOR @ 4.08.2009 - 06:23)
А если я напишу скрипт на бесплатном хосте, там же тоже домен http wink.gif

Верно, выразился не так:
Как определить что моя страничка index.php была загружена именно c моей же странички в браузере клиента (с нее же был запрос) - ни с какой другой.

Как вообще подобные вопросы решаются?

Спустя 7 минут, 37 секунд (4.08.2009 - 09:45) REANIMATOR написал(а):
не я не прав то тоже не сработает

Спустя 8 минут, 2 секунды (4.08.2009 - 09:53) REANIMATOR написал(а):
waldicom был прав =))

HTTP_REFERER покажет откуда пришёл запрос

а ошибку он тебе выдает потому что когда заходишь с d:\xxx.html то эта переменная пуста.
Соответственно тебе придётся проверить сначала есть ли в ней что то (if(isset($_SERVER['HTTP_REFERER'])){}), затем сравнить её с $_SERVER['PHP_SELF'] если одинаковы значит с твоей страницы если нет значит не с твоей.

Спустя 33 минуты, 5 секунд (4.08.2009 - 10:26) beginner написал(а):
REANIMATOR спасибо
теперь ОК
Быстрый ответ:

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