16.09.2015, 13:03
|
Аспирант
|
|
Регистрация: 16.06.2012
Сообщений: 44
|
|
Сообщение от laimas
|
enctype="multipart/form-data"
|
Данный код был скопирован из браузера
в исходном файле это выглядит так <form class="g-form-m g-form-m_main" action="{site_url('feedback')}" method="post">
Сообщение от laimas
|
PS. И не name="imia", а name="name"
|
Понятно Просто есть модуль который создает нужные поля для формы а это "imia" генерируется в зависимости от названия самого поля Ох и глазастый вы
|
|
16.09.2015, 13:08
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Ну так какие проблемы. Вы передаете на адрес /feedback два GET параметра, title и text. На севере они будут доступны в массиве $_GET:
if($_GET AND $_GET = array_diff(array_map('htmlspecialchars', array_map('trim', $_GET)), array('')) AND count($_GET)==2) {
//если этот обработчик принимает только эти два параметра
//здесь формируем форму, в которую и вставляем $_GET['title'] и $_GET['text']
//как значения в соответствующие ее поля, и отдаем форму пользователю
//то есть выводим страницу
}
Последний раз редактировалось laimas, 16.09.2015 в 13:10.
|
|
16.09.2015, 13:10
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от aleksandr8i
|
а это "imia" генерируется в зависимости от названия самого поля
|
Это не имя, среди чинного name="title" imia как жаргон четкого пацанчика ), да и адрес пишется address.
|
|
16.09.2015, 13:51
|
Аспирант
|
|
Регистрация: 16.06.2012
Сообщений: 44
|
|
laimas, спасибо большое
|
|
16.09.2015, 14:13
|
Аспирант
|
|
Регистрация: 06.09.2015
Сообщений: 61
|
|
aleksandr8i,
Т.к. эти данные никуда не вставляются (SQL-запрос и т.п.), а просто передаются на страницу, то можете еще проще написать:
<?php $_GET = array_diff(array_map('htmlspecialchars', array_map('trim', $_GET)), array('')); ?>
...
<input value="<?=$_GET['title']; ?>" .../>
<input value="<?=$_GET['text']; ?>" .../>
....
Последний раз редактировалось nesnayka, 16.09.2015 в 14:16.
|
|
16.09.2015, 14:21
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Не за что, так как это упрощенный пример, а в реальности вам нужно ответить гораздо на больше вопросов при приеме данных, нежели тех, что приписаны в условии: достоверность ключей, либо, и что обязательно, их значений. Добавление на карту объектов, это смотря каких, и коли добавили свои, то их не только Яшка должен хранить в своем справочнике, но и вы должны вести учет их, но как, если у вас ничего и не где не храниться. Что же мне мешает вам прислать два значения - "Привед", "Медвед", и ваш администратор или кто-то иной это схвает.
А если есть ошибки, то это уже диалог клиент-сервер, а это уже напрямую касается вопроса "да вы все усложняете". За кажущейся простотой могут скрывать большие проблемы.
|
|
16.09.2015, 14:23
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от nesnayka
|
Т.к. эти данные никуда не вставляются (SQL-запрос и т.п.), а просто передаются на страницу, то можете еще проще написать:
|
А вы попробуйте так делать, до первой XSS атаки может и попрет, а там дай бог задумаетесь. И запомните обязательное золотое правило - сервер обязан проверять все данные пришедшие извне, хоть там на клиенте вплоть до нижнего белья их проверяли. Проверять нужно все. Безопасность не тот вопрос, в котором "проще значит лучше". К тому же вот такая безобидная вставка < может испортить все
Последний раз редактировалось laimas, 16.09.2015 в 14:27.
|
|
16.09.2015, 14:43
|
Аспирант
|
|
Регистрация: 06.09.2015
Сообщений: 61
|
|
laimas,
Ну безобидная вставка "<" , '"' и даже "><iframe src=..." ничего не сделает в данном случае, т.к. все из адресной строки вставляется в value input'а.
А вообще, да, я в курсе. ))
|
|
16.09.2015, 15:20
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
А в курсе, значит и базарить нечего об этом.
|
|
|
|