[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вопрос по txt редактору
Stas
<?php
if(isset($_POST['edit']) && isset($_POST['text']))
file_put_contents($_GET['news'], $_POST['text'] );
if(isset($_GET['news']))
$text = file_get_contents($_GET['news']);
?>


<form action="" method="post" enctype="multipart/form-data" >
<
textarea name="text" cols="80" rows="20">
<?php echo htmlspecialchars($text) ?>
</textarea>


<a href="?news=1.txt" >Главная</a><br />

при подаче запроса на ссылках ставит слеши где пробелы



Спустя 15 минут, 39 секунд (3.06.2011 - 14:58) killer8080 написал(а):
Stas
так делать нельзя!!! это большая дырка в безопасности сайта. Шел можно туда залить одним движением!
А за слеши скажи спасибо magic_quotes_gpc ;)
Либо отключи её, либо так
file_put_contents('path/to/file', stripslashes($_POST['text']));

Спустя 7 минут, 17 секунд (3.06.2011 - 15:05) Stas написал(а):
поменял
file_put_contents($_GET['news'], $_POST['text'] );

на
file_put_contents('path/to/file', stripslashes($_POST['text']));

выдает
Цитата
Warning: file_put_contents(path/to/file) [function.file-put-contents]: failed to open stream: No such file or directory in G:\home\test1.ru\www\includes\admin\redactor.php on line 5

Спустя 1 минута, 37 секунд (3.06.2011 - 15:07) Stas написал(а):
ставлю на зад
<img src=\"img/1233156315_1.jpeg\" width=\"64\" height=\"64\">

Спустя 1 минута, 41 секунда (3.06.2011 - 15:09) killer8080 написал(а):
блин естественно, туда же надо реальный путь с именем указывать, а 'path/to/file' я привёл как пример, потому что $_GET['news'] туда пихать нильзя, почему - я уже обьяснил

Спустя 5 минут, 10 секунд (3.06.2011 - 15:14) Stas написал(а):
Цитата
Шел можно туда залить одним движением!


понял что так делать не льзя но это у меня находится в админки
для редактирования новостей с левой стороны сайта
div там 120px всего там размещяются новости фирмы но туда надо переодичеки встовлять картинки
в идексе вообще
<img src=\\\"img/1233156315_1.jpeg\\\" width=\\\"64\\\" height=\\\"64\\\">

Спустя 4 минуты, 11 секунд (3.06.2011 - 15:18) killer8080 написал(а):
Да не важно где он находится. Админку могут взломать, а через эту дыру можно залить любые файлы на хост, думаю последствия объяснять не надо. wink.gif

И почитай про magic quotes

Спустя 2 минуты, 49 секунд (3.06.2011 - 15:21) Stas написал(а):
Цитата (killer8080 @ 3.06.2011 - 12:18)
Да не важно где он находится. Админку могут взломать, а через эту дыру можно залить любые файлы на хост, думаю последствия объяснять не надо. wink.gif

И почитай про magic quotes

Где читать
а со скриптом потом изменю главное со слешами разобраться

Спустя 7 минут, 2 секунды (3.06.2011 - 15:28) killer8080 написал(а):
Цитата (Stas @ 3.06.2011 - 15:21)
Где читать
а со скриптом потом изменю главное со слешами разобраться

а что гугл отменили blink.gif ну вот
слеши оттуда и берутся wink.gif если при записи делать stripslashes(), проблем не будет.

Спустя 2 минуты, 17 секунд (3.06.2011 - 15:30) Stas написал(а):
Если мы посмотрим у себя в php.ini, то найдем там три директивы:
magic_quotes_qpc
magic_quotes_runtime
magic_quotes_sybase

Каждая из них может быть включена (On), либо выключена (Off).


Спустя 5 минут, 11 секунд (3.06.2011 - 15:35) killer8080 написал(а):
читай внимательней!
Цитата (killer8080 @ 3.06.2011 - 14:58)
А за слеши скажи спасибо magic_quotes_gpc wink.gif

кстати на хосте доступа к php.ini не будет, поэтому либо отключить в .htaccess
Цитата
php_flag magic_quotes_gpc Off

либо stripslashes

Спустя 2 дня, 15 часов, 21 минута, 36 секунд (6.06.2011 - 06:57) Guest написал(а):
как правельно писать stripslashes

Спустя 2 минуты, 22 секунды (6.06.2011 - 06:59) alex12060 написал(а):
Мануал Вам в руки.

Спустя 2 минуты, 34 секунды (6.06.2011 - 07:02) Stas написал(а):
Цитата (alex12060 @ 6.06.2011 - 03:59)
Мануал Вам в руки.

это что

Спустя 1 час, 17 минут, 24 секунды (6.06.2011 - 08:19) killer8080 написал(а):
Цитата (Stas @ 6.06.2011 - 07:02)
это что

??? ohmy.gif
это мануал biggrin.gif

Спустя 34 минуты, 8 секунд (6.06.2011 - 08:53) Stas написал(а):
Цитата (killer8080 @ 6.06.2011 - 05:19)
Цитата (Stas @ 6.06.2011 - 07:02)
это что

??? :o
это мануал :D

а этот скрипт просто в страничку встовлять
<?php
$str = "Is your name O\'reilly?";

// выводит: Is your name O'reilly?
echo stripslashes($str);
?>

или
<?php
if (get_magic_quotes_gpc()) {
$strip_slashes_deep = function ($value) use (&$strip_slashes_deep) {
return is_array($value) ? array_map($strip_slashes_deep, $value) : stripslashes($value);
};
$_GET = array_map($strip_slashes_deep, $_GET);
$_POST = array_map($strip_slashes_deep, $_POST);
$_COOKIE = array_map($strip_slashes_deep, $_COOKIE);
}
?>

Спустя 2 часа, 42 минуты, 3 секунды (6.06.2011 - 11:35) killer8080 написал(а):
второй вариант предпочтительней, лучше один раз при инициализации скрипта очистить от слешей, чем каждый раз вызывать stripslashes()
я делаю так:
в .htaccess
php_flag magic_quotes_gpc Off

а в начале скрипта, для надёжности, вызываю свою функцию
function undo_gpc(){
if(!get_magic_quotes_gpc()) return;
$gpc = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
array_walk_recursive($gpc, create_function('&$v', '$v= stripslashes($v);'));
}
Если уверен что на хостинге будет работать .htaccess, можно ограничится только им.

Спустя 27 минут, 13 секунд (6.06.2011 - 12:03) Stas написал(а):
все работает спасибо smile.gif
Быстрый ответ:

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