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
Форумы портала PHP.SU :: Версия для печати :: как редактировать PHP фаил
Форумы портала PHP.SU » » Работа с файловой системой и файлами » как редактировать PHP фаил

Страниц (1): [1]
 

1. czp - 21 Апреля, 2012 - 07:26:39 - перейти к сообщению
скажите пожлуйста, как можно редактировать PHP фаил?
суть такова есть фаил где указано
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $host = 'test';
  3. $password = '123';
  4. $user = 'root';
  5.  

и есть форма в которой я ввожу данные, как сделать, что бы они сохранились в файле, в те переменные? подкиньте инфу почитать, в интернете ничего не нашел, нашел с текстовыми файлами и ini как работать
2. tato - 21 Апреля, 2012 - 10:02:20 - перейти к сообщению
fopen - открытие файла
fwrite - запись в файл
fclose - не забываем закрывать

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

ИМХО: Вы выбрали довольно опасный метод хранения, да и проблемм будет больше.
Как минимум -
Я бы убрал переменные, файл выглялел бы так:

test:123:root

далее в скрипте где необходимо:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $db = file_get_contents( "/some/path/db" ); // ВАЖНО! файл db должен лежать выше public_html
  4.  
  5. $db = explode( ":", $db );
  6.  
  7. print_r( $db );
  8. // db[0] = test
  9. // db[1] = 123
  10. // db[2] = root
  11.  
  12.  


НАСТОЯТЕЛЬНО НЕ РЕКОМЕНДУЮ ИСПОЛЬЗОВАТЬ ЭТОТ КОД В РЕАЛЬНОЙ РАБОТЕ. ТОЛЬКО ДЛЯ ОЗНОКОМЛЕНИЯ.
3. czp - 21 Апреля, 2012 - 10:12:41 - перейти к сообщению
почему опасный? во многих CMS так хранят
4. Panoptik - 21 Апреля, 2012 - 10:16:59 - перейти к сообщению
хранят, но не редактируют через веб
5. czp - 21 Апреля, 2012 - 10:29:21 - перейти к сообщению
как это не редактируют? когда заходишь в настройки и меняешь БД и пароль с юзером к ней?или при установке движка на хостинг там всегда вводишь через форму данные для подключения
следовательно выплывает вопрос, а как там реализовано это?
6. Panoptik - 21 Апреля, 2012 - 10:33:38 - перейти к сообщению
в идеале файл инсталяции, который делает эту запись удаляется после инсталяции и после установки рабочих значений ни один скрипт не должен иметь возможность записывать конфигурационные данные
а по сабжу вам уже ответили как это реализовывается
7. tato - 21 Апреля, 2012 - 10:44:52 - перейти к сообщению
0) Так хранят т.к. это самый простой способ
1) Если у разработчика есть свой "навороченный" способ он Вам его не откроет
2) пароли должны храниться в .passwords ( похоже на .htaccess, но не то )

Я вам тайну открою файл может быть доступен злоумышлинику, факт!
Сегодня все хорошо, завтра найдут новую дырку и трындец.
От сюда первый вывод: прячем так что б сами потом не нашли.

Если учесть, что нашли делаем второй вывод: Все должно быть зашифрованно, что бы проще было найти разработчика и применить терморектальный криптоанализ, чем дешифровать.

Конечно это больше похоже на параною, но если в Вашем проекте скажем 100500+ человек и у каждого на счету по $100, то поверте лучше параноить, вмеру канечно. (=
8. DelphinPRO - 21 Апреля, 2012 - 13:23:48 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $s = "\$host = '$host';
  2. \$password = '$password';
  3. \$user = '$user';
  4. ";
  5. fwrite( $s );
9. LIME - 21 Апреля, 2012 - 18:21:47 - перейти к сообщению
http://forum.php.su/topic.php?fo...0&topic=4339

 

Powered by ExBB FM 1.0 RC1