Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2010, 22:11   #1
Drek
Пользователь
 
Регистрация: 28.02.2009
Сообщений: 52
По умолчанию php chmod изменение атрибутов файла при редактирование

У меня возникла такая проблема. У меня на сайте есть редактор страниц.
Код:
$fp = fopen($_GET['blok'], 'w+');	
$_POST["cod"]=stripslashes($_POST["cod"]); 
$test = fwrite($fp, $_POST["cod"]);
Если у страницы лежащей на сервере не стоят права доступа 777, то он не работает.
Но если стоят права 777, то редактировать файл может любой.
Как выйти из этой ситуации?
Ладно если это просто шаблон сайта, а если это данные подключение к базе mysql.
Drek вне форума Ответить с цитированием
Старый 19.09.2010, 22:27   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Наверно, надо пересмотреть архитектуру, как это делается. Обычно такого не должно быть. В крайнем случае, спросить у тех. поддержки хостинга.
motorway вне форума Ответить с цитированием
Старый 19.09.2010, 22:40   #3
Drek
Пользователь
 
Регистрация: 28.02.2009
Сообщений: 52
По умолчанию

Нет ну вот к примеру в joomle (грубо говоря) при установки мы указываем имя пользователя бд пароль и тд. эти данные сохраняються в файл. Вот как они сохраняются веть стандартно доступ стоит 644, и не реально записать в файл какие либо данные.
Drek вне форума Ответить с цитированием
Старый 19.09.2010, 22:57   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

да 644 хватает... тут еще надо смотреть, как запущен php на сервер - как cgi или сервис apache.... и является ли в этом случае владельцем файла
ADSoft вне форума Ответить с цитированием
Старый 19.09.2010, 23:08   #5
Drek
Пользователь
 
Регистрация: 28.02.2009
Сообщений: 52
По умолчанию

Тобишь мне нужно мой файл сделать Владельцем. А как это сделать?
Drek вне форума Ответить с цитированием
Старый 19.09.2010, 23:54   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Не уверен - но попробуйте применить функцию chmod():
PHP код:
// based on TS code

$filename htmlspecialchars($_GET['blok']);
if(
file_exists($filename)){
    
chmod($filename0777);// установили файлу права для редактирования
    
$fd fopen($filename'w+');
    
$cod stripslashes($_POST['cod']);
    
fwrite($fd$cod);
    
fclose($fd);
    
chmod($filename0644);// вернули файлу безопасные права

Вариант может не сработать - зависит от настроек сервера.
Если сработает - вам останется только позаботиться об ограничении доступа к Редактору(надеюсь - он у вас в Админке,под паролем?).
Цитата:
Ладно если это просто шаблон сайта, а если это данные подключение к базе mysql.
- это плохо,если у вас всё в куче - и темплейты,и конфиги....
Поместите темплейты в отдельный каталог - и ограничьте возможность редактирования файлов вашим Редактором только этим каталогом - так оно спокойнее будет.
Вот вам ещё инфа про сам chmod.
Andkorol вне форума Ответить с цитированием
Старый 20.09.2010, 10:28   #7
Drek
Пользователь
 
Регистрация: 28.02.2009
Сообщений: 52
По умолчанию

chmod() - пробовал, и именно такой код подставлял, не помогло.
Drek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение атрибутов файла Бутаков_Сергей Общие вопросы Delphi 5 09.06.2009 10:20
Получение и установка атрибутов файла Волк Microsoft Office Excel 1 21.05.2009 04:56
Проверка атрибутов файла. v01umE Общие вопросы C/C++ 2 31.05.2008 08:37
Вывод атрибутов файла в NTFS un07 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 27.02.2008 19:47
Изменение расширения файла при каждой итерации Jack Torrance Помощь студентам 3 18.12.2007 23:24