Curly Brace: ну да, я вот с точки зрения дизайнера (автора программы) и спрашиваю: есть ли такое в природе (посмотреть как сделано) и стоит ли такое делать. Меня, если честно больше интересует обратный процесс. Сейчас у многих большие мониторы и при раскрытии окна на весь монитор становится неудобно читать длинные строки. Было бы, на мой взгляд, интересно перегруппировывать блоки программы, нет?
Curly Brace: ну, скажем, почтовый клиент: есть две колонки, слева список писем, справа просмотр. При уменьшении ширины экрана до критичной, когда читать становится неудобно, список писем перемещается вверх, т.е. теперь экран разделен не по вертикали, а по горизонтали. Ну, как это обычно происходит в адаптивном дизайне сайтов.
Curly Brace: Специально скачал 100+ Мб Viber, поставил (ага при этом еще неизвестно сколько поставилось на телефон, ну ладно), и так и не увидел, что меняется в приложении при изменении размера окна.
Что за книга? Например, для художественной интересны функции составления списка действующих лиц и их состояния (чтоб труп не ожил внезапно), для научной литературы всевозможные ссылки/сноски/источники, и пр. Или Вам чисто для набора текста? Тогда да, хоть Word, хоть Pages...
Sergey: Вы про то ,что проверять файл сессии из php? а где привязка его к $ssl_client_serial? Можно попробовать включить $ssl_client_serial в имя файла сессии.
Sergey: session - понятие приложения (что у Вас там php или node.js, и как оно с этими сессиями работает, nginx не знает). Ну, а ip + cookie пожалуйста.
Sergey: ну, определять человека за компьютером еще не научились, разве что по отпечаткам. Поэтому под "другим человеком" подразумевается "другой компьютер" или даже точнее "другой браузер".
Sergey: ок, cookie. Т.е. нужно где-то хранить связь cookie и client_serial. Думаю Вы уже где-то храните это. Собственно, при "входе", там где Ваше приложение ставит эту cookie, проверяйте нет ли кого-то с таким же client_serial (ну там с таймаутом и пр.) Или нужно пустить нового и "выкинуть" всех старых?
Вам наш тезка правильно сказал - не путайте аутентификацию с идентификацией. Вы аутентифицировали пользователя по сертификату. Значит у него есть ключ, который подходит к Вашему замку. Но этот ключ может быть у нескольких людей и все они вправе иметь доступ. Вы должны как-то идентифицировать вошедшего.
Sergey: я этого не сказал ;) просто надо сначала уяснить что такое "вход" для Вашего приложения/сайта. Т.е. где Вы храните сессии "вошедших". Тогда можно думать как осуществить "выход" других пользователей (опять же как их определить, что они "другие"), отдающих тот же сертификат.
Sergey: nginx не контролирует "вход", он проверяет валидность сертификата и устанавливает $ssl_client_verify Что делать с этой переменной дальше - пускать, не пускать, проверять что-то еще - дело приложения.