|
|
|
| Как передать текст в hidden если в ней содержаться специальные символы
Пример
if (isset($_POST['news'])) {$news=$_POST['news'];} else{$news = "";} //принимаем news
echo'<form action="" method="POST">
<input type="submit" name="enter" value="Опубликовать статью" />
<input name="addpost_news" type="hidden" value="'.$news.'">
</form>';
echo'<form action="" method="POST">
<textarea name="news" rows="18">'.$news.'</textarea><br/>
<input type="submit" value="Редактировать" /> <br/>
<br/>
</form>';
|
Если передаю текст например
<a href="">Ссылка</a> Вылезла
|
То вылезает текст после кнопки "Опубликовать статью
| |
|
|
|
|
|
|
|
для: BlueWolf
(04.09.2013 в 19:21)
| | htmlspecialchars($news) | |
|
|
|
|
|
|
|
для: confirm
(04.09.2013 в 19:26)
| | Если сделать так это будет правильным решением?
if (isset($_POST['news'])) {$news=htmlspecialchars($_POST['news']);} else{$news = "";}
|
| |
|
|
|
|
|
|
|
для: BlueWolf
(04.09.2013 в 20:33)
| | Все что вы принимаете от пользователя необходимо пропускать через эту функцию (при выводе в браузер), иначе последствия могут быть куда плачевнее нежели "корявость" html-кода. Но переменные лучше вот так обрабатывать:
<?
$news = isset($_POST['news']) ? htmlspecialchars($_POST['news']) : '';
|
Но учтите, такой подход (сразу применять эту функцию к переменным) не всегда есть хорошо. Например, вам необходимо проверить на некие условия значение этой переменной, а пропустив ее через эту функцию до проверки, вы усложняете себе задачу. В этом случае, пропускать значение через эту функцию нужно после проверки, то есть перед выводом ее в браузер. | |
|
|
|
|
|
|
|
для: confirm
(04.09.2013 в 20:57)
| | ENT_QUOTES добавить не лучще будеть?
то что вы говорите, с вами не спорю!
Но эту статью я проверил http://blog.astrumfutura.com/page/2/?s=xss
Что вы говорите по поводу этого? | |
|
|
|
|
|
|
|
для: Jovidon
(05.09.2013 в 11:14)
| | Чтобы что-то добавлять, даже сперва не добавлять, а применять, нужно не просто выслушать здесь мнение и использовать пример показанный, нужно понимать что это, и почему это нужно.
Ссылку на данную функцию я ему дал, а уж соизволит он ознакомится с материалом, это уже не моя забота. А безопасность, это куда гораздо более широкий диапазон, чем htmlspecialchars с ее аргументами, чтобы возможно было изложить все в рамках одной темы. Этот вопрос нужно изучать самостоятельно, и обсуждать конкретные моменты. | |
|
|
|
|
|
|
|
для: BlueWolf
(04.09.2013 в 19:21)
| | Что делать если htmlspecialchars повторяется несколько раз?
То есть я в начале $news пропускаю через htmlspecialchars, а потом засовываю его в hidden.
Но мне снова приходится его принимать через POST и пропускать через htmlspecialchars. И так несколько раз.
На денвере у меня работает без "косяков", а на хостинге появляется куча слешей. | |
|
|
|
|
|
|
|
для: BlueWolf
(05.10.2013 в 22:41)
| | htmlspecialchars слешей не добавляет, она преобразовывает такие символы как <, > и др. в html-мнемоники. А слеши у вас от путаници с магическими кавычками, видимо они у вас включены, и вы еще сами их экранируете вдобавок. | |
|
|
|
|
|
|
|
для: confirm
(05.10.2013 в 22:52)
| | Спасибо. | |
|
|
|