ПредишенСледващото

Вие трябваше да изпрати нещо под формата на сайта и получавате съобщение "Сесията ви е изтекла"?

Всички, които задава този въпрос, потвърди и отговори бързо и ужасно се злоупотребява, те пише изключителен пост и. бам, всичко е загубено. Направих така наскоро загубиха голям пост и не се презапише все още съжалявам текста.

Ние бързо се учат от болезнени преживявания и най-вече са развили правило, че всяка по-голяма съобщение се копира в буфер, преди да натиснете бутона форма.

Днес искам да ви кажа как ние решен този проблем и защо сега ще се превърне в добър - защото вие и вашите клиенти, вече няма да се сблъскват с такива проблеми при работа с продуктите на нашата компания

Какво е една сесия и какво всичко това излезе с?

Сесии измислени уеб разработчици да идентифицират своите посетители. Ние измислихме за дълго време и се използва успешно в целия свят.

Всеки път, когато посетите даден уебсайт, вие сте обмислено система за уникален номер на сесията и страницата ви е дадено с този уникален номер. И всичко си последващо третиране на този сайт са случва с този идентификационен номер на сесията. Така уеб разработчици са се научили да се разбере, че всички искания отиват е от вас, а не от някой друг.

Т.е. сесия - това е цялата си сесия с уеб сайт от първия вход в сайта и да завърши работата със сайта.

Тук е проблем само за разработчици. Как да се определи, че потребителската сесия приключи?

Можете да отидете да се пие кафе, дим или са много време да пиша в блога или форум.

Хората са възмутени. Защо не може да направи всичко на сесията за неопределено време, ако сте уеб програмист, можете да направите уеб сайтове без нея.

Като цяло, днес има практика в общността, че потребителската сесия трае 20-30 минути. Т.е. Ако сте отворили страницата на сайта, както и на 30 минути не бяха изпратени до другите страници на сайта и не е получил нова страница в сесията - уеб сървър, просто да реши, че сте преминали и завърши сесията си, без дори да мисля, да напишете блог пост или се върна от почивката и запълни важна форма.

Какво мога да мразя, когато ми изтича сесията?!

Много пъти съм виждал опити за решаване на този проблем.

Обикновено се направи обработка на форми, така че дори ако на сесията е изтекъл, потребителят може да въведете име и парола детайли във формата ще бъдат получени в пълен размер. Говорихме, както и прави такива процедури във форуми, блогове и други форми. Но този метод не се оказа много добра. И всички ние може да последва, и най-важното, нашите партньори изобщо за това нямат време да мислят. И дори ако всичко е направено добре по този метод, потребителят вижда първото съобщение, че сесията е изтекъл и вече се хвана сърцето си, и се гневи на вас.

Друг начин - да предупреди потребителите, че сесията е изтекъл. Уеб сървър при създаването на страницата, са запознати с времетраенето на сесията и при приближаване завършването му да предупреди потребителя.

Един скорошен пример - Alfa-Click. Банково обслужване спешно трябва да се съобразят с потребителя за сигурност. Когато сесията е пред завършване, се появява съобщение.

1C-Битрикс разработчиците - Мразя, когато моята сесия изтича и данните се губи! на живо на сесията

Ако не сте пред компютъра и да направят нещо на страницата, след това бързо натиснете бутона бързо, дълбоко дъх и мислено се каже, благодарение на Alfa-Click, че да не ви накара да се ядоса.

На живо сесия - ние ще Ви направим добре, но не знаете

Неотдавна, ние решихме да се намери системно решение на този проблем, за всички сайтове в нашата платформа са по-удобни за посетители.

Нека да напомним разработчици, че когато се създаде страница, ние знаем, продължителността на сесията, а изработването на тази страница. Не забравяйте, че този път се контролира от модула за защита, независимо от настройките на уеб сървъра.

браузъра на потребителя, ние дискретно започне обратно броене за него. ние се обръщаме главата си и да погледнете, дали той е жив или не за няколко минути преди сесията приключи. Проверете, когато те са били последното натискане на клавиатурата, мишката кликвания и движения, както и ... ние сме невидими за потребителя удължаване на сесията, ако той е все още жив. Т.е. ние да изпрати искане до уеб сървър, за да знам на сървъра, че посетителят е все още с нас. Разширеното заседание на сървъра и няма съобщения за потребителите не се показва.

На живо сесия - живее толкова дълго, колкото на потребителското rabotet със сайта.

Ако не показва признаци на живот за цялото времетраене на сесията, не движете мишката в прозореца на браузъра, не пишете текста, не кликнато, или не на сензорния екран, като цяло, ако сте забравили за тази страница - ние ще ви покаже съобщение тук.

1C-Битрикс разработчиците - Мразя, когато моята сесия изтича и данните се губи! на живо на сесията

Това съобщение ще се появи в административната част, а обществените страници на сайта.

1C-Битрикс разработчиците - Мразя, когато моята сесия изтича и данните се губи! на живо на сесията

И, разбира се, можете да управлявате жива сесия в основните настройки модул.

1C-Битрикс разработчиците - Мразя, когато моята сесия изтича и данните се губи! на живо на сесията

Бях малко по-лесно за вас презентация. Реализацията става доста сложно. Ние планирахме да направим няколко дни, когато е измислил решение. Но всъщност Вадим Dumbravanu трябваше да прекарат две седмици на комбинация от идеи с тестове за сигурност и безопасност, за заобикаляне на проблемите на домакините, както и тестове за съвместимост.

Сега реализацията ние сме много доволни и се надяваме, че ще се хареса.

Решението ще бъде на разположение от версия 9.5.7 на основния модул, който в момента е достъпна в бета режим. Малко поръчки и освободи всичко, за да работят.

На живо на сесията ще ни накара детска неизвестни за нас

1C-Битрикс разработчиците - Мразя, когато моята сесия изтича и данните се губи! на живо на сесията

Правилно е отбелязано, че на сесията - това е "от програмист." Осъзнавайки това потребителят не е необходимо и още повече, че не е нужно да си загуби работата и потребителските данни. В този смисъл, текущото изпълнение не боли сега и спаси.

Представете си, че аз съм наистина се премества да обядва там или нещо друго да се направи. Повече от 30 минути. Аз Session "лош", а аз ще трябва все пак, тъй като е за работа с данните, които вече са въведени.

Това е само един такъв сценарий. Можете дори да се сетиш. Разбираемо е, че докато потребителят може да се копират всички области, като например текстов файл (със загуба на форматиране), или например в Word (в проблеми с последващо обратно изпращане). Или си поставили помощна програма с поддръжка на копирайте и поставете тестето. Това също е решение.

Всички костите на факта, че razabotchik не мисля, че човек не ми пука сесия и така нататък. Трябва да се работи по дяволите!

Има някои, които са дошли да ме в опциите на главата:
1) Не убие сесията напълно, ако връзката е отворена (отворите прозореца на браузъра, има интернет).

2) Заседанието беше възможно да се бие, но за пускане на мнения е необходимо, за да запазите всички данни, напомни на потребителя за въвеждане на парола и всъщност изпълните действието е, че потребителят направи чрез натискане на бутона

Ясно е, че има и изключения, като например банки. Но това са изключения, които потвърждават правилото стриктно. В случай на банките на сесията е прекъсната не заради нашите проблеми с вас за спиране или огромен броя сесии. Мисля, че тези проблеми са просто решени. Има си причина, че е безопасно. Това е причината, което е разбираемо за всеки потребител.

) Да не се убиват сесията напълно, ако връзката е отворена (отворите прозореца на браузъра, има интернет).


HTTP протокол е на така наречените протоколи без гражданство, които нямат понятие за една сесия или на сесията. Това го прави много лесно и бързо, но и създава проблем, който ние с вас и да поговорим. Така че не идват без сесия.

2) Заседанието беше възможно да се бие, но за пускане на мнения е необходимо, за да запазите всички данни, напомни на потребителя за въвеждане на парола и всъщност изпълните действието е, че потребителят направи чрез натискане на бутона


Ние вече го прави, аз написах по-горе. Ако сте загрижени за съобщение, можете да деактивирате своя външен вид.

Но в гредата, само за да предупреждават потребителя, че може да има проблеми.

И все пак, имайте предвид, отново се появи съобщението, само когато сесията всъщност е изтекла. Ако просто искате да седи на страницата и нещо общо с това, ние ще се удължи сесията и не показва на потребителя. Преди това не сме направили така и проблемът е много по-дълго, без значение дали знаете за сесията, или не.

Между другото, отговорът е написано между дълги разговори, постигнати грим за копиране и поставяне по навик, аз се противопоставят и на гредата. Сесията е все още жив.

Сергей, Вадим, благодаря за полезно нововъведение! Проблемът наистина е много актуален.

Въпреки това, както е отбелязано по-горе, решението ви все още има няколко недостатъка. Импровизирано дойда на ум редица предложения за подобряване на

1. Аз не мисля, че безусловното автоматичното продължаване на сесията само на страниците на открито значително да увеличи натоварването на сървърите за попълване на формулярите. Това решение ще елиминира напълно загуба на данни по време на почивка дим, закуска, спаринг и т.н.)) По отношение на безопасността, а след това там лично, мога да видя само две заплахи: способността да въведете невалидни или подправен данни под формата на преминаване от временно без компютър от хакер и лек увеличаване на времето напред, за да пресече сесия за разбирам нападателя. След публикуване на формата, се премести в друга страница на сайта (което е без форма), затваряне на прозореца на браузъра автоматичното подновяване сесия, няма да има действие, което означава, че средното време за зареждане на уеб сървъра няма да се промени.

2. Ако все пак по-горната стъпка не е приемливо за действащите стандарти за безопасност и експлоатационните характеристики на продукта, може да се предвиди, например, някои ненатрапчив прозорец с бутон или проверете а ла "Ще стоя, не убивай ми сесия" намира "на сайта" в зоната на видимост на потребителя.

4. Е, ако аз не се отказвам предупредително съобщение, можете да ни предоставите го бутон "записи за копиране в клипборда." Въпреки че, отново, проекта на системата се съхранява в бисквитка, може би по-интересно ще бъде.

Това е нещо подобно идва с бързат, така че не се кълнат много, ако глупави мига

Сега колегите му са дошли с още едно значително подобрение с механизъм живи сесии

Този факт ще доведе до факта, че съобщението ще бъде показана на потребителя е вече само, когато сървърът е вероятно изисква да си име и парола. Т.е. 99% от обикновените посетители никога не виждат нашите послания и са гарантирани да работят уверено със сайта.

Като цяло, всички от сесиите е много трудно да се организира от съображения за сигурност. Документи за самоличност се променят непрекъснато, сесията е защитена от специална идентификатор прикрепен към ПР и много други трикове.

Но ние намерихме решение как да се пази всички политики за сигурност и да се осигури надеждна работа на живи сесии.


Да, очевидно той изпуска нервите си означаваше, че за обикновените потребители обикновено следва един прост политика на сигурност, и те са включени в сайта е самият помня.

8-800-250-1860 Свържете се с нас Карта на сайта
дизайна на сайта Web -
Подкрепете проекта - споделете линка, благодаря!