1C Bitrix fejlesztők - Utálom, amikor a munkamenetem lejár, és az adatok elvesztek! Élő beszélgetés

Küldött valamit a webhelyen lévő űrlaphoz, és megkapta az "A munkamenet lejártának" üzenetet?

Mindenki, akire ezt a kérdést feltettem, erőteljesen megerősítette és reagált, és rettenetesen megátkozta, hogy kiemelkedő posztot írt és. bumm, minden elveszett. Én magam nemrég elvesztettem egy nagyszerű posztot, és nem kezdtem átírni, amíg sajnálom a szöveget.

Gyorsan tanuljuk meg a fájdalmas élményt, és a legtöbbjük már kidolgozta azt a szabályt, hogy minden nagy üzenetet átmásol a pufferbe, mielőtt az űrlapgombra kattint.

Ma azt szeretném elmondani, hogyan oldottuk meg ezt a problémát, és miért válsz kedvesebbé, mert Ön és ügyfelei már nem szembesülnek ilyen problémákkal, amikor cégünk termékeivel dolgozunk

Mi az a munkamenet, és miért találta ki ezeket a dolgokat?

A webes fejlesztők feltárták a látogatókat a látogatók azonosítására. Régóta elgondolkodott és sikeresen használta az egész világot.

Minden alkalommal, amikor bármelyik weboldalra megy, a rendszer az Ön számára egyedülálló munkamenetszámot jelenít meg, és az oldal ezzel az egyedi számmal kap. És minden további hívás ezen a webhelyen már megtörtént ezzel a munkamenet-azonosítóval. Tehát a webfejlesztők megtanulták megérteni, hogy minden kérés Öntől származik, nem pedig valaki másból.

Ie session - ez a teljes munkamenet a webhelyen az első bejelentkezéskor az oldalra és a webhelyhez való munkához.

Ez a probléma a fejlesztõkkel. Hogyan állapítható meg, hogy a felhasználói munkamenet befejeződött-e?

Meg lehet menni a kávéfogyasztás, a dohányzás egy cigarettát, vagy írásban üzenetet egy blog vagy fórum hosszú ideig.

A felhasználók felháborodnak. Miért nem tudsz véglegesen egy munkamenetet készíteni, ha webfejlesztő nem tud weboldalakat nélkülözni?

Általában ma van egy gyakorlat a közösségben, hogy a felhasználó ülés tart 20-30 percig. Ie Ha megnyitotta a honlapjára, és 30 perc alatt nem megy a másik oldalt az oldal, és nem kap egy új oldal a munkamenetben - a web szerver egyszerűen úgy dönt, hogy már elment, és befejezni a session nem is gondolt, akkor írj egy blogbejegyzést, vagy vissza a szünet és töltsön be egy fontos formát.

Mit utálok, amikor a munkamenetem lejár?

Többször próbáltam megoldani ezt a problémát.

Általában a feldolgozást úgy formálják, hogy ha a munkamenet lejárt, a felhasználó megadhat egy bejelentkezési jelszót és egy jelszót, és az űrlapon szereplő adatokat teljes egészében megkapja. Ugyanúgy indokoltunk, és ilyen feldolgozást hajtottunk végre fórumokon, blogokon és más formában. De mint módszer, nem bizonyult nagyon jól. És nem tudtuk követni mindet, és ami a legfontosabb, partnereinknek nincs időnk arra, hogy egyáltalán gondolkozzanak. És még akkor is, ha mindez jól működik, a felhasználó látja az első üzenetet, hogy a munkamenet lejárt, és már megragadja a szívét, és dühös rád.

Egy másik módja annak, hogy figyelmeztesse a felhasználókat, hogy a munkamenet lejárt. A webszerver az oldal létrehozásakor ismeri a munkamenet hosszát, és a befejezéséhez közeledve figyelmezteti a felhasználót.

Nemrég példa az Alfa-Click. A banki szolgáltatás nagy szükség van a felhasználó biztonságának figyelésére. Amikor a munkamenet befejeződik, egy üzenet jelenik meg.

1C Bitrix fejlesztők - Utálom, amikor a munkamenetem lejár, és az adatok elvesztek! Élő beszélgetés

Ha a számítógép és tegyen valamit az oldalt, majd gyorsan nyomja meg a gombot gyorsan, egy mély lélegzetet, és mentálisan köszönetet mondani Alfa-Click, hogy nem teszi meg mérges.

Élő beszélgetés - természetesebbé tesszük, de nem fogjuk tudni

Nemrégiben úgy döntöttünk, hogy rendszeres megoldást találunk erre a problémára, hogy a platformunk összes webhelye felhasználóbarátabbá váljon.

Emlékeztetem a fejlesztőket, hogy amikor létrehozunk egy oldalt, ismerjük a munkamenet hosszát és az idő létrehozását. Ne feledje, hogy ezt az időt a biztonsági modul kezeli, függetlenül a webszerver beállításaitól.

A felhasználó böngészőjében csendesen elkezdjük a visszaszámlálást. Néhány perccel a munkamenet befejezése előtt bekapcsoljuk a fejét, és meglátjuk, hogy él-e vagy sem. Ellenőriztük, mikor voltak utolsó kattintások a billentyűzeten, a kattintásokon és az egérmozgásokon, és ... észrevehetetlenül meghosszabbítja a munkamenetet a felhasználó számára, ha még él. Ie Kérést küldünk a webszerverre, hogy a kiszolgáló KNEW-e, hogy ez a látogató még mindig velünk van. A munkamenet meghosszabbodik a kiszolgálón, és a felhasználók nem jelennek meg üzenetek.

Élő csevegés - annyi életet él, mint a felhasználó a webhelyen.

Ha nem mutatnak életjelet időtartama alatt az ülés, nem mozog az egér, a böngésző ablakot, ne írjuk be a szöveget, nem kattintás rajtuk vagy sem az érintőképernyő, általában, ha elfelejtette erről az oldalról - megmutatjuk, ide egy üzenetet.

1C Bitrix fejlesztők - Utálom, amikor a munkamenetem lejár, és az adatok elvesztek! Élő beszélgetés

Ez az üzenet mind az adminisztrációs részben, mind a webhely nyilvános oldalain jelenik meg.

1C Bitrix fejlesztők - Utálom, amikor a munkamenetem lejár, és az adatok elvesztek! Élő beszélgetés

Természetesen egy élő munkamenetet is kezelhet a fő modul beállításai között.

1C Bitrix fejlesztők - Utálom, amikor a munkamenetem lejár, és az adatok elvesztek! Élő beszélgetés

Egy kicsit egyszerűsítettem az előadást. A megvalósítás meglehetősen bonyolultnak bizonyult. Néhány nap múlva terveztük, amikor megoldást találtunk. Valójában Vadim Dumbravannak két hétet kellett eltöltenie, amely ötvözi az ötletet a biztonsági rendszerrel és a biztonsági tesztekkel, megkerülve a tárhely, a kompatibilitás és a tesztelés problémáit.

Most nagyon örülünk a megvalósításnak, és tetszeni fog.

A megoldás elérhető lesz a 9.5.7 főmodul verziójával, amely jelenleg béta üzemmódban áll rendelkezésre. Egy kicsit üldözi, és mindent elenged a munkaért.

Egy élő munkamenet tesz minket kedvesebbnek, mint valaha

1C Bitrix fejlesztők - Utálom, amikor a munkamenetem lejár, és az adatok elvesztek! Élő beszélgetés

Helyesen meg van jegyezve, hogy a munkamenetek "a programozóból" vannak. Tudni, hogy ez a felhasználó teljesen nincs szüksége, és még inkább nem kell elveszíteni a munkát és a felhasználói adatokat. Ebben az értelemben a jelenlegi megvalósítás nem bánt, és ment.

Képzeld el, hogy tényleg elmentem ebédre vagy valami másra. Több mint 30 perc. A munkamenetem "megzavarodik", és foglalkoznom kell a már bevitt adatokkal.

Ez csak egy ilyen forgatókönyv. Még mindig jöhet. Nyilvánvaló, hogy míg a felhasználó az összes mezőt például egy szövegfájlba (formázás elvesztésével) vagy például Word-be (az ezt követő késleltetett visszafordulási hibákkal) másolhatja. Vagy önmagadnak egy segédprogramot egy másoló-paszta verem támogatásával. Szintén megoldás.

Mindezek a mankók, mivel a razabotchik nem gondolta, hogy egy személy nem érdekli a munkamenet és így tovább. Szükségem van egy palacsinta munkára!

Számos lehetőség érhető el:
1) Egyáltalán ne öld meg az egységet, ha a kapcsolat nyitva van (nyissa meg az ablakot a böngészőben, ott van az internet).

2) A munkamenet beágyazható, de az űrlap kitöltésekor el kell mentenie az összes adatot, fel kell kérnie a felhasználót a jelszóra, és ténylegesen be kell fejeznie a felhasználó által a

Nyilvánvaló, hogy vannak kivételek bankok formájában. De ezek kivételek, amelyek szigorúan megerősítik a szabályokat. A bankok esetében a megbeszélést nem az Önnel kapcsolatos fékezési problémák, vagy a hatalmas munkamenetek miatt okozta. Úgy gondolom, hogy ezeket a problémákat megoldották. Van ok, ami biztonságos. Ez az oka annak, hogy minden felhasználó számára érthető.

) Ne felejtse el az egyidejű munkát, ha a kapcsolat nyitva van (nyissa meg az ablakot a böngészőben, ott van az internet).


A HTTP protokoll az úgynevezett hontalan protokollokra utal, amelyek nem rendelkeznek a munkamenet vagy a munkamenet fogalmával. Ez nagyon egyszerű és gyors, de problémát is okoz, amiről beszélünk. Így nem fog működni a munkamenet nélkül.

2) A munkamenet beágyazható, de az űrlap kitöltésekor el kell mentenie az összes adatot, fel kell kérnie a felhasználót a jelszóra, és ténylegesen be kell fejeznie a felhasználó által a


Már ezt tesszük, írtam fent. Ha aggasztja az üzenetet, letilthatja azt.

Az üzenet célja azonban csak arra figyelmeztetni a felhasználót, hogy lehetségesek a problémák.

És mégis, még egyszer figyelmet szentel, az üzenet csak akkor jelenik meg, ha a munkamenet valóban lejárt. Ha csak ülsz az oldalon és csinálsz vele valamit, meghosszabbítjuk a munkamenetet, és semmit sem mutatunk be a felhasználónak. Korábban ez nem történt meg, és a problémák sokkal többet jelentettek attól függetlenül, hogy tud-e az ülésről vagy sem.

Egyébként a hosszú hívások között írt válasz arra a következtetésre jutott, hogy egy példányt másol a szokásból, ellenállt és megnyomta a postát. Az ülés még életben van.

Szergej, Vadim, köszönöm a hasznos innovációért! A probléma valóban nagyon fontos.

Azonban, amint már fent említettük, a megoldásnak számos hiányossága van. A fejlécre számos javaslatot tettek a fejlesztésre

1. Nem hiszem, hogy a feltétel nélküli automatikus kiterjesztése az ülés csak azokon az oldalakon nyitott jelentősen növeli a szerver terhelését, hogy töltse ki a formákat. Ez a megoldás teljesen kiküszöböli az adatvesztést egy füst szünetet, snack, edző, stb)) Ami a biztonságot, akkor személyesen, csak azt tudom, hogy két fenyegetés: a képesség, hogy adja meg az érvénytelen vagy hamis adatok formájában elhaladó átmenetileg szabad számítógép egy támadó és egy kis Növelje az időbeosztást a tapasztalt támadó számára. Miután kiküldetés formájában, menjen egy másik oldalt az oldal (ami forma nélkül), bezárja a böngészőablakot automatikus megújítás ülés nem lesz cselekvés, vagyis az átlagos terhelés a web szerver nem fog változni.

2. Ha azonban a fenti lépés nem elfogadható a jelenlegi biztonsági követelmények és a termék teljesítményét, akkor lehet biztosítani, például egyes diszkrét ablakban egy gomb, vagy ellenőrizze a la „állok, ne öld a session” található „az oldalon” a felhasználó láthatósági zónájában.

4. Nos, ha nem hagyja figyelmen kívül a figyelmeztető üzenetet, megadhatja nekünk egy gombot, hogy "Másolja be a beírt adatokat a vágólapra". Bár a sütikben tárolt vázlatok rendszerének talán még érdekesebb is lehet.

Ez valahogy felgyorsult, szóval ne esküdj meg, ha a hülyeség villog

Most a kollégáikkal a Live Sessions mechanizmusának egy másik jelentős javulása jött létre

Ez valójában csak akkor jeleníti meg az üzenetet a felhasználónak, ha a szerver biztosan kérni fogja a felhasználó bejelentkezési és jelszavát. Ie A látogatók 99% -a soha nem látja üzeneteinket, és garantált lesz, és biztonsággal dolgozik a webhelyen.

Általánosságban elmondható, hogy a biztonsági okok miatt a munkamenetek nagyon nehézek. Az azonosítók folyamatosan változnak, a munkamenetet különleges azonosító védi, az IP-hez kapcsolódva és sok más trükköt.

De biztonságos megoldást találtunk arra vonatkozóan, hogy hogyan tartsuk meg az összes biztonsági házirendet és biztosítsuk az élő munkamenetek megbízható működését.


Igen, valószínűleg izgatott voltam, úgy értem, hogy a hétköznapi felhasználóknak általában egyszerű biztonsági házirend van, és belépnek a webhelybe, csak emlékeznek magukra.

8-800-250-1860 Kapcsolat Oldaltérkép
Weboldal tervezés -