Давайте посмотрим вокруг: форумы, интернет магазины, гостевые книги и т.д. используют регистрацию и последующую авторизацию пользователей. Можно даже сказать, что это почти необходимая функция каждого сайта (только если это не домашняя страничка Васи Пупкина или не визитная карточка, какой-нибудь небольшой компании). Сегодня я хочу поделиться со всеми новичками информацией, о том, как лучше это все реализовать.
Модель авторизации:
Клиент
- Регистрация:
- логин (a-z0-9)
- пароль
- Вход:
- логин
- пароль
- Cookie:
- уникальный идентификатор юзера
- хэш
Сервер MySQL
При регистрации в базу данных записывается логин пользователя и пароль(в двойном md5 шифровании)
При авторизация, сравниваеться логин и пароль, если они верны, то генерируеться случайная строка, которая хешируеться и добавляеться в БД в строку user_hash. Также записываеться IP адрес пользователя(но это у нас будет опциональным, так как кто-то сидит через Proxy, а у кого-то IP динамический. тут уже пользователь сам будет выбирать безопасность или удобство). В куки пользователя мы записываем его уникальный индетификатор и сгенерированный hash.
Почему надо хранить в куках хеш случайно сгенерированной строки, а не хеш пароля?
1. Из-за невнимательности программиста, во всей системе могут быть дырки, воспользовавшийсь этими дырками, злоумышленик может вытащить хеш пароля из БД и подставить его в свои куки, тем самым получить доступ к закрытым данным. В нашем же случае, двойной хеш пароля не чем не сможет помочь хакеру, так как расшифровать он его не сможет(теоретически это возможно, но на это он потратит не один месяц, а может быть и год) а воспользоваться этим хешем ему негде, ведь у нас при авторизации свой уникальный хеш прикрепленный к IP пользователя.
2. Если злоумышленик вытащит трояном у пользователя уникальный хеш, воспользовать им он также не сможет(разве если только, пользователь решил принебречь своей безопастностью и выключил привязку к IP при авторизации).
Реализация
Структура таблицы `users` в базе данных ‘testtable’
register.php
login.php
check.php
Для защиты формы логина от перебора, можно использовать капчу или временную задержку на повторную авторизацию.
Автор: http://jiexaspb.habrahabr.ru/. Адаптация под PHP 5.5 и MySQL 5.7 KDG.
Куки с флагом HttpOnly не видны браузерному javascript-коду, а отправляются только на сервер. На практике у вас никогда нет необходимости получать их содержимое в javascript. А вот злоумышленнику, нашедшему XSS — а XSS так или иначе когда-нибудь где-нибудь найдется — отсутствие HttpOnly на авторизационных куках доставит много радости.
Давайте посмотрим вокруг: форумы, интернет магазины, гостевые книги и т.д. используют регистрацию и последующую авторизацию пользователей. Можно даже сказать, что это почти необходимая функция каждого сайта (только если это не домашняя страничка Васи Пупкина или не визитная карточка, какой-нибудь небольшой компании). Сегодня я хочу поделиться со всеми новичками информацией, о том, как лучше это все реализовать.
Модель авторизации:
Клиент
- Регистрация:
- логин (a-z0-9)
- пароль
- Вход:
- логин
- пароль
- Cookie:
- уникальный идентификатор юзера
- хэш
Сервер MySQL
При регистрации в базу данных записывается логин пользователя и пароль(в двойном md5 шифровании)
При авторизация, сравниваеться логин и пароль, если они верны, то генерируеться случайная строка, которая хешируеться и добавляеться в БД в строку user_hash. Также записываеться IP адрес пользователя(но это у нас будет опциональным, так как кто-то сидит через Proxy, а у кого-то IP динамический. тут уже пользователь сам будет выбирать безопасность или удобство). В куки пользователя мы записываем его уникальный индетификатор и сгенерированный hash.
Почему надо хранить в куках хеш случайно сгенерированной строки, а не хеш пароля?
1. Из-за невнимательности программиста, во всей системе могут быть дырки, воспользовавшийсь этими дырками, злоумышленик может вытащить хеш пароля из БД и подставить его в свои куки, тем самым получить доступ к закрытым данным. В нашем же случае, двойной хеш пароля не чем не сможет помочь хакеру, так как расшифровать он его не сможет(теоретически это возможно, но на это он потратит не один месяц, а может быть и год) а воспользоваться этим хешем ему негде, ведь у нас при авторизации свой уникальный хеш прикрепленный к IP пользователя.
2. Если злоумышленик вытащит трояном у пользователя уникальный хеш, воспользовать им он также не сможет(разве если только, пользователь решил принебречь своей безопастностью и выключил привязку к IP при авторизации).
Реализация
Структура таблицы `users` в базе данных ‘testtable’
register.php
login.php
check.php
Для защиты формы логина от перебора, можно использовать капчу или временную задержку на повторную авторизацию.
Автор: http://jiexaspb.habrahabr.ru/. Адаптация под PHP 5.5 и MySQL 5.7 KDG.
Куки с флагом HttpOnly не видны браузерному javascript-коду, а отправляются только на сервер. На практике у вас никогда нет необходимости получать их содержимое в javascript. А вот злоумышленнику, нашедшему XSS — а XSS так или иначе когда-нибудь где-нибудь найдется — отсутствие HttpOnly на авторизационных куках доставит много радости.
Мускарин (Muscarinum)
Это один из самых ядовитых алкалоидов, который был открыт Шмидебергом. Он был найден в мухоморе Amanita muscaria или Agaricus Muscarius L. Из подсемейства пластинчатых грибов семейства Hymenomycetes (Гименомицеты). Также мускарин был найден в грибах Boletus luridus и Amanita pantherina и в грибе Inocybe.
Физические свойства
Этот алкалоид, добываемый из грибов, называется грибным или естественным мускарином, его эмпирическая формула выглядит как C5H15NO8, в то время как структурная формула не найдена. Естественный мускарин не имеет запаха и вкуса и представляет собой сиропообразную жидкость с сильно-щелочной реакцией, которая при высушивании в присутствии серной кислоты постепенно переходит в кристаллическое состояние. На воздухе кристаллы алкалоида очень быстро расплываются, и мускарин вновь переходит в сиропообразную жидкость. Он хорошо растворяется в спирте и в воде, очень плохо в хлороформе и совершенно не растворяется в эфире. Если его нагреть выше 100 градусов, то происходит его разрушение, при этом появляется не слишком ощутимый запах табака. При обработке окисью свинца или едкой щелочью и нагревании преобразуется в триметиламин, а серной или соляной кислотой создает кристаллические соли. Есть предположение, что строение мускарина похоже на строение холина (C5H15NO2):
H3C / CH2CH(OH)2
H3C — N
H3C / OH
Но эксперименты Шмидеберга и Гарнака показывают, что искусственный алкалоид, получаемый синтетическим путем из холина, действует на животных иначе, чем естественный. Эти опыты показали, что искусственный и естественный мускарины не являются идентичными.
Значение для медицины
Как естественный грибной алкалоид, так и соединение, полученное синтетически, в настоящее время с лечебной целью не используются, но при этом их медицинское значение очень велико. В прежние времена осуществлялись попытки лечить мускарином эпилепсию и онкологические процессы желез. Также его предлагалось применять при глазных болезнях и для лечения язв. Но все эти опыты были остановлены ввиду исключительной ядовитости соединения.
Зато мускарин имеет большое токсическое, теоретическое и фармакологическое значение. Он относится к парасимпатикотропной группе ядов, которые оказывают возбуждающее действие на периферические парасимпатикотропные нервы, при этом алкалоид строго избирательно действует на нервную систему. Такая его особенность придает ему большую ценность как фармакологическому средству, которое можно использовать в экспериментах подобно электрическому раздражению или вместо него.
Если в малых дозах ввести естественный мускарин в организм животного, то происходит замедление сердечной деятельности (отрицательное инотропное и хронотропное действие), а в больших дозах он сначала вызывает замедление и ослабление систолических сокращений. А затем в диастолической фазе происходит полная остановка сердца.
Действие на организм
Исследования различных ученых показывают, что мускарин оказывает парализующее действие на периферическую нервную систему дыхательных путей, вызывает усиленное сокращение мускулатуры желудка и кишечника, причем движение кишок видно даже через покровы брюшной стенки. Если мускарин введен в большой дозе, тот возникают беспорядочные перистальтические движения, которые сменяются антиперистальтикой, начинаются рвота и понос. Явным признаком отравления мускарином является спастический характер сокращений всего желудка или его отдельных участков с последующим расслаблением. По мнению Шмидеберга мускарин очень сильно влияет на кишечник и желудок не только благодаря своему воздействию на окончания блуждающих нервов, которые находятся в данных органах, но и вследствие влияния на клетки ганглий сплетения Ауербаха. Также этот алкалоид вызывает спастические сокращения и в других гладкомышечных органах, например, в матке, селезенке и мочевом пузыре. Сокращение возникает в результате раздражающего действия вещества на периферические рецепторы парасимпатических нервов, находящихся в этих органах, а также в результате влияния на автоматические нервные ганглиозные приборы, по аналогии с тем, как это происходит в сердце. Зрачок глаза под влиянием мускарина сильно сужается, развивается спазм аккомодации. Эти два явления обусловлены действием алкалоида на рецепторы парасимпатических волокон глазодвигательного нерва, находящихся в круговых нервах радужной оболочки глаза и в цилиарной мышце.
Шмидебергом было установлено, что грибной мускарин не действует на моторные нервы, в отличие от искусственного, который парализует двигательные нервные окончания. Это же позднее подтвердили Ганс Мейер и Гонда. Таким образом, курареподобные свойства присущи только синтетическому мускарину, полученному из холина.
Грибной мускарин активирует работу желез желудочно-кишечного тракта, стимулирует выделение желчи и сока поджелудочной железы. Также он увеличивает слюно-, пото- и слезоотделение. Выделение слюны под действием мускарина объясняется тем, что он раздражает периферические нервные окончания (это доказал еще Шмидеберг). Секреция всех остальных желез усиливается за счет раздражающего действия мускарина на их отделительные нервы. В этом случае мишенью действия мускарина являются периферические нервные окончания.
Прямым антагонистом мускарина является атропин, который блокирует эффект мускарина за счет парализации окончаний парасимпатических нервов. Это проявляется в тех случаях, когда мускарин оказывает раздражающее действие на периферические рецепторы какого-либо из парасимпатических нервов. Поэтому атропин быстро устраняет диастолическую остановку сердца и замедление сердечного ритма, спровоцированные мускарином. Также атропин прекращает усиленную перистальтику, антиперистальтику и спазмы желудка и кишечника, спазм аккомодации и сокращение зрачка, сокращение мочевого пузыря, а также усиленную секреторную функцию различных желез (потовых, слюнных и других). Свое антагонистическое действие в отношении мускарина сернокислый атропин оказывает вдостаточно малом количестве (0,001-0,1 мг). Также известно, что мускарин прекращает действие атропина на сердце лягушки, глаза, подчелюстную железу и потовые железы. Поэтому существует мнение, что мускарин и атропин являются обоюдными антагонистами. Но при этом мускарина требуется достаточно много (до 7 г), для того чтобы действие атропина прекратилось. В связи с этим вряд ли уместно говорить о том, что мускарин оказывает специфическое действие относительно атропина, и многие фармакологи придерживаются мнения, что вопрос о двустороннем антагонизме этих двух соединений пока еще не решен.
Также к антагонистам мускарина можно отнести аконитин, гиосциамин, вератрин, скополамин, физостигмин, дигиталин, дельфиний, камфару, геллеборин, хлоралгидрат, адреналин. Есть интересные факты, изложенные Цондеком, что хлористый кальций также оказывает антагонистическое действие в отношении мускарина.
Чувствительность различных животных к мускарину может сильно колебаться. Так кошка погибает от подкожного введения мускарина в дозе 4 мг через несколько часов, а в дозе 12 мг уже через 10-15 минут. Собаки переносят более высокие дозы алкалоида. У людей чувствительность к этому веществу очень высокая. Шмидеберг и Коппе проводили опыты на себе и установили, что впрыскивание мускарина в дозе 3 мг уже вызывает отравление, которое проявляется очень сильным слюнотечением, приливами крови к голове, головокружением, слабостью, покраснением кожных покровов, тошнотой и резкими болями в животе, тахикардией, расстройством зрения и спазмом аккомодации. Также происходит усиленное потоотделение на лице и немного меньшее на других участках тела.
Картина отравления
При отравлении грибами картина может быть похожа на описание отравления мускарином, но обычно она все же отличается за счет того, что мухоморы содержат различные ядовитые атропиноподобные вещества и другие соединения, которые с одной стороны влияют на центральную нервную систему, а с другой – купируют действие мускарина. Поэтому для отравления могут быть характерны либо симптомы со стороны желудка и кишечника (тошнота, рвота, боли, понос) либо абсолютно другие симптомы, например, состояние опьянения, сопровождаемое бредом и сильным возбуждением, головокружение, неудержимое стремление разрушить все вокруг, потребность в движении. Затем по всему телу идет дрожь, возникают эпилептиформные и тетанические судороги, расширяется зрачок, учащенный пульс становится значительно реже, дыхание нарушается, становится нерегулярным, резко падает температура тела и развивается состояние коллапса. При таком состоянии через два-три дня наступает летальный исход. В случае выздоровления человек восстанавливается очень медленно, в крови наблюдается состояние гиперлейкоцитоза, сама кровь сворачивается очень плохо. Но достоверных и полностью подтвержденных данных об изменениях крови на сегодняшний день нет, как и нет данных о патологических изменениях при отравлении.
Первая помощь
В первую очередь при отравлении грибами нужно удалить содержимое из желудка и кишечника. Для этого используют рвотные средства, промывание желудка с помощью зонда, а кишечник с помощью клизмы. Внутрь в больших дозах пьют касторовое масло. Если преобладают симптомы отравления, характерные для мускарина, то подкожно вводят атропин. Если же отравление развивается преимущественно под действием атропиноподобных веществ, то атропин в качесвте противоядия применять нельзя.
Искусственный мускарин, который получают из холина, является наиболее изученным. О других искусственных мускаринах известно очень мало. Ангидромускарин усиливает выделение пота и слюны, и никак не действует на глаза и сердце. Он вызывает смерть вследствие паралича дыхания. Изомускарин не вызывает остановку сердца, но замедляет сердечный ритм, что можно устранить атропином. У птиц он приводит к сокращению зрачка, а у млекопитающих оказывает курареподобный эффект на двигательные нервы и усиливает секреторную функцию желез, не влияет на глаза и кишечник, но зато повышает артериальное давление. Птоматомускарин имеет сходное действие с холинмускарином, что дает основания полагать, что они имеют похожее химическое строение. Фармакологическое действие уромускаринов пока никак не изучено. То же можно сказать и в отношении фармакологического действия карномускарина.