Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Редактирование файлов через админку CMS - безопасность
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
Доброго времени суток.
Сделал в одном скрипте редактирование некоторых файлов через админку. Так как в файлах некоторая инфа часто меняется, то так удобнее.
Но столкнулся с тем, что можно получить доступ к другому файлу.
Файлы сами в разных папках. какой файл править получаю из GET
т.е. edit=/folder1/file1.php
Но вот если прописать edit=../../conf.php, то и его читать можно.
Сейчас тупо вырезаю из получаемого GET .. (две точки), чтобы нельзя было лазить в другие каталоги. Но вроде как это не особо и правильно.
Как тут лучше поступить?
DelphinPRO
Отправлено: 03 Апреля, 2012 - 08:09:18
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
так то да. можно ведь и абсолютный путь ввести без точек
/home/dir/dir/important.file
----- Чем больше узнаю, тем больше я не знаю.
dropoff
Отправлено: 03 Апреля, 2012 - 08:18:04
Посетитель
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
Вся штука в том, что там несколько папок и вложенных папок и файле не только php, но и html и css и js
по этому в get ставлю полный путь.
Т.е. файл может лежать не только /file.php, но и /folder/folder/file.php и /folder/file.php (Добавление)
Как вариант заранее занести в массив весь список нужных файлов для изменения. Но файлы добавляются или удаляются.
Если тут получается сильно заковыристо, может тогда вообще отказаться от этого и править непосредственно через FTP?
DelphinPRO
Отправлено: 03 Апреля, 2012 - 08:33:08
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
сорри, невнимательно прочитал.
----- Чем больше узнаю, тем больше я не знаю.
avtor.fox
Отправлено: 03 Апреля, 2012 - 09:03:26
Постоянный участник
Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012 Откуда: Воронеж
Помог: 50 раз(а)
Данная система будет работать на "конечного" пользователя или для Вас? Ибо для себя мне гораздо удобней редактировать файлы по фтп, а для пользователей есть система редактирования страничек (не файлов). Или я Вас неправильно понял.
А ещё лучше привести пример структуры сайта и какие именно файлы нужно изменять.
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
Для конечного. Мне то не сложно и по ftp правочку сделать, а вот не шарящим удобнее из админки.
Конечной структуры нет. Папки и файлы добавляются и удаляются.
Есть отдельная папка files в ней уже и файлы и папки как попало лежат.
Т.е. как писал выше, некоторые могут быть в подпапках, некоторые в корне и т.д...
А вот корневая не меняется. Т.е. название как есть files, так и остается.
Я вот думаю может как-то на ней фиксировать файлы? Т.е. если файл не из этой папки, то не редактировать его вовсе, если из этой, то открывать.
avtor.fox
Отправлено: 03 Апреля, 2012 - 09:16:17
Постоянный участник
Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012 Откуда: Воронеж
Помог: 50 раз(а)
Какая информация содержится в этих файлах? В них текст, стили, html или вовсе контент для страничек сайта?
dropoff
Отправлено: 03 Апреля, 2012 - 09:21:08
Посетитель
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
html, css - как положено html и css
php файлы со всякими мелкими функциями или константами.
Сейчас то все работает корректно, но вот возможность править другие файлы, не из папки files эт большая такая дырень получается
EuGen
Отправлено: 03 Апреля, 2012 - 09:22:30
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
dropoff
Равно как и php-файлы из "правильной" папки, так как в этом случае создать там какой-либо веб-шелл не составляет труда.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
avtor.fox
Отправлено: 03 Апреля, 2012 - 09:33:26
Постоянный участник
Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012 Откуда: Воронеж
Помог: 50 раз(а)
По моему не имеет смысла плясать с бубном и ваять редактирование html, css и тем более php через веб форму. Опасно, ненужно и непрактично.
Если конечный пользователь "собирается" редактировать файлы через веб морду, то он естественно должен знать язык разметки, стилей и пхп.
Я склонен к фтп. А Вы ещё раз подумайте над необходимостью реализации данной фичи.
snikers987
Отправлено: 03 Апреля, 2012 - 09:33:39
Участник
Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011 Откуда: Крым
Помог: 25 раз(а)
Если php файлы не вызываются на прямую из этой папки, а к примеру подключаются, нужно отключить интерпретатор для этой папки.
----- Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
dropoff
Отправлено: 03 Апреля, 2012 - 09:35:40
Посетитель
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
EuGen, там ограничение доступа есть. Т.е. не каждый может править файлы из админки.
Но вот лазить по другим файлам, тем у кого да же доступ есть не желательно совсем.
Запускать файлы из этот папки не получится. php файлы инклудятся в других.
В смысле там
Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012 Откуда: Воронеж
Помог: 50 раз(а)
Ломаются любые сайты.
DelphinPRO
Отправлено: 03 Апреля, 2012 - 09:43:48
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
dropoff пишет:
А вот корневая не меняется. Т.е. название как есть files, так и остается.
Если есть корневая папка, то можно канонизировать абсолютный путь к файлу
realpath($_GET['edit']) - это "развернет" все точки в реальные пути файловой системы,
и проверять наличие вначале полученного пути строки с $_SERVER['DOCUMENT_ROOT'].'/root_edit_folder/'
----- Чем больше узнаю, тем больше я не знаю.
dropoff
Отправлено: 03 Апреля, 2012 - 10:02:56
Посетитель
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.