Ունիվերսալ ծրագրակազմ, որը նախատեսված է հատուկ օպտիկական սրահների, ակնաբուժական կլինիկաների, QC գրասենյակների և ակնաբույժների համար:
Աշխատանքի որակապես նոր մակարդակ օպտիկական սրահների և ակնաբույժների համար։
Համակարգչային ծրագիր «ԱՐՄՈ պլյուս»
(Բժշկական հաշվառում և առևտուր)
- Հաճախորդի միասնական ֆայլ բոլոր աշխատավայրերում և մասնաճյուղերում:
- Զեղչերի ճկուն համակարգ, աշխատանք զեղչի քարտերով։
- Մեծածախ և մանրածախ վաճառքի, ակնոցների արտադրության և վերանորոգման ծառայությունների սպասարկում և հաշվառում, բժշկական ծառայություններ.
- Արագ մուտքագրեք և որոնեք տեղեկությունները անունով՝ օգտագործելով կոդերը, շտրիխ կոդ սկաների միջոցով:
- Կաղապարների միջոցով ապրանքների մատակարարման հարցումների օպտիմիզացում: Նվազագույնի հասցնել պաշարները.
- Ավտոմատացված տվյալների մուտքագրում բժշկական զննումներև բժշկական գրառումների պատրաստում:
- Դեղատոմսերի տրամադրում և ակնոցների պատվերների ձևավորման ավտոմատացում: Բժշկի և վարպետի ծառայությունների հաշվառում.
- Գործառնական տեղեկատվության նպատակային առաքում SMS հաղորդագրությունների միջոցով՝ հաճախորդներին խորհրդակցության կամ ոսպնյակների պլանավորված փոխարինման հրավիրելու համար; տեղեկացնել ընկերության բաժնետոմսերի մասին.
- Շարժումների վերաբերյալ ամփոփ և մանրամասն հաշվետվություններ Փողև ապրանքներ, հաճախորդների հոսքեր, անձնակազմի կատարողականություն, ֆինանսական արդյունքներ:
- Տվյալների ներբեռնման հնարավորություն 1C-ում հետագա օգտագործման համար. Հաշվապահություն, առցանց խանութ և այլ ծրագրեր:
- Աշխատակիցների անհատական գործունեության մոնիտորինգ (վաճառք, փորձաքննության ուղեգիր, հաճախորդներին զեղչերի տրամադրում և այլն):
- Ծրագրի գործառույթներին օգտվողի հասանելիության կարգավորում:
- Տվյալների ավտոմատ փոխանակում հեռավոր աշխատանքային կայանների (մասնաճյուղերի) միջև:
- Պաշտպանության բարձր աստիճան չարտոնված մուտքից և տեղեկատվության պատճենումից: Տվյալների բազայի ավտոմատ արխիվացում:
«ARMO plus»-ը բաշխված տվյալների բազայի տեխնոլոգիաներ օգտագործող համակարգ է
Նախատեսված է ավտոմատացման համար.
Մեծածախ և մանրածախ վաճառքի իրականացում;
Ապրանքների մատակարարման, աշխատավայրերում ապրանքների և մնացած ապրանքների տեղաշարժի վերահսկման դիմումներ.
Էլեկտրոնային հաճախորդի ֆայլի պահպանում տվյալների հետ ակնաբուժական հետազոտություններ, խորհրդատվական հետազոտությունների օրագրեր, ակնոցների դեղատոմսեր և պատվերներ.
Բժշկական փորձաքննության տվյալների ձևավորում և տպագրում;
Կանխիկի և ապրանքների տեղաշարժերի, հաճախորդների հոսքերի և նրանց հարցումների արդյունքների վերաբերյալ հաշվետվությունների ստեղծում:
Հուսալի և անվտանգ շահագործումը կազմակերպելու համար ծրագիրը նախատեսում է դերերի բաժանում, որոնք որոշում են օգտվողների իրավունքները և տեղեկատվության հասանելիությունը: Տեխնոլոգիաներ բաշխված տվյալների բազաթույլ է տալիս վարել օպտիկական խանութների և ակնաբուժական գրասենյակների ցանցի շահագործում.
տեղեկատուներ և փաստաթղթեր
Տվյալների պահպանման և համակարգման, փաստաթղթերի, հաշվետվությունների, հիվանդների ֆայլերի արագ լրացման և այլնի համար: տրամադրվում է տեղեկատու գրքեր. Գրացուցակներն ունեն օգտագործողի համար հարմար ինտերֆեյս, և դրանց հետ աշխատելը ինտուիտիվ է Օգնությամբ փաստաթղթերմուտքագրվում է բիզնեսի և ֆինանսական գործարքների մասին տեղեկատվություն, ապրանքների հարցումներ, մուտքագրվում են մնացորդներ Գրացուցակների և փաստաթղթերի հասանելիությունը որոշվում է ծրագրի ադմինիստրատորի կողմից,օգտվողներին հատուկ «իրավունքներ» շնորհելը
Միաժամանակյա կատարման հնարավորություն տարբեր գործողություններ
Հաճախորդի ֆայլ
ԱՐՄՈ Պլյուսում հատուկ դեր է վերապահված պահպանմանըէլեկտրոնային հաճախորդի ֆայլ. Հաճախորդի միասնական ֆայլը պարունակում է տեղեկատվություն առաջնային տվյալների, անամնեզի, ախտորոշման, այցելությունների, հետազոտությունների և ակնաբուժական հետազոտությունների օրագրի, դեղատոմսերի, ակնոցների պատվերների, հաճախորդի գնումների, դիմումների և կանխավճարների մասին: Ծրագիրը ստեղծում է հաշվետվություններ վաճառքների, հաճախորդների պատվերների և հարցումների վերաբերյալ, ինչպես նաև քաղվածքներ ակնաբուժական հետազոտություններից: Հաճախորդների համար ստեղծվել է զեղչերի ճկուն սխեման: Գործում է ծանուցման համակարգ SMS և էլեկտրոնային փոստի հաղորդագրությունների միջոցով։
Հիմնական հաշվետվությունները ARMO Plus-ում
- եկամուտների, ծախսերի, մնացորդների, շրջանառության վերաբերյալ ամփոփ և մանրամասն հաշվետվություններ
- եկամուտների հաշվետվություններ
- փաստաթղթերի և ֆայլերի վերաբերյալ նախնական հաշվետվություններ
- հաշվետվություններ սպառվող ապրանքների գների վերահսկման վերաբերյալ
- հաշվետվություններ ակնոցների դիմումների և պատվերների մասին
- պիտանելիության ժամկետի հաշվետվություններ
- փաստաթղթերի հաշվետվություններ
- հաշվետվություններ հաճախորդների, սպասվող այցելությունների, հաճախորդների աղբյուրների մասին
- հաճախորդների զեղչերի հաշվետվություններ
- անձնակազմի վերաբերյալ ամփոփ և մանրամասն հաշվետվություններ
Հաշվապահական հաշվառման և վերլուծության գործառույթներից բացի, հաշվետվություններն օգտագործվում են անձնակազմի աշխատանքի, վաճառքի և հաճախորդների հոսքերի մոնիտորինգի համար:
Բաշխված տվյալների բազա և տվյալների փոխանակում
Բաշխված տվյալների բազայի տեխնոլոգիան թույլ է տալիս աշխատել աշխարհագրորեն հեռավոր օպտիկայի, ակնաբուժական գրասենյակների և մասնաճյուղերի հետ: Տեղեկատվությունը միմյանց փոխանցվում է էլեկտրոնային փոխանակման փաթեթների միջոցով: Դրա շնորհիվ տվյալների համաժամացումը կատարվում է հեռավոր աշխատանքային կայաններում: Այսպես է այն ձևավորվում հիվանդի միասնական ֆայլև տեղեկատու և փաստաթղթային տեղեկատվության բազա ARMO Plus-ի հետ աշխատող ընկերությունները կարող են միմյանց հետ տվյալների փոխանակում էլեկտրոնային եղանակով:
Տվյալների բազայի կառավարման ծառայություն
Գործողության հուսալիությունը ապահովվում է միջոցով պահպանումՏվյալների բազա Պահված տվյալները միշտ կարող են լինել վերականգնել. Տվյալների բազան սեղմելու համար տրամադրվում է տվյալների բեռնաթափում և մաքրում: ARMO plus կարող է վերբեռնեք տվյալները 1C:Enterprise ծրագիր, Excel, առցանց խանութ:
Joomla-ում հաջող գրանցումից հետո օգտատերերը լռելյայն վերահղվում են a մուտքի էջ(եթե հաշիվը պետք չէ ակտիվացնել այնտեղից (մուտք գործելուց հետո) օգտվողները վերահղվում են a օգտվողի պրոֆիլըէջ. Դա տեղի է ունենում, նույնիսկ եթե մուտքի վերահղումը դրված է այլ բանի վրա Մուտքի ձևի մոդուլ.
Այս վարքագիծը փոխելու համար կարող եք գրանցումից հետո օգտվողներին վերահղել ձեր կայքի ցանկացած այլ էջ:
Դա անելու համար դուք պետք է խմբագրեք Joomla-ի հիմնական ֆայլը: Իմացեք, որ ձեր փոփոխությունները կարող են վերագրվել Joomla-ի թարմացման միջոցով: Միշտ փաստաթղթավորեք Joomla-ի հիմնական ֆայլերում ձեր կատարած փոփոխությունները, որպեսզի անհրաժեշտության դեպքում կարողանաք արագ կրկնել դրանք:
Բացել ֆայլը:
components/com_users/controllers/registration.php
Ոլորեք ներքև մինչև հենց ներքև: Մեկնարկային տող 162 կամ ավելին, դուք կունենաք հոսող ծածկագիր.
if ($return === "adminactivate" ) ( $this -> setMessage (JText:: _() ) ; $this -> setRedirect (JRoute:: _(, false ) ) ; ) else if ($return == = "useractivate" ) ( $this -> setMessage (JText::_() ) ; $this -> setRedirect (JRoute::_( «index.php?option=com_users&view=registration&layout=complete», կեղծ ) ; ) else ( $this -> setMessage (JText::_() ), $this -> setRedirect (JRoute::_( «index.php?option=com_users&view=login», կեղծ ) ; )Այս բաժնում դուք ունեք 3 հղումներ, որոնք սկսում են index.php:
- Առաջինը () կատարվում է օգտվողի գրանցումից հետո, եթե հաշիվը պետք է ակտիվացվի ադմինիստրատորի կողմից
- Երկրորդ ( index.php?option=com_users&view=registration&layout=complete), եթե հաշիվը պետք է ակտիվացվի օգտվողի կողմից
- Երրորդ ( index.php?option=com_users&view=login), եթե հաշվի ակտիվացում չի պահանջվում:
Փոխարինեք հղումները՝ կախված գրանցման տեսակից, որն օգտագործում եք ձեր վերահղման էջի FULL URL-ով, և դուք ավարտված եք:
Օրինակ, եթե օգտատերերի ակտիվացումն իմ կայքում պարտադիր չէ, և ես ուզում եմ գրանցումից հետո օգտվողներին վերահղել դեպի http://www.mywebsite.com/welcome-regթարմացված կոդը կլինի.
Անկախ նրանից, թե ձեր կայքի որ էջին եք վերահղում, համակարգային հաղորդագրություն « Շնորհակալություն գրանցվելու համար...«-ը դեռ կցուցադրվի: Եթե չեք ցանկանում այս հաղորդագրությունը, հեռացրեք ձեր վերահղման URL-ի վերևի ամբողջ տողը: օր. $this->setMessage(JText::_("COM_USERS_REGISTRATION_SAVE_SUCCESS"));
Եթե դուք չեք պահանջում հաշվի ակտիվացում (Նոր օգտվողի հաշվի ակտիվացումը սահմանված է Ոչ ոք) սա այն ամենն է, ինչ ձեզ հարկավոր է Օգտատիրոջ պրոֆիլի էջից խուսափելու համար: Այնուամենայնիվ, եթե օգտվողը պետք է ակտիվացնի հաշիվը էլփոստի միջոցով (Հաշվի ակտիվացումը սահմանված է Ինքն) սա կարող է բավարար չլինել: Գրանցվելուց անմիջապես հետո օգտատերը կվերահղվի դեպի այն վեբ էջը, որը նշված է ծածկագրում, ինչպես և սպասվում էր: Այնուամենայնիվ, երբ օգտատերը սեղմում է ակտիվացման էլ.փոստի հղումը, նա կտեղափոխվի նախկինում նշված մուտքի ձևը, և եթե այն օգտագործի մուտք գործելու համար, նրանք կհայտնվեն Օգտատիրոջ պրոֆիլի էջ: Դա կանխելու համար դուք կարող եք ամբողջությամբ անջատել Օգտվողի պրոֆիլի էջը և փոխարենը օգտատերերին վերահղել ձեր ցանկացած էջ: Կարդացեք այս հոդվածը, պարզելու համար, թե ինչպես:
Joomla 1.6
Joomla 1.7
Joomla 2.5
Այսօր մենք կանդրադառնանք հանրաճանաչ CMS Joomla-ում մեկօրյա կարևոր խոցելիության շահագործմանը, որը պայթեց ինտերնետում հոկտեմբերի վերջին: Խոսքը վերաբերում էթվերի հետ կապված խոցելիության մասին CVE-2016-8869, CVE-2016-8870Եվ CVE-2016-9081. Երեքն էլ գալիս են մեկ կոդից, որը հինգն է երկար տարիներթառամել է շրջանակի խորքում՝ սպասելով թեւերի մեջ, միայն հետո ազատվել և իր հետ բերել քաոս, կոտրված կայքեր և այս Joomla-ի անմեղ օգտատերերի արցունքները: Միայն ամենախիզախ և խիզախ մշակողները, որոնց աչքերը կարմիր են մոնիտորների լույսից, և որոնց ստեղնաշարերը լցված են հացի փշրանքներով, կարողացան մարտահրավեր նետել կատաղի չար ոգիներին և իրենց գլուխները դնել շտկման զոհասեղանի վրա:
ԶԳՈՒՇԱՑՈՒՄ
Ամբողջ տեղեկատվությունը տրամադրվում է միայն տեղեկատվական նպատակներով: Ոչ խմբագիրները, ոչ հեղինակը պատասխանատվություն չեն կրում որևէ մեկի համար հնարավոր վնասսույն հոդվածի նյութերով պայմանավորված։Այնտեղ, որտեղ ամեն ինչ սկսվեց
2016 թվականի հոկտեմբերի 6-ին Դեմիս Պալման Stack Exchange-ում ստեղծեց մի թեմա, որտեղ նա հարցրեց. իրականում ինչո՞ւ Joomla-ի 3.6 տարբերակում կա նույն անունով գրանցված օգտատերերի գրանցման երկու եղանակ: Առաջինը UsersControllerRegistration վերահսկիչում է, իսկ երկրորդը՝ UsersControllerUser վերահսկիչում։ Դամիսն ուզում էր իմանալ՝ UsersControllerUser::register() մեթոդը ինչ-որ տեղ օգտագործվե՞լ է, թե՞ դա պարզապես հին տրամաբանությունից մնացած էվոլյուցիոն անախրոնիզմ է։ Նրա մտահոգությունն այն էր, որ նույնիսկ եթե այս մեթոդը չի օգտագործվում որևէ տեսակետի կողմից, այն կարող է կոչվել մշակված հարցումով: Ինչին ես պատասխան ստացա իկտոպուս մականունով ծրագրավորողից, որը հաստատեց՝ խնդիրն իսկապես կա։ Եվ հաշվետվություն ուղարկեց Joomla-ի մշակողներին:
Հետո իրադարձություններն ամենաարագ զարգացան։ Հոկտեմբերի 18-ին Joomla-ի ծրագրավորողները ընդունեցին Damis-ի զեկույցը, որն այդ ժամանակ մշակել էր PoC-ի նախագիծ, որը թույլ կտա օգտատերերի գրանցումը: Նա իր կայքում հրապարակել է գրառում, որտեղ ին ընդհանուր ուրվագիծխոսեց իր գտած խնդրի և այս հարցի վերաբերյալ իր մտքերի մասին: Դուրս գալով նույն օրը նոր տարբերակ Joomla 3.6.3, որը դեռ պարունակում է խոցելի կոդ:
Դրանից հետո Դավիդե Տամպելինին պտտում է վրիպակը մինչև այն չգրանցվի պարզ օգտագործող, և ադմինիստրատորը։ Իսկ արդեն հոկտեմբերի 21-ին նոր գործ է հասնում Joomla-ի անվտանգության թիմին։ Այն արդեն խոսում է արտոնությունների ավելացման մասին։ Նույն օրը Joomla-ի կայքում հայտնվում է հայտարարություն այն մասին, որ երեքշաբթի օրը՝ հոկտեմբերի 25-ին, կթողարկվի հաջորդ տարբերակը։ սերիական համար 3.6.3, որը շտկում է համակարգի միջուկում կրիտիկական խոցելիությունը:
Հոկտեմբերի 25 Joomla Security Strike Team-ը գտնում է Damis-ի կողմից հայտնաբերված կոդի կտորի կողմից ստեղծված վերջին խնդիրը: Այնուհետև հոկտեմբերի 21-ով թվագրված կոմիտեն՝ Prepare 3.6.4 Stable Release աննկատ անունով, դրվում է Joomla-ի պաշտոնական պահեստի հիմնական մասնաճյուղ, որն ուղղում է դժբախտ սխալը:
Այս հրապարակումից հետո բազմաթիվ շահագրգիռ անհատներ միանում են ծրագրավորողների համայնքին. նրանք սկսում են խթանել խոցելիությունը և պատրաստել շահագործում:
Հոկտեմբերի 27-ին հետազոտող Հարի Ռոբերթսը Xiphos Research-ի պահոց է վերբեռնում պատրաստի շահագործում, որը կարող է PHP ֆայլ վերբեռնել խոցելի CMS-ով սերվերի վրա:
Մանրամասներ
Դե, ֆոնն ավարտված է, անցնենք ամենահետաքրքիր մասին՝ խոցելիության վերլուծությանը։ Ես տեղադրել եմ Joomla 3.6.3-ը որպես փորձնական տարբերակ, այնպես որ բոլոր տողերի համարները համապատասխան կլինեն այս տարբերակի համար: Եվ ֆայլերի բոլոր ուղիները, որոնք կտեսնեք ստորև, կնշվեն տեղադրված CMS-ի արմատի համեմատ:
Դեմիս Պալմայի հայտնագործության շնորհիվ մենք գիտենք, որ կա երկու մեթոդ, որոնք իրականացնում են օգտատերերի գրանցումը համակարգում։ Առաջինն օգտագործվում է CMS-ի կողմից և գտնվում է /components/com_users/controllers/registration.php:108 ֆայլում: Երկրորդը (նա, որին մենք պետք է կանչենք) ապրում է /components/com_users/controllers/user.php:293-ում: Եկեք մանրամասն նայենք դրան:
286: /** 287: * Օգտագործողի գրանցման եղանակ: 288: * 289: * @return բուլյան 290: * 291: * @ince 1.6 292: */ 293: հանրային ֆունկցիայի գրանցում () 294: ( 295: JSession::checkToken ("post") կամ jexit (JText::_ ("JINVALID_TOKEN") ... 300: // Ստացեք ձևի տվյալները 301: 315: $return = $model->validate($form, $data: // Ստուգեք սխալների համար 318: if ($return === false) 319: ( ... 345: / /); Ավարտեք գրանցումը 346. $return = $model->register($data);
Այստեղ ես թողեցի միայն հետաքրքիր տողեր. Խոցելի մեթոդի ամբողջական տարբերակը կարելի է դիտել Joomla-ի պահեստում։
Եկեք պարզենք, թե ինչ է տեղի ունենում սովորական օգտատերերի գրանցման ժամանակ՝ ինչ տվյալներ են ուղարկվում և ինչպես են դրանք մշակվում: Եթե օգտատիրոջ գրանցումը միացված է կարգավորումներում, ձևը կարելի է գտնել http://joomla.local/index.php/component/users/?view=registration կայքում:
Օգտատիրոջ գրանցման օրինական հարցումը նման է հետևյալ սքրինշոթին:
com_users բաղադրիչը պատասխանատու է օգտատերերի հետ աշխատելու համար: Ուշադրություն դարձրեք հարցման մեջ առաջադրանքի պարամետրին: Այն ունի $controller.$method ձևաչափը: Եկեք նայենք ֆայլի կառուցվածքին:
Թղթապանակի սկրիպտների անունները վերահսկիչներհամապատասխանում են կանչված վերահսկիչների անուններին: Քանի որ մեր հարցումն այժմ պարունակում է $controller = "registration" , ֆայլը կկանչվի register.phpև դրա ռեգիստր() մեթոդը:
Ուշադրություն, հարց՝ ինչպե՞ս փոխանցել գրանցման գործընթացը կոդի խոցելի տեղ: Դուք հավանաբար արդեն գուշակել եք դա։ Խոցելի և իրական մեթոդների անունները նույնն են (գրանցվել), այնպես որ մենք պարզապես պետք է փոխենք կանչված վերահսկիչի անունը։ Որտե՞ղ է գտնվում մեր խոցելի վերահսկիչը: Ճիշտ է, ֆայլում user.php. Ստացվում է $controller = "user" . Ամեն ինչ միացնելով մենք ստանում ենք task = user.register : Այժմ գրանցման հարցումը մշակվում է մեզ անհրաժեշտ մեթոդով:
Երկրորդ բանը, որ մենք պետք է անենք, տվյալները ճիշտ ձևաչափով ուղարկելն է: Այստեղ ամեն ինչ պարզ է. Legitimate register()-ը մեզնից ակնկալում է զանգված, որը կոչվում է jform, որտեղ մենք փոխանցում ենք գրանցման տվյալները՝ անուն, մուտք, գաղտնաբառ, էլ.
- /components/com_users/controllers/registration.php: 124: // Ստացեք օգտվողի տվյալները: 125. $requestData = $this->input->post->get("jform", array(), "array");
Մեր հաճախորդը ստանում է այս տվյալները օգտագործող կոչվող զանգվածից:
- /components/com_users/controllers/user.php: 301: // Ստացեք ձևի տվյալները: 302. $data = $this->input->post->get("user", array(), "array");
Հետևաբար, մենք հարցումում բոլոր պարամետրերի անունները փոխում ենք jfrom-ից օգտվողի:
Մեր երրորդ քայլը վավեր CSRF նշան գտնելն է, քանի որ առանց դրա գրանցում չի լինի:
- /components/com_users/controllers/user.php: 296: JSession::checkToken("post") կամ jexit(JText::_("JINVALID_TOKEN"));
Այն կարծես MD5 հեշ լինի, և դուք կարող եք այն վերցնել, օրինակ, /index.php/component/users/?view=login կայքի թույլտվության ձևից:
Այժմ դուք կարող եք ստեղծել օգտվողներ, օգտագործելով ցանկալի մեթոդը: Եթե ամեն ինչ ստացվեց, ապա շնորհավորում եմ, դուք պարզապես շահագործել եք խոցելիությունը CVE-2016-8870«Նոր օգտվողներ գրանցելու թույլտվության ստուգումը բացակայում է»:
Ահա թե ինչ տեսք ունի UsersControllerRegistration վերահսկիչի «աշխատանքային» ռեգիստր() մեթոդում.
- /components/com_users/controllers/registration.php: 113: // Եթե գրանցումն անջատված է - Վերահղում դեպի մուտքի էջ: 114: եթե (JComponentHelper::getParams("com_users")->get("allowUserRegistration") == 0) 115: (116: $this->setRedirect(JRoute::_("index.php?option=com_users&view= մուտք», կեղծ)); 117: 118: վերադարձ կեղծ; 119: )
Եվ այսպես, խոցելի վիճակում.
- /components/com_users/controllers/user.php:
Այո, ոչ մի կերպ:
Երկրորդը հասկանալու համար շատ ավելին լուրջ խնդիր, մենք կուղարկենք մեր ստեղծած հարցումը և կվերահսկենք, թե ինչպես է այն կատարվում կոդի տարբեր բաժիններում: Ահա այն հատվածը, որը պատասխանատու է աշխատողի մեթոդով օգտագործողի կողմից ներկայացված տվյալների վավերացման համար.
Շարունակությունը հասանելի է միայն անդամներին
Տարբերակ 1. Միացեք «կայքի» համայնքին՝ կայքի բոլոր նյութերը կարդալու համար
Նշված ժամանակահատվածում համայնքին անդամակցությունը ձեզ հնարավորություն կտա մուտք գործել ԲՈԼՈՐ Հաքերային նյութերը, կավելացնի ձեր անձնական կուտակային զեղչը և թույլ կտա ձեզ կուտակել պրոֆեսիոնալ Xakep Score վարկանիշ: