[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача адреса страницы в форме обратной связи
Страницы: 1, 2
Dmitry_Orlov
Форма обратной связи размещена на всех страницах сайта. Она пересылает все поля, которые указаны в форме, но мне бы хотелось ещё получать адрес страницы, на которой посетитель заполнил форму.
Я использую модальные окна jquery и запускаю файл php через javascript.
Что нужно дописать в html, javascript и php, чтобы в приходящем мне на ящик письме указывался адрес страницы, на которой была заполнена форма обратной связи?
Спасибо всем откликнувшимся!
П.С. В приложении файл с кодом из страницы и php (друг за другом).
sign63
<?
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
?>


_____________
user posted image
Dmitry_Orlov
Спасибо, что отозвались!
Если я вставляю этот код, то мне приходит адрес размещения php файла на сайте, а не адрес страницы, на которой была нажата кнопка отправки. =(
Dmitry_Orlov
Спасибо за совет. Нашёл список элементов $_SERVER и добавил следующую строку в формирование отсылаемого сообщения:
$msg .= "<p><strong>Страница:</strong> ".$_SERVER['HTTP_REFERER']."</p>\r\n";
теперь всё работает!
Спасибо!
Visman
$msg .= "<p><strong>Страница:</strong> ".$_SERVER['HTTP_REFERER']."</p>\r\n";

Это явная уязвимость, почтовый ящик могут взломать ;)
Игорь_Vasinsky
что предлагаешь?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Dmitry_Orlov
Почтовый ящик могут взломать и без этого.
Чем данный вариант увеличивает его уязвимость или вероятность взлома?
Игорь_Vasinsky
ну раз рефера можно подделать - то видимо - есть уязвимость. я не слышал.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Visman
$_SERVER['HTTP_REFERER'] данные приходят от пользователя. Что хочу, то и передам.
Используем функцию htmlspecialchars() для вывода таких данных.
Dmitry_Orlov
Цитата (Visman @ 7.05.2013 - 15:31)
$_SERVER['HTTP_REFERER'] данные приходят от пользователя. Что хочу, то и передам.
Используем функцию htmlspecialchars() для вывода таких данных.

Насколько я понял, то данные приходят от сервера, а не от пользователя. Туплю?

Если воспользоваться Вашим предложением, то как именно в моём случае надо использовать предложенную функцию htmlspecialchars()?
Игорь_Vasinsky
так как её придумали использовать разрабы php

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Dmitry_Orlov
htmlspecialchars — Преобразует специальные символы в HTML-сущности.
Что мне даст в моём случае такое преобразование?
Visman
Да например тебе не смогут в письмо подсунуть js. Раз у тебя там html в обрамлении, значит письмо ты собираешься смотреть как страницу в браузере. А раз в браузере, то думаю тебе не захочется, чтобы на этой странице выполнялся левый js!?
Dmitry_Orlov
У меня идёт проверка валидности введённой информации в поле с помощью javascript.
Затем, если проверка пройдена, то эта проверенная информация (а именно адрес электронной почты подписчика и его имя) отправляется с помощью php мне на почту. Этой строкой в php-файле $msg .= "<p><strong>Страница:</strong> ".$_SERVER['HTTP_REFERER']."</p>\r\n"; я просто добавляю к введённой посетителем информации адрес страницы, на которой она была заполнена.
Пока что не понимаю как посетитель может мне послать js. На каком этапе?
Visman
>На каком этапе?
На этапе отправки формы.
>У меня идёт проверка валидности введённой информации в поле с помощью javascript.
Введенные данные должны проверятся на стороне сервера. Все остальные проверки легко обходятся.
Быстрый ответ:

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