|
|
|
|
|
для: cheops
(01.05.2011 в 20:43)
| | Огромное спасибо!!! | |
|
|
|
|
|
|
|
для: sega_z
(01.05.2011 в 18:13)
| | Да (так как IP-адрес формируется сервером, а не пользователем, этого регулярного выражения должно быть более чем достаточно). | |
|
|
|
|
|
|
|
для: cheops
(01.05.2011 в 17:57)
| | Т.е. в этом коде возможны все одно-, двух-, трёх-значные цифры и точки между ними? | |
|
|
|
|
|
|
|
для: sega_z
(01.05.2011 в 17:44)
| | Можно начать отталкиваться примерно от следующего скрипта
<?php
if (!preg_match("/^[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}$/", $_SERVER['REMOTE_ADDR']))
{
exit ("<br><h3 align='center'>Сообщения от пользователей со скрытым IP адресом не принимаются<h3>");
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(01.05.2011 в 17:35)
| | Да у меня есть проверка:
if (empty ($_SERVER['REMOTE_ADDR'])) // Если пользователь скрыл свой IP адрес
{
exit ("<br><h3 align='center'>Сообщения от пользователей со скрытым IP адресом не принимаются<h3>");
}
|
И теперь достаточно проверить наличие формы цифр с точками.
Можете написать полный код регулярного выражения, а то я их как то не очень понимаю. | |
|
|
|
|
|
|
|
для: sega_z
(01.05.2011 в 17:31)
| | Ну в самом простом варианте (без скрупулезного соответствия от 0 до 255) это выражение будет выглядеть так
/^[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}$/
| однако в реальности достаточно проверить, чтобы эта переменная не была пустой при помощи empty() - собственно другие варианты уже слишком невероятны, если они случаются - от сервера можно ожидать чего угодно. | |
|
|
|
|
|
|
|
для: cheops
(01.05.2011 в 17:11)
| | А может составить регулярное выражение для наличия в переменной $ip = $_SERVER['REMOTE_ADDR'] именно IP адреса (они же все одного типа: 102.25.25.52)? | |
|
|
|
|
|
|
|
для: sega_z
(01.05.2011 в 15:28)
| | Это вообще говоря редкая штука, чаще всего переменные перезатираются самим скриптом, поэтому очень важно зафиксировать моменты появления этой ошибки, чтобы потом можно было воспроизвести ситуацию. | |
|
|
|
|
|
|
|
для: cheops
(01.05.2011 в 13:28)
| | Кстати, техподдержка моего хостинга тоже удивлена причиной пустой переменной $ip.
Вот их ответ:
"Уточните, при этом остальные элементы массива _SERVER притствуют? Заметили ли вы какую-то закономерность в возникновении подобных ошибок (один и тот же клиент или что-то подобное)?" | |
|
|
|
|
|
|
|
для: cheops
(01.05.2011 в 13:28)
| | С данным вопросом я обратился в техподдержку хостинга, жду ответа ...
Сообщу вам о результатах. | |
|
|
|
|