Sākums Kas mēs esam Kontakti Jūsu ieteikumi un jautājumi Reklāma Mobilā

OK TO SHOP

Jānis Kollis
05.03.2018.
Komentāri (13)

Iesaki rakstu: Twitter Facebook Draugiem.lv

Ja daudzviet rietumu pasaulē ir populāra melnā piektdiena, kad tirgotāju piedāvāto atlaižu uzrunāti, pircēji pie veikaliem veido iespaidīgas rindas, lai tikai pirmie tiktu iekšā, tad, jāteic, Latvijā situācija ir krietni labāka - mums ir “gaidāmā sestdiena”, kurā ļoti liela nācijas daļa ir gatava pavadīt stundām rindā (kā “dzīvajā” tā internetā), lai tiktu nevis pie jaunākā iPhone, bet gan pie Dziesmu svētku biļetēm. Diemžēl pie biļetēm tikt visiem neizdevās, un tas galvenokārt ir skaidrojams ar to, ka tiek ignorēti elementāri tirgus principi, proti, cenas salāgojamība ar pieprasījumu. Taču šis aspekts mani šoreiz interesē maz, tāpēc parunāšu par pašu biļešu tirdzniecību.

Šī uzdevuma veikšanai Kultūras ministrija izsludināja konkursu, kurā uzvarēja “Biļešu paradīze” (BP). Konkursa nosacījumi paredz, ka BP nedrīkst piemērot komisijas maksu par biļešu tirdzniecību, toties tā saņem 0.75% no iekasētās summas. Kopumā, svētku rīkotāji no viesiem pasākumiem biļetēs cer iekasēt pat 4 miljonus EUR, kas rezultētos 30 tūkstošus eiro lielos BP ieņēmumos, taču BP nav parasts uzņēmums, tāpēc tas izmanto vadošo juridisko pieeju “māja-kuģis” un paziņo, ka iekasētā maksa ir interneta veikala lietošanas maksa, nevis komisijas maksa. Šeit mēs vēl varēsim izbaudīt gana skaistu šovu. Diemžēl ar šo likstas nav galā.

Nopietnas problēmas bija sastopamas arī pašā biļešu tirdzniecības procesā. Visu tirdzniecību varētu sadalīt divās daļās - tirdzniecība kasēs un tirdzniecība internetā. Jāsaprot, ka tirdzniecība kasēs tāpat notiek caur internetu ar speciālu tirgotājam pielāgotu programmu, tāpēc, ja biļetes beidzās, tad tās beidzās visās kasēs reizē. Galvenā programmas priekšrocība ir, ka tirgotājam nav jāgaida rindā. Taču, neskatoties uz to, daudzās tirdzniecības vietās rinda uz priekšu virzījās ļoti lēni. Kā jomas flagmanis izceļama kase Zinātņu akadēmijā, kuras darba laiks beidzās pulksten 15:00 un kuras caurlaidība bija 1 klients 25 minūtēs.

Taču tīri profesionāli mani visvairāk piesaistīja problēmas ar publisko tirdzniecību internetā. Vienkārši, ja kādreiz nāksies ko tādu izstrādāt, negribētos pieļaut tās pašas kļūdas. Un problēmas bija.

Lai novērstu sistēmas pilnīgu atkāršanos, tika ieviests rindas princips un ierobežots vienlaicīgi portālam pieslēgušos lietotāju skaits. Kad tas bija sasniedzis kādu konkrētu vērtību, visi atlikušie tika ievietoti rindā un gaidīja, kad kāds beigs savu darbu portālā. Lai nodrošinātu rindu uz katra gaidītāja datora, ja atskaita citu funkciju nodrošināšanai nepieciešamos sīkfailus (cookies), tika izvietots arī sīkfails “queue_uid”, kurš saturēja unikālu kodu. Pārlūks reizi 30 sekundēs vērsās pie servera, lai informētu serveri par to, ka klients vēl turpina gaidīt (nav aizvēris pārlūku), un noskaidrotu, vai rinda jau nav pienākusi. Servera pusē pēc šī koda tika skatīts, cik kodi ir priekšā, kuri izveidoti agrāk nekā manējais. Tā vismaz tam vajadzētu strādāt, bet, tā kā servera pusi es neredzu, varu arī kļūdīties.

Jau uzreiz ir skaidrs, ka ar šādu mehānismu rindā var iestaties no vairākām iekārtām un vairākiem pārlūkiem. Piemēram, uz mana portatīvā datora ir Google Chrome, Mozilla Firefox, Opera un Internet Explorer. Zinot, ka sīkfaili tiek glabāti katram pārlūkam atsevišķi, es no sava datora varu ieņemt četras vietas rindā. Ja man ir vairāk datoru, tad attiecīgi arī vairāk vietas.

Tālāk sākās pats interesantākais - brīdī, kad rinda tiek izstāvēta, pie klienta tiek novietots sīkfails “ok_to_shop”, kura saturs ir viens vienīgs vieninieks. IT jomas pārstāvji lieliski zina, ka daudzos gadījumos nulle tiek interpretēta kā “False”, bet jebkas, kas lielāks par nulli, un parasti tas ir vieninieks, tiek interpretēts kā “True”. Tātad tiek novietots sīkfails “ok_to_shop” = 1, un tieši šī sīkfaila esamība nosaka to, vai rinda jau izstāvēta vai arī lietotājam jāturpina gaidīt.

Sīkfailu īpatnība ir tā, ka tie glabājās uz jūsu datora, tāpēc tehniski nav šķēršļu tos izdzēst, modificēt vai pievienot jaunus. Tāpēc nolēmu pārbaudīt, vai tiešām piekļuve tiek kontrolēta caur brīvi modificējamu sīkfailu.

Darbības kuras veicu: 1) izdzēsu visus sīkfailus kas attiecas uz BP mājas lapu 2) iegāju https://www.bilesuparadize.lv, notika pārvirzīšana (redirekts) uz www2.bilesuparadize.lv, kur tad arī pēc visa spriežot tika kontrolēta rinda. 3) patvaļīgi pievienojou iztrūkstošo sīkfailu 4) no jauna devos uz https://www.bilesuparadize.lv, un “Jūs neticēsiet ko es tur ieraudzīju!”. Ieraudzīju iespēju iegādāties biļetes. Iegādāties, nestāvot rindu.

Visa šī izpēte man aizņēma aptuveni 1 stundu un 15 minūtes. Savukārt sīkfaila uzstādīšanu, ja zinu kas jāuzstāda, es varu veikt mazāk nekā vienā minūtē.

Bija jau vēl arī tradicionāli ierastās problēmas: 1) DDoS uzbrukums, kurš varbūt nemaz nebija uzbrukums, jo slodze bija dabīgi liela, bet varbūt arī bija, to nu grūti pateikt. 2) Veca un caurumaina webservera versija, un tur nu uzņēmums pats ir vainīgs, ka neseko līdzi lapas drošībai.

Šķiet, radušos situāciju visprecīzāk raksturoja Krišs Rauhvargers: “Nākotnes tehnoloģijas” nejēgu izpildījumā nodrošina to, ka attiecīgo tehnoloģiju pārzināšana dod priekšroku pār pārējiem. Tas nav labi.” Priecīgus svētkus visiem, un Dievs, sargi dzimteni! https://www.youtube.com/watch?v=C-V6gUjIV1g

Pārpublicēts no Facebook

An error has occured