Перейти до

PHP скрипт


Рекомендованные сообщения

Привет всем.

Задумался над написанием приблуды в виде статистики для юзера.

Была мысль, по совету уважаемого madf, собирать статистику для юзеров посредством скрипта СТГ - OnChange. Статистика после некой текстовой обработки должна приводится в удобочитаемый вид и накопительно ложиться в текстовый файлик в соответствующей папке юзера. А потом по его запросу с личной странички - ему показываться.

 

...и додумался я до того, что начинаю опасаться за безопасность данных.

 

Например такая конструкция:

//Начальные установки - читаем конфиги
$krn = "/var/stargazer/users/";
$pathc .= $krn .$login ."/conf";
$paths .= $krn .$login ."/stat";

$confpath = file($pathc);
$statpath = file($paths);
include('/var/stargazer/wm/wm.conf');


// Остаток средств на счету
$pr = $statpath[0];
$cash = explode("=",$pr);

Как видите чтение данных происходит напрямую из конфигурационных файлов юзеров, разрешения на которые, скажем, 755.

 

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

Только не надо страшилок, прошу придерживаться реалий. :)

Ссылка на сообщение
Поделиться на других сайтах

пытаетесь не сделать своими руками дырку под названием PHP-Include/File-Injection? Тогда нивкоем случае нельзя давать полльзователю вводить свой логин (можно например определять по айпишке) либо всетаки пользуясь мозгом сильно-сильно фильтровать логин на предмет %00, \, /,".."

 

А еще добрый совет от себя - забудьте файловый сторедж раз и навсегда. Вы банально с нулевым КПД будете продолжать тратить время на рутинный кодинг простейших выборок вместо наращивания бизнеслогики.

Ссылка на сообщение
Поделиться на других сайтах
либо всетаки пользуясь мозгом сильно-сильно фильтровать логин на предмет %00, \, /,".."

Модуль ввода логина/пасса писал не я, но судя по коду там такая проверка стоит.

Вы банально с нулевым КПД будете продолжать тратить время на рутинный кодинг простейших выборок вместо наращивания бизнеслогики.

Шо? :):)

Я не собираюсь это продавать, я для себя пишу, просто для удобства. Или речь он надёжности?

За комментарии большое спасибо. Я так понял особо бояться нечего.

Ссылка на сообщение
Поделиться на других сайтах

Речь о удобстве и красоте кода пусть даже для себя. Давайте сравним:

 

Я делаю так одной строчкой:

SELECT `address`.`login` , `address`.`kvart` , `build`.`build`,`build`.`street`  FROM `address` LEFT OUTER JOIN `build` ON `address`.`build` = `build`.`id`

Сколько у вас уйдет вашего же времени для того чтобы получить такой результат на файловой базе? Я могу предположить минимум 7-8 синхронных fopen()/fclose() и минимум 5 вложенных циклов + куча парсинга регекспами. Это як в вашему аргументу "просто для удобства".

 

Благо имеется уже оптыт разработки здорового опенсорс проекта "на файлах" тянущийся где-то с 2003-го года и до сих пор. Удобством обработки данных такие решения даже не пахнут.

Ссылка на сообщение
Поделиться на других сайтах

Не могу с этим не согласиться.

Как только я увижу что мои свершения не годятся - конечно буду думать о другом варианте.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...