Как получить IP-адрес от формы-почтовика - PullRequest
2 голосов
/ 28 декабря 2011

У меня есть строка кода ниже в моей контактной форме с намерением захватить IP-адрес моих посетителей через форму. Вместо этого он возвращает значение по умолчанию. Как я могу получить его, чтобы вернуть IP-адрес посетителя? Мои потенциальные клиенты используют форму для связи со мной, но спамеры тоже.

<input type=hidden name="env_report" value="REMOTE_HOST,REMOTE_ADDR">

Ответы [ 2 ]

1 голос
/ 28 декабря 2011

Что именно вы ожидаете от этого?

Если вам нужен IP-адрес, посмотрите на адрес клиента в HTTP-запросе, который генерирует форма. Если форма динамически создает на клиенте электронное письмо (т.е. не отправляет данные формы обратно в HTTP-запросе), которые вы хотите заполнить некоторыми значениями, то вам нужно будет установить значения из кода, который генерирует HTML (JavaScript не знает об IP-адресах) например с PHP ....

<input type=hidden name="env_report" value="<?php print $_SERVER['REMOTE_ADDR']; ?>">

Только для кого-то тривиально изменить содержимое электронного письма, если только вы не включите какое-либо обнаружение взлома ....

<input type=hidden name="anti_tamper" value="<?php 
    print md5('s3cr3t' . $_SERVER['REMOTE_ADDR']); 
?>">

... и подтвердить при получении.

0 голосов
/ 28 декабря 2011

Вы не можете получить его напрямую из HTML. Лучший способ получить его, используя язык на стороне сервера, например PHP. В PHP можно использовать $ _ SERVER ['REMOTE_ADDR'] для получения IP-адреса Клиента. Вот запись в блоге, которую я написал недавно на Получение реального IP-адреса клиента в PHP .

Не существует надежного способа получить IP-адрес с помощью JavaScript, но вы можете увидеть этот вопрос , более подробно о нем.

Таким образом, вы хотели бы проверить IP-адрес, когда форма была отправлена ​​на ваш сервер, а затем определить его там, был ли отправленный спаммер или обычный пользователь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...