Рекоммендую почитать RFC2945 — авторизация без SSL, при которой на сервере вообще не хранится пароль от пользователя, и не передаётся никогда — ни при авторизации, ни при регистрации, и прослушивание не позволяет получить информации, достаточной для доступа до системы.
Я реализовывал это на JS + PHP, и даже работало :) одна проблема, тормозило тогда.
Возможно, на современных JS движках будет работать быстро.
Если народу будет интересно — обнародую, а может даже доведу до ума — ибо самое простое решение это flash/java аутентификатор, и fallback на js если эти два недоступны.
Было бы что-нибудь вменяемое для отражения динамических графиков в реалтайме под pygtk :(
Вынужден пользовать matplotlib, который радует падениями в недрах pango, gtk, и double malloc free.
Помимо АЦП туда напихивают еще столько, что это опять не под наши задачи :(
Надо бы быстрое ядро для математики + АЦП+ЦАП+UART+I2C+SPI + ножки желательно >=0.5.
А! Самая главная проблема, по которой пролетают кортексы — нужна совместимость с ТТЛ уровнями.
А у них максимум — 5V-tolerant.
Так что рано еще списывать старые добрые 8битники со счетов.
Нет, вот ЭТОЙ конвенцией для себя я пользоваться не буду. Как я уже сказал — мне и без того противно смотреть на эти многометровые портянки.
Впрочем, если вдруг буду править чужой код, соответствующий ему, то буду стараться придерживаться.
Во-1х, статья идёт об усилении простого сервера, подъём jail/vserver это второй уровень защиты.
Во-2х, для SELinux конфиги обычно не руками пишут, а корректируют автогенерённый в процессе 100% чистого запуска в тест режиме.
В-3их, список разрешенных портов гораздо уже, чем запрещенных, и открыть только нужные дырки обнаружив что что-то не работает (причем еще в процессе настройки!) проще, чем потом обнаружить, что у тебя что-то вскрыли.
В-4ых, изменение порта делается не для обмана, а именно для выхода из-под «масс-хак» атак, что снизит вероятность появления очередного ботнета на сайте из-за дырявого сервиса до момента обновления; а не против «персональной» атаки.
В-5ых, самые умные будут грузить чугуний.
Меня очень и очень задолбали люди, которые первым советом при настройке CentOS пишут «Отключите SELinux...» вместо нормальной настройки под их изменения.
При этом найти информации по SELinux очень сложно. Методом проб и ребутов его приходится точить под изменения :)
Если бы можно было from X import Y и просто import Z писать в одну строку — я бы всё написал :)
Ибо при большом количестве импортов (а их много) три-пять страниц импортов это ужас.
Да, я знаю что построчные удобнее мержить при использовании VCS, но код я писал один, и использование git rebase перед git merge автором коммита решает все проблемы мержа в небольших тимах (а сейчас над проектом работает кроме меня еще один человек).
К сожалению, я не могу знать конвенции всех языков, на которых пишу. Спасибо за ссылку, но я предпочитаю форматировать так, чтобы было удобнее смотреть на экран, код на черве и так растягивается на многостраничную портянку даже для простых случаев, чтобы еще больше его растягивать пустыми строками.
Если кому-то это будет полезно и утянут в свой проект — переформатируют как удобно. Для моей задачи этот код работает и ладно, не до причесывания переводов строк. Я всё никак не сделаю замену табуляций на пробелы и не переведу всё в utf8, оно так и лежит помесью cp866 / 1251 / utf8.
Это не библиотека, это побочный продукт производства. Так сказать, отпрыск секса с PyGTK.
Я уже устал искать что где еще ткнуть и какие еще добавить извращения чтобы оно перестало падать в недрах gtk+, где с ассертами, где просто с SIGSEGV.
Если у кого-то есть желание причесать код, добавить описание и выложить куда-нибудь с документацией и поддерживать — welcome.
Свою задачу я решил, с народом рецептом поделился. Дальше мне не до этого, если честно.
Я реализовывал это на JS + PHP, и даже работало :) одна проблема, тормозило тогда.
Возможно, на современных JS движках будет работать быстро.
Если народу будет интересно — обнародую, а может даже доведу до ума — ибо самое простое решение это flash/java аутентификатор, и fallback на js если эти два недоступны.
Вынужден пользовать matplotlib, который радует падениями в недрах pango, gtk, и double malloc free.
Надо бы быстрое ядро для математики + АЦП+ЦАП+UART+I2C+SPI + ножки желательно >=0.5.
А! Самая главная проблема, по которой пролетают кортексы — нужна совместимость с ТТЛ уровнями.
А у них максимум — 5V-tolerant.
Так что рано еще списывать старые добрые 8битники со счетов.
Впрочем, если вдруг буду править чужой код, соответствующий ему, то буду стараться придерживаться.
Во-2х, для SELinux конфиги обычно не руками пишут, а корректируют автогенерённый в процессе 100% чистого запуска в тест режиме.
В-3их, список разрешенных портов гораздо уже, чем запрещенных, и открыть только нужные дырки обнаружив что что-то не работает (причем еще в процессе настройки!) проще, чем потом обнаружить, что у тебя что-то вскрыли.
В-4ых, изменение порта делается не для обмана, а именно для выхода из-под «масс-хак» атак, что снизит вероятность появления очередного ботнета на сайте из-за дырявого сервиса до момента обновления; а не против «персональной» атаки.
В-5ых, самые умные будут грузить чугуний.
(Достал попкорн)
При этом найти информации по SELinux очень сложно. Методом проб и ребутов его приходится точить под изменения :)
Ибо при большом количестве импортов (а их много) три-пять страниц импортов это ужас.
Да, я знаю что построчные удобнее мержить при использовании VCS, но код я писал один, и использование git rebase перед git merge автором коммита решает все проблемы мержа в небольших тимах (а сейчас над проектом работает кроме меня еще один человек).
Если кому-то это будет полезно и утянут в свой проект — переформатируют как удобно. Для моей задачи этот код работает и ладно, не до причесывания переводов строк. Я всё никак не сделаю замену табуляций на пробелы и не переведу всё в utf8, оно так и лежит помесью cp866 / 1251 / utf8.
Я уже устал искать что где еще ткнуть и какие еще добавить извращения чтобы оно перестало падать в недрах gtk+, где с ассертами, где просто с SIGSEGV.
Если у кого-то есть желание причесать код, добавить описание и выложить куда-нибудь с документацией и поддерживать — welcome.
Свою задачу я решил, с народом рецептом поделился. Дальше мне не до этого, если честно.