Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: get_magic_quotes_gpc и двойные кавычки....
 
 автор: serjinio   (01.11.2008 в 23:51)   письмо автору
 
 

Решил на досуге поэксперементировать.....
<?php
//phpinfo();
$s ini_get('register_globals') ? 'Включено' 'off';
$s1ini_get('magic_quotes_gpc') ? 'Включено' 'off';
$s2 ini_get('magic_quotes_runtime') ? 'Включено' 'off';
echo 
'<br>register_globals ----> '.$s;
echo 
'<br>magic_quotes_gpc ----> '.$s1;
echo 
'<br>magic_quotes_runtime ----> '.$s2;

<
form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" >
<
input name="content" type="text" value="<?php echo $_POST['content'] ?>" size="55"  />
<
input  type="submit" value="Ввод !!!" />
</
form>

<?
php
echo '<br>text _POST[content]:'.$_POST['content'];
if ( 
get_magic_quotes_gpc())  $text stripslashes($_POST['content']);
echo 
'<br>text '.$text;
?>

register_globals ----> off
magic_quotes_gpc ----> Включено
magic_quotes_runtime ----> off


ввод в форму :SS\hh
Текст в поле фомы возвращенный :SS\\hh
text _POST[content]:SS\\hh
text :SS\hh


ввод в форму :SS'hh
Текст в поле фомы возвращенный :SS\'hh
text _POST[content]:SS\'hh
text :SS'hh


ввод в форму :SS"hh
Текст в поле фомы возвращенный :SS\
text _POST[content]:SS\"hh
text :SS"hh


Что за бред с двойными кавычками......почему после экранирующего слэша все режется....

  Ответить  
 
 автор: BinLaden   (01.11.2008 в 23:56)   письмо автору
 
   для: serjinio   (01.11.2008 в 23:51)
 

У Вас значение атрибута value тега <input> заключено в двойные кавычки. Посмотрите результат в виде HTML кода и Вы должны увидеть что-то вроде
<input name="content" type="text" value="SS\"hh" size="55"  />

Нужно применять htmlspecialchars().

> if ( get_magic_quotes_gpc()) $text = stripslashes($_POST['content']);
> echo '<br>text '.$text;

А если magic_quotes_gpc будет выключен, то $text будет неопределено.

  Ответить  
 
 автор: Trianon   (02.11.2008 в 00:14)   письмо автору
 
   для: serjinio   (01.11.2008 в 23:51)
 

value="SS\"

Чему удивляетесь-то?

  Ответить  
 
 автор: serjinio   (02.11.2008 в 09:11)   письмо автору
 
   для: Trianon   (02.11.2008 в 00:14)
 

Спасибо,глянул в HTML.....

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования