| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Существует ли адрес? |
| Автор: Gold Dragon 6.12.2004, 16:16 |
| Можно ли проверить средствами РНР существует ли введённый адрес или нет, т.е. юзер вводит адрес, а мне нужно проверить не левый ли он. |
| Автор: Secandr 6.12.2004, 16:17 |
| адрес чего? |
| Автор: Gold Dragon 6.12.2004, 16:44 |
| Например: http://forum.vingrad.ru и http://forumm.vingradd.ru |
| Автор: Opik 6.12.2004, 17:00 | ||
|
| Автор: Secandr 6.12.2004, 17:01 |
| Opr Если сокеты на сервере поддерживаются. |
| Автор: Opik 6.12.2004, 17:05 |
| Secandr таких "если" можно составить тысячи, есть множество вариантов проверки, я должен писать каждый?) |
| Автор: Mal Hack 6.12.2004, 18:00 |
| Вариант: gethostbyaddr(); если не найдет - вернет пустую строку. |
| Автор: penizillin 6.12.2004, 20:05 |
| Opr: если есть поддержка сокетов, то следует добавить в ваш код запрос HEAD и проанализировать ответ. потому что одного connect'а часто не хватает, приходится выфильтровывать все ответы на 3*и 5*. |
| Автор: Gold Dragon 7.12.2004, 09:24 | ||
|
| Автор: Opik 7.12.2004, 12:58 |
| http://ee.php.net/gethostbyaddr |
| Автор: Gold Dragon 7.12.2004, 13:34 |
| очень интересные функции gethostbyname() и gethostbyaddr() Только если такого адреса нет, возвращается не пустая строка, а то что было передано. И кажется он не совсем верно работает и доменами 3 уровня.. |
| Автор: Mal Hack 7.12.2004, 15:16 | ||
Для gethostbyname().. Если найдет - вернет IP адрес, если нет - переданное в качестве параметра имя хоста. С доменами 3 уровня работает замечательно. gethostbyaddr работает с IP, но сам понимаешь, на одном айпи могут быть несколько доменов. Если же на этом IP один сайт, то по вернет имя хоста. Я там выше описался малость, вместо addr надо name... |
| Автор: Gold Dragon 7.12.2004, 15:30 | ||
|
| Автор: Mal Hack 7.12.2004, 15:32 |
| Да, это не исправить, поскльку пользователю тебе тобишь обратно не возвращается 404, а сервер сам ее обрабатывает и перекидывает на сайт хостинга, и возвращает тебе 200... |
| Автор: IZ@TOP 9.12.2004, 18:49 |
| Вариант: писать запрос через сокет к сайту, нет коннекта (сайт нечуществует либо недоступен), есть коннект - проверяем небыло ли редиректа, был - сайт баним. |
| Автор: Gold Dragon 10.12.2004, 13:05 |
| IZ@TOP А не поможешь кодом ;) |
| Автор: IZ@TOP 10.12.2004, 13:21 |
| Это к знакотам HTTP спецификации. Я могу только напрвить в нужное русло. |
| Автор: penizillin 10.12.2004, 15:14 |
| мое сообщение было для вас не достаточно понятным? |
| Автор: Gold Dragon 10.12.2004, 15:23 | ||
|
| Автор: penizillin 10.12.2004, 15:26 |
| что именно: [ ] sockets [ ] HEAD / GET [ ] 3* / 5* (поставить крестик) |
| Автор: Наставник 10.12.2004, 15:57 | ||
| А вот тебе мой совет.. Для корректного распознавания адреса лучше использовать следующий метод.
|
| Автор: Opik 10.12.2004, 16:05 | ||
Не факт. Есть и адреса без домена и на них попадать при помощи ипа надо. |
| Автор: Наставник 10.12.2004, 16:11 | ||
Согласен, в этом случае... надо просто проверить ip... |
| Автор: Opik 12.12.2004, 19:34 | ||
Тоже не подходит, у меня например сайт: www.opik.ru и сразу кидает на www.opik.ru/portal |
| Автор: IZ@TOP 13.12.2004, 14:24 | ||
Так лучше не делать, этоже делает индексацию поискавиками хуже. |