Ev Qarşısının alınması Optik salonlar, oftalmoloji klinikalar, kontakt korreksiyası otaqları üçün universal proqram. Optik salonlar, oftalmoloji klinikalar, əlaqə korreksiyası otaqları üçün universal proqram təminatının davamı mövcuddur.

Optik salonlar, oftalmoloji klinikalar, kontakt korreksiyası otaqları üçün universal proqram. Optik salonlar, oftalmoloji klinikalar, əlaqə korreksiyası otaqları üçün universal proqram təminatının davamı mövcuddur.

Xüsusi olaraq optik salonlar, oftalmologiya klinikaları, QC ofisləri və oftalmoloqlar üçün nəzərdə tutulmuş universal proqram təminatı.
Optik salonlar və oftalmoloqlar üçün keyfiyyətcə yeni iş səviyyəsi.

Kompüter proqramı "ARMO plus"

(Tibbi uçot və ticarət)

  • Bütün iş yerlərində və filiallarda vahid müştəri faylı.
  • Endirimlərin çevik sistemi, endirim kartları ilə işləmək.
  • Topdan və pərakəndə satışın, eynək istehsalı və təmiri üzrə xidmətlərin, tibbi xidmətlərin aparılması və uçotunun aparılması.
  • Barkod skaneri vasitəsilə kodlardan istifadə edərək məlumatı tez daxil edin və axtarın.
  • Şablonlardan istifadə edərək malların tədarükü üçün sorğuların optimallaşdırılması. İnventarın minimuma endirilməsi.
  • Tibbi müayinə məlumatlarının avtomatik daxil edilməsi və tibbi qeydlərin yaradılması.
  • Reseptlərin verilməsi və eynək sifarişlərinin formalaşdırılmasının avtomatlaşdırılması. Həkim və magistr xidmətlərinin uçotu.
  • Müştəriləri konsultasiya görüşünə və ya planlaşdırılmış linzaların dəyişdirilməsinə dəvət etmək üçün SMS mesajlarından istifadə etməklə operativ məlumatların məqsədyönlü şəkildə çatdırılması; şirkətin səhmləri haqqında məlumat.
  • Nağd pul və malların hərəkəti, müştəri axını, kadr işi, maliyyə nəticələri haqqında xülasə və ətraflı hesabatlar.
  • 1C-də sonrakı istifadə üçün məlumatları yükləmək imkanı: Mühasibat uçotu, onlayn mağaza və digər proqramlar.
  • İşçilərin fərdi fəaliyyətinə nəzarət (satış, imtahanlara yönləndirmə, müştərilərə endirimlərin verilməsi və s.).
  • Proqram funksiyalarına istifadəçi girişinin konfiqurasiyası.
  • Uzaq iş stansiyaları (filiallar) arasında avtomatlaşdırılmış məlumat mübadiləsi.
  • İcazəsiz giriş və məlumatların surətinin çıxarılmasından yüksək dərəcədə qorunma. Avtomatik verilənlər bazası arxivi.

"ARMO plus" paylanmış verilənlər bazası texnologiyalarından istifadə edən sistemdir

Avtomatlaşdırma üçün nəzərdə tutulmuşdur:

Topdan və pərakəndə satışın həyata keçirilməsi;

Malların tədarükü üçün müraciətlər, malların və iş yerlərində qalan malların hərəkətinə nəzarət;

Oftalmoloji müayinələrin məlumatları, konsultativ müayinələrin gündəlikləri ilə elektron müştəri faylının aparılması, eynək üçün resept və sifarişlərin verilməsi;

Tibbi müayinə məlumatlarının formalaşdırılması və çapı;

Nağd pul və malların hərəkəti, müştəri axını və onların sorğularının nəticələri haqqında hesabatların yaradılması.

Etibarlı və təhlükəsiz əməliyyatı təşkil etmək üçün proqram istifadəçi hüquqlarını və onların məlumatlara çıxışını müəyyən edən rollara bölünmə təmin edir. Texnologiyalar paylanmış verilənlər bazası aparmağa imkan verir optik mağazalar və oftalmologiya kabinetləri şəbəkəsinin istismarı.

Kataloqlar və Sənədlər

Məlumatların saxlanması və sistemləşdirilməsi, sənədlərin, hesabatların, xəstə fayllarının və s. təmin edilmişdir istinad kitabları. Kataloqlar istifadəçi dostu interfeysə malikdir və onlarla işləmək intuitivdir Köməyi ilə sənədlər təsərrüfat və maliyyə əməliyyatları haqqında məlumatlar daxil edilir, mallar üçün sorğular edilir, qalıqlar daxil edilir Kataloqlara və sənədlərə giriş proqram administratoru tərəfindən müəyyən edilir,istifadəçilərə xüsusi "hüquqlar" təyin etmək

Müxtəlif əməliyyatların eyni vaxtda yerinə yetirilməsi imkanı

Müştəri faylı

ARMO Plus-da saxlanmasına xüsusi rol verilirelektron müştəri faylı. Vahid müştəri faylı ilkin məlumatlar, anamnez, diaqnoz, ziyarətlər, müayinə və oftalmoloji müayinələr gündəliyi, reseptlər, eynək sifarişləri, satınalmalar, müştərinin müraciətləri və avansları haqqında məlumatları ehtiva edir. Proqram satışlar, müştərilərdən gələn sifarişlər və sorğular haqqında hesabatlar, oftalmoloji müayinələrdən çıxarışlar yaradır. Müştərilər üçün çevik endirim sxemi yaradılmışdır. SMS və e-poçt mesajları vasitəsilə bildiriş sistemi mövcuddur.


ARMO Plus-da əsas hesabatlar

  • gəlirlər, xərclər, qalıqlar, dövriyyə haqqında xülasə və ətraflı hesabatlar
  • gəlir hesabatları
  • sənədlər və fayllar haqqında əvvəlcədən hesabatlar
  • istehlak mallarının qiymətlərinə nəzarət haqqında hesabatlar
  • eynək üçün müraciətlər və sifarişlər haqqında hesabatlar
  • raf ömrü hesabatları
  • sənəd hesabatları
  • müştərilər, gözlənilən səfərlər, müştəri mənbələri haqqında hesabatlar
  • müştəri endirim hesabatları
  • kadrlar haqqında ümumi və ətraflı hesabatlar

Mühasibat uçotu və təhlil funksiyalarına əlavə olaraq, hesabatlar işçilərin işinə, satışlara və müştəri axınına nəzarət etmək üçün istifadə olunur.

Paylanmış verilənlər bazası və məlumat mübadiləsi

Paylanmış verilənlər bazası texnologiyası coğrafi baxımdan uzaq optiklərin, oftalmologiya ofislərinin və filialların işləməsinə imkan verir. Məlumat bir-birinə elektron mübadilə paketləri vasitəsilə ötürülür. Bunun sayəsində uzaq iş stansiyalarında məlumatların sinxronizasiyasına nail olunur. Bu belə formalaşır vahid xəstə faylı və arayış və sənədli məlumat bazası ARMO Plus ilə işləyən firmalar bir-biri ilə elektron şəkildə məlumat mübadiləsi edə bilərlər.


Verilənlər bazası idarəetmə xidməti

Əməliyyatın etibarlılığı vasitəsi ilə təmin edilir konservasiya Verilənlər bazası Saxlanan məlumatlar həmişə ola bilər bərpa edin. Verilənlər bazasını sıxışdırmaq üçün məlumatların boşaldılması və təmizlənməsi təmin edilir. ARMO plus bilər məlumatları 1C: Enterprise proqramına, Excelə, onlayn mağazaya yükləyin.

Joomla-da müvəffəqiyyətli qeydiyyatdan sonra istifadəçilər standart olaraq a giriş səhifəsi(hesabın aktivləşdirilməsinə ehtiyac yoxdursa) oradan (girişdən sonra) istifadəçilər a istifadəçi profili səhifə. Bu, Giriş Yönləndirməni başqa bir şeyə təyin etsəniz belə baş verir Giriş Formu Modulu.

Bu davranışı dəyişdirmək üçün qeydiyyatdan keçdikdən sonra istifadəçiləri veb saytınızdakı hər hansı digər səhifəyə yönləndirə bilərsiniz.
Bunu etmək üçün əsas Joomla faylını redaktə etməlisiniz. Nəzərə alın ki, dəyişiklikləriniz Joomla yeniləməsi tərəfindən üzərinə yazıla bilər. Əsas Joomla fayllarında etdiyiniz dəyişiklikləri həmişə sənədləşdirin ki, tələb olunarsa onları tez bir zamanda yenidən edə biləsiniz.

Faylı açın:
komponentlər/com_users/controllers/registration.php

Ən aşağıya doğru sürüşdürün. 162-ci sətirdən başlayaraq, axın kodunuz olacaq:

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", yalan ) ; ) else ( $this -> setMessage (JText::_() ); $this -> setRedirect (JRoute::_() "index.php?option=com_users&view=login", yalan ) ; )

Bu bölmədə index.php ilə başlayan 3 linkiniz var?

  • Hesabın administrator tərəfindən aktivləşdirilməsi tələb olunarsa, birinci () istifadəçi qeydiyyatından sonra yerinə yetirilir
  • İkinci ( index.php?option=com_users&view=registration&layout=complete), hesab istifadəçi tərəfindən aktivləşdirilməlidirsə
  • üçüncü ( index.php?option=com_users&view=login), hesabın aktivləşdirilməsi tələb olunmursa.

İstifadə etdiyiniz qeydiyyat növündən asılı olaraq keçidləri yönləndirmə səhifənizin FULL URL ilə əvəz edin və işiniz tamamlandı.
Məsələn, əgər mənim vebsaytımda istifadəçinin aktivləşdirilməsi tələb olunmursa və mən qeydiyyatdan keçəndən sonra istifadəçiləri yönləndirmək istəyirəm http://www.mywebsite.com/welcome-reg yenilənmiş kod olacaq:

// Profil ekranına yönləndirin. if ($return === "idarə et" ) ( $this -> setMessage (JText::_() "COM_USERS_REGISTRATION_COMPLETE_DOĞRULA") ; $this -> setRedirect(JRoute::_( "index.php?option=com_users&view=registration&layout=complete", yalan ); ) else if ($return === "useractivate" ) ( $this -> setMessage (JText::_() "COM_USERS_REGISTRATION_COMPLETE_ACTIVATE") ; $this -> setRedirect(JRoute::_( "index.php?option=com_users&view=registration&layout=complete", yalan ); ) başqa ( $this -> setMessage (JText::_() "COM_USERS_REGISTRATION_SAVE_SUCCESS") ; $this -> setRedirect(JRoute::_( "http://www.mywebsite.com/welcome-reg" , yalan ) ; )

Veb saytınızın hansı səhifəsinə yönləndirməyinizdən asılı olmayaraq, sistem mesajı " Qeydiyyatdan keçdiyiniz üçün təşəkkür edirik..." hələ də göstəriləcək. Bu mesajı istəmirsinizsə, yönləndirmə URL-nizin üstündən tam sətri silin. məs. $this->setMessage(JText::_("COM_USERS_REGISTRATION_SAVE_SUCCESS"));

Hesabın aktivləşdirilməsini tələb etmirsinizsə (Yeni İstifadəçi Hesabının Aktivləşdirilməsi Heç biri) İstifadəçi Profili səhifəsindən qaçmaq üçün sizə lazım olan hər şey budur. Bununla belə, əgər istifadəçi e-poçt vasitəsilə hesabı aktivləşdirməlidirsə (Hesabın Aktivləşdirilməsi Özü) bu kifayət olmaya bilər. Qeydiyyatdan dərhal sonra istifadəçi gözlənildiyi kimi kodda təqdim olunduğunuz veb səhifəyə yönləndiriləcək. Bununla belə, istifadəçi aktivləşdirmə e-poçtunda olan keçidə kliklədikdə, onlar əvvəl qeyd olunan giriş formasına aparılacaq və ondan daxil olmaq üçün istifadə etsələr, İstifadəçi Profili səhifəsinə keçəcəklər. Bunun qarşısını almaq üçün İstifadəçi Profili səhifəsini tamamilə söndürə və əvəzinə istifadəçiləri istədiyiniz səhifəyə yönləndirə bilərsiniz. Necə olduğunu öyrənmək üçün bu məqaləni oxuyun.

Joomla 1.6
Joomla 1.7
Joomla 2.5

Bu gün biz oktyabrın sonunda internetdə partlayan məşhur CMS Joomla-da 1 günlük kritik zəifliyin istismarına baxacağıq. Nömrələrlə zəifliklər haqqında danışacağıq CVE-2016-8869, CVE-2016-8870CVE-2016-9081. Hər üçü, beş il ərzində çərçivənin dərinliklərində gizlənən, qanadlarda gözləyən bir kod parçasından gəlir, yalnız bundan sonra azad olmaq və xaosu, sındırılmış saytları və bu Joomla-nın günahsız istifadəçilərinin göz yaşlarını gətirmək üçün. Yalnız monitorların işığından gözləri qızarmış, klaviaturaları çörək qırıntıları ilə dolu olan ən cəsur və cəsarətli tərtibatçılar qəzəblənən pis ruhlara meydan oxuya və başlarını düzəlişlər qurbangahına qoya bildilər.

XƏBƏRDARLIQ

Bütün məlumatlar yalnız məlumat məqsədləri üçün verilir. Nə redaktorlar, nə də müəllif bu məqalənin materiallarının vurduğu hər hansı mümkün zərərə görə məsuliyyət daşımır.

Hər şeyin başladığı yer

6 oktyabr 2016-cı ildə Demis Palma Stack Exchange-də bir mövzu yaratdı və bu mövzuda soruşdu: niyə əslində Joomla 3.6 versiyasında eyni adlı registr() ilə istifadəçilərin qeydiyyatı üçün iki üsul var? Birincisi UsersControllerRegistration nəzarətçisində, ikincisi isə UsersControllerUser nəzarətçisindədir. Damis bilmək istəyirdi ki, UsersControllerUser::register() metodu haradasa istifadə olunub, yoxsa bu, sadəcə olaraq köhnə məntiqdən qalan təkamül anaxronizmidir. Onun narahatlığı ondan ibarət idi ki, bu üsul heç bir baxış tərəfindən istifadə edilməsə belə, hazırlanmış sorğu ilə çağırıla bilər. Mən itoctopus ləqəbi ilə bir tərtibatçıdan cavab aldım, o da təsdiq etdi: problem həqiqətən mövcuddur. Və Joomla tərtibatçılarına hesabat göndərdi.

Sonra hadisələr ən sürətlə inkişaf etdi. Oktyabrın 18-də Joomla tərtibatçıları o vaxta qədər istifadəçinin qeydiyyatına icazə verən PoC layihəsi hazırlamış Damisdən hesabatı qəbul etdilər. O, öz internet səhifəsində qeyd edib, orada tapdığı problem və bu məsələ ilə bağlı fikirlərini ümumi şəkildə danışıb. Həmin gün Joomla 3.6.3-ün hələ də həssas kodu ehtiva edən yeni versiyası buraxılır.

Bundan sonra Davide Tampellini səhvi sadə bir istifadəçini deyil, idarəçini qeydiyyatdan keçirmək nöqtəsinə gətirir. Artıq oktyabrın 21-də Joomla təhlükəsizlik komandasına yeni bir iş gəlir. Artıq imtiyazların artırılmasından danışılır. Elə həmin gün Joomla saytında elan yerləşdirilir ki, çərşənbə axşamı, oktyabrın 25-də sistem nüvəsindəki kritik zəifliyi düzəldən 3.6.3 seriya nömrəsi ilə növbəti versiya buraxılacaq.

25 oktyabr Joomla Security Strike Team Damis tərəfindən aşkar edilmiş kod parçasının yaratdığı ən son problemi tapır. Sonra 21 oktyabr tarixli gözə çarpmayan adı olan Prepare 3.6.4 Stabil Release rəsmi Joomla repozitoriyasının əsas şöbəsinə köçürülür və bu, uğursuz səhvi düzəldir.

Bu çıxdıqdan sonra çoxsaylı maraqlı şəxslər developer icmasına qoşulurlar - onlar zəifliyi təbliğ etməyə və istismarlar hazırlamağa başlayırlar.

Oktyabrın 27-də tədqiqatçı Harri Roberts Xiphos Research repozitoriyasına PHP faylını həssas CMS-i olan serverə yükləyə bilən hazır istismarı yükləyir.

Təfərrüatlar

Yaxşı, arxa plan bitdi, keçək ən maraqlı hissəyə - zəifliyin təhlilinə. Mən Joomla 3.6.3-ü sınaq versiyası kimi quraşdırdım, ona görə də bütün sətir nömrələri bu versiya üçün uyğun olacaq. Və aşağıda görəcəyiniz fayllara gedən bütün yollar quraşdırılmış CMS-in kökünə nisbətən göstəriləcək.

Damis Palmanın kəşfi sayəsində sistemdə istifadəçi qeydiyyatını həyata keçirən iki üsul olduğunu bilirik. Birincisi CMS tərəfindən istifadə olunur və /components/com_users/controllers/registration.php:108 faylında yerləşir. İkincisi (zəng etməli olduğumuz) /components/com_users/controllers/user.php:293-də yaşayır. Gəlin buna daha yaxından nəzər salaq.

286: /** 287: * İstifadəçini qeydiyyatdan keçirmə üsulu. 288: * 289: * @return boolean 290: * 291: * @1.6-dan bəri 292: */ 293: ictimai funksiya qeydiyyatı() 294: ( 295: JSession::checkToken("post") və ya jexit(JText::_ (“JINVALID_TOKEN”)); 315: $return = $model->validate($form, $data 316: 317: // Səhvləri yoxlayın 318: if ($return === false) 319: ( ... 345: / /). Qeydiyyatı tamamlayın 346: $return = $model->register($data);

Burada yalnız maraqlı sətirləri buraxdım. Həssas metodun tam versiyasına Joomla repozitoriyasında baxmaq olar.

Normal istifadəçi qeydiyyatı zamanı nə baş verdiyini anlayaq: hansı məlumatlar göndərilir və necə emal olunur. Əgər parametrlərdə istifadəçi qeydiyyatı aktivləşdirilibsə, formanı http://joomla.local/index.php/component/users/?view=registration ünvanında tapmaq olar.


Qanuni istifadəçi qeydiyyatı sorğusu aşağıdakı ekran görüntüsünə bənzəyir.


com_users komponenti istifadəçilərlə işləmək üçün məsuliyyət daşıyır. Sorğuda tapşırıq parametrinə diqqət yetirin. O, $controller.$method formatına malikdir. Fayl strukturuna baxaq.

Qovluqdakı skriptlərin adları nəzarətçilərçağırılan nəzarətçilərin adlarına uyğun gəlir. Sorğumuz indi $controller = "registration" ehtiva etdiyi üçün fayl çağırılacaq qeydiyyat.php və onun register() metodu.

Diqqət, sual: qeydiyyat emalını kodun həssas yerinə necə köçürmək olar? Yəqin ki, artıq təxmin etmisiniz. Zəif və real metodların adları eynidir (registr), ona görə də sadəcə çağırılan nəzarətçinin adını dəyişmək lazımdır. Zəif nəzarətçimiz harada yerləşir? Doğrudur, faylda user.php. Belə çıxır ki, $controller = "istifadəçi" . Hər şeyi bir araya gətirərək tapşırıq = user.register alırıq. İndi qeydiyyat sorğusu bizə lazım olan üsulla işlənir.


Etməli olduğumuz ikinci şey məlumatları düzgün formatda göndərməkdir. Burada hər şey sadədir. Legitimate register() bizdən jform adlı bir massiv gözləyir, biz orada qeydiyyat məlumatlarını - ad, giriş, parol, e-poçt (sorğu ilə ekran görüntüsünə baxın) ötürürük.

  • /components/com_users/controllers/registration.php: 124: // İstifadəçi məlumatlarını əldə edin. 125: $requestData = $this->input->post->get("jform", array(), "massiv");

Müştərimiz bu məlumatları istifadəçi adlı massivdən alır.

  • /components/com_users/controllers/user.php: 301: // Forma məlumatlarını əldə edin. 302: $data = $this->input->post->get("istifadəçi", array(), "massiv");

Buna görə də sorğudakı bütün parametrlərin adlarını jfrom-dan user-ə dəyişirik.

Üçüncü addımımız etibarlı CSRF tokenini tapmaqdır, çünki onsuz qeydiyyat olmayacaq.

  • /components/com_users/controllers/user.php: 296: JSession::checkToken("post") və ya jexit(JText::_("JINVALID_TOKEN"));

Bu, MD5 hash-ə bənzəyir və siz onu, məsələn, /index.php/component/users/?view=login saytındakı icazə formasından götürə bilərsiniz.


İndi istədiyiniz üsuldan istifadə edərək istifadəçilər yarada bilərsiniz. Hər şey düzəldisə, təbrik edirəm - sadəcə bir zəiflikdən istifadə etdiniz CVE-2016-8870"Yeni istifadəçilərin qeydiyyatı üçün icazə yoxlanışı çatışmır."

UsersControllerRegistration nəzarətçisindən “işləyən” registr() metodunda belə görünür:

  • /components/com_users/controllers/registration.php: 113: // Əgər qeydiyyat deaktivdirsə - Giriş səhifəsinə yönləndirin. 114: əgər (JComponentHelper::getParams("com_users")->get("allowUserRegistration") == 0) 115: ( 116: $this->setRedirect(JRoute::_("index.php?option=com_users&view=" giriş", false)); 117: 118: yalanı qaytarın; 119: )

Və beləliklə, həssas vəziyyətdə:

  • /components/com_users/controllers/user.php:

Bəli, olmaz.

İkinci, daha ciddi problemi başa düşmək üçün gəlin yaratdığımız sorğunu göndərək və kodun müxtəlif hissələrində onun necə icra olunduğunu görək. Budur, işçi metodunda istifadəçinin təqdim etdiyi məlumatların doğrulanmasına cavabdeh olan hissə:

Davamı yalnız üzvlər üçün əlçatandır

Seçim 1. Saytdakı bütün materialları oxumaq üçün “sayt” icmasına qoşulun

Müəyyən edilmiş müddət ərzində cəmiyyətə üzvlük sizə BÜTÜN Hacker materiallarına giriş imkanı verəcək, şəxsi məcmu endiriminizi artıracaq və peşəkar Xakep Score reytinqi toplamağa imkan verəcək!



Saytda yeni

>

Ən məşhur