Jump to content

PHP скрипт


Recommended Posts

Привет всем.

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

Была мысль, по совету уважаемого 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.

 

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

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

Link to post
Share on other sites

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

 

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

Link to post
Share on other sites
либо всетаки пользуясь мозгом сильно-сильно фильтровать логин на предмет %00, \, /,".."

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

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

Шо? :):)

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

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

Link to post
Share on other sites

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

 

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

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-го года и до сих пор. Удобством обработки данных такие решения даже не пахнут.

Link to post
Share on other sites

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

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...