правилно, след като видя бял свят успяха да го сгърчат софтуера. И до тука, никой не даде глас кое, как да се подобри. Включително грешки които се виждат, никой не е дал мнението си за тях.
Би трябвало да работи на това IP с тази парола (че я бяха изтъркали)...
iСофтуера е за интранет, с htacess ще е ограничен достъпа до отделни работни станции. Естествено след инсталация на софтуера, подразбиращата парола на admin ще се смени (и за това трябва код но не толкова спешен) и тогава няма да има нужда да се пише код за потребител demo/demo на който не може да му се променя паролата.
Създават се компоненти, от компонентите се създават рецепти.
- Рецептите са за 1 тон
- при задаване на 4,5 тона се поданат 4 бъркалки по 1 тон и една от 500 кила
- при задаване на 4,1 тона се подават 4 бъркалки с 4% overload/претоварване на машината. Машината има 5% overload/претоварване.
- влажността на един от компонентите се задава от датчик или ръчно
= при ръчно задаване ако се каже 7% влажност ( и това трябва да се изчисли колко килограма вода е), тези килограми се приспадат от компонента "Вода"
С РНР се чете и пише в серийния порт тези рецепти, преди това те се капсуловат по определен начин. Само да кажа че има да се смята една контролна сума която е побитово изключващо ИЛИ. Има хедър и опашка, които не са нещо страшно. Всеки компонент си има "адрес" в който се пише.
адрес200 - вода
адрес201 - пясък....
Това е когато се пише рецепта за изпълнение в серийния порт.
Когато се чете от серийния порт се подава се подава пакет който казваш "искам да чета" на устройството закачено на серийния порт. И като отговор получаваш една такава рецепта с хедър опашка и контролна сума. След след разстрипването имаш други адреси!
адрес300 - вода
адрес301 - пясък...
отделните проверки по капсуловането и обработки на данни са функции включени в обекти. Обект "четене", "писане" и други...
Само да кажа че се задават права на достъп на потребителите до обектите и така може да се рестриктват отделните потребители до функционалностите.
Отделно има ЛогУочер който логва абсолютно всичко което става чрез и със софтуера...
Пишете ми, или ми се обадете ако имате коментари или въпроси.
Това е главната директория със файловете. Софтуера е от 25-30 файла заедно с под-директориите и са около 140КВ :
Примерен код |
-rw-r--r-- 1 root root 4517 2007-10-13 12:08 About.php -rw-r--r-- 1 root root 33491 2007-10-08 14:24 AdminPanel.php -rw-r--r-- 1 root root 1639 2007-05-01 16:36 CompContainer.php -rw-r--r-- 1 root root 19730 2007-05-01 16:39 ComponentsManager.php -rw-r--r-- 1 root root 1891 2007-09-06 17:29 DioCom.php -rw-r--r-- 1 root root 9115 2007-09-18 15:52 FrameManager.php drwxr-xr-x 2 root root 4096 2007-10-13 11:02 include -rw-r--r-- 1 root root 126 2007-04-02 15:50 Index.php -rw-r--r-- 1 root root 1834 2007-10-13 12:09 Inquiries.php -rw-r--r-- 1 root root 4421 2007-10-13 07:06 Login.php -rw-r--r-- 1 root root 1727 2007-04-05 13:50 Logout.php -rw-r--r-- 1 root root 1796 2007-05-27 17:58 LogWatcher.php -rw-r--r-- 1 root root 1471 2007-10-13 11:37 Main.php -rw-r--r-- 1 root root 2105 2007-04-04 18:57 Menu.php -rw-r--r-- 1 root root 9 2007-05-13 08:51 ProductionManager.php -rw-r--r-- 1 root root 1958 2007-10-13 12:11 Production.php -rw-r--r-- 1 root root 9 2007-05-13 08:52 ProductionRead.php -rw-r--r-- 1 root root 9 2007-05-13 08:51 ProductionWrite.php -rw-r--r-- 1 root root 4485 2007-05-07 15:59 RecipeContainer.php -rw-r--r-- 1 root root 30456 2007-05-01 16:45 RecipiesManager.php -rw-r--r-- 1 root root 3089 2007-10-13 12:07 Recipies.php -rw-r--r-- 1 root root 1965 2007-04-05 12:59 SessionHandler.php -rw-r--r-- 1 root root 2970 2007-03-31 10:27 SQLConnection.php -rw-r--r-- 1 root root 2866 2007-04-15 07:03 styles.css -rw-r--r-- 1 root root 1830 2007-05-01 16:14 UserPanel.php
|
А това са таблиците в базата данни, тука е забранено на Menu.php да се показва AdminPanel.php и UserPanel.php на потребителя admin. user_id=1 е на потребител с име admin (на който постоянно му търкат паролата, защото има такава функционалност). Админ панела е за промяната на групите и правата и създаване на нови потребители и СМЯНА НА ПАРОЛАТА НА АДМИНА. Докато Юзер панела е много по-ограничени функциии само за обикновенните потребители.
Примерен код |
mysql> show tables; +-------------------------+ | Tables_in_v_plus_system | +-------------------------+ | action_logs | | components | | elements | | functions | | groups | | ranges | | recipe_content | | recipies | | system_info | | user_rights | | user_sessions | | users | +-------------------------+ 12 rows in set (0.01 sec)
mysql> select * from functions; +---------+---------------+------------------+-------------+ | func_id | func_name | func_script_file | func_status | +---------+---------------+------------------+-------------+ | 1 | '>?'> | Recipies.php | Active | | 2 | '>?'>?'>? | Production.php | Active | | 3 | '>?'> | Inquiries.php | Active | | 4 | '>?'> | UserPanel.php | Active | | 5 | '>?'>?'>?? | AdminPanel.php | Active | | 6 | ?? '>?'> | About.php | Active | +---------+---------------+------------------+-------------+ 6 rows in set (0.00 sec)
mysql> select * from user_rights; +----------+---------+---------+-----------+ | right_id | user_id | func_id | status | +----------+---------+---------+-----------+ | 1 | 1 | 1 | Allowed | | 2 | 1 | 2 | Allowed | | 3 | 1 | 3 | Allowed | | 4 | 1 | 4 | Forbidden | | 5 | 1 | 5 | Forbidden | | 6 | 1 | 6 | Allowed | +----------+---------+---------+-----------+ 6 rows in set (0.01 sec) |