Повторное поле, скорее всего, как я писал ниже. Было 4 поля в форме регистрации, стало 3. Ведь до момента установки курсора в поле пользователь не знает, есть там звездочки или нет.
с отображённым паролем браузер не предпримет дополнительных мер безопасности, не предложит запомнить пару логин-пароль и станет заполнять пароль в автодополнении
Это, кстати, единственный и самый серьезный контраргумент.
Но есть и косвенный плюс: без полей типа password браузеры не ругаются на отсутствие SSL ;)
Тоже вариант. А в настройках пользователя в личном кабинете уже давать ввести любой пароль. И там уже его точно не от кого прятать.
Но это упрощение регистрации, но для самого пользователя замороки чуть больше, т.к. потом надо пойти и поменять пароль на свой.
Современный пользователь очень капризный, избалован конкуренцией на рынке предлагаемых услуг. Любая мелочь может побудить его закрыть сайт и уйти на другой. Пользователи в целом не очень любят регистрироваться, т.е. что-то вводить, заполнять, переключать раскладки, т.е. напрягаться. Грубо говоря, если есть возможность не переходить с мышки на клавиатуру — это идеально. Т.е. регистрация через ФБ, ВК одним кликом.
С обычной формой регистрации есть критическое количество полей для заполнения: когда их больше 5 — многие скорее всего решат не заполнять форму. Если полей больше 5 и они все обязательны для заполнения — почти точно человек уйдет, если у него есть альтернативы. А чем меньше 5 полей — тем лучше: например, 3, заполнить имя, почту и ввести свой типовой пароль осилит каждый.
В нашем случае была не такая уж мелочь. Было 4 поля в форме регистрации, стало 3. Дело тут именно в этом, а не в звездочках. А для одного поля оставлять звездочки уже неправильно, тогда нужно убедиться вторым полем, что пользователь не опечатался вслепую.
А что писать? Хабр как сообщество весьма специфичен, всем известно. Если статья не зашла, её минусуют резонансно и всё. Сражаться с этим явлением бесполезно: защищаешь свою точку зрения — плохо, оправдываешься — плохо, соглашаешься со всеми — плохо, что не делай — все плохо, заклюют безусловно и всё. Будут цепляться к словам, к опечаткам, к коду, к отступам — всё, это называется именно «не зашло». Ничего, бывает. :)
html + php, я точно в 2016 году?
Вы так говорите, как будто DIAFAN.CMS написана на Basic-е… А на чем написаны другие CMS? Не на PHP? Покажите коммерческую цмс из топа систем на другом языке http://www.cmsmagazine.ru/catalogue/platnye/
class DB_mysql
no comments… хорошо что хоть есть альтернатива mysqli
Наоборот. Приоритет mysqli, но бывает крайне редко, что mysqli не включено на хостинге, тогда используется mysql. И это лучше, чем не давать ставить цмс вообще.
Ну это только гении могут думать, что с помощью htmlspecialchars, stripslashes, strip_tags защищаются от sql-иньекций :)
Эти функции не борятся с sql-иньекциями, а борятся с html, что подразумевает маска h. Используется в тех случаях, когда надо html код исключить.
https://roem.ru/14-04-2015/192219/cms-highload — читайте первый комментарий
Смотрим автора комментария и смотрим результаты Битрикса. Вы думаете, если бы Битрикс занял первое-третье место, этот комментарий был бы?
Но зачем приводить легаси-говнокод как совет?
В очередной раз повторяю, мы советуем алгоритм, а не код. Используйте любой код, к которому привыкли. А у нас какой бы ни был код, легаси или самый современный, он работает и в своей области (среди других коммерческих цмс) весьма результативно. У нас не спортивное программирование, у нас взрослая универсальная система управления, и я еще раз повторю, чем проще и ближе к классике будет код, тем больше веб-мастеров его поймут, это закон коммерческой системы.
Конечно некомпетентен, пару сообщений выше автор предлагает нам:
«раскрыть» хеш с помощью md5
На самом деле да, я не ведущий разработчик системы, я простой руководитель компании, поэтому я не 100% компетентен в каких-то предметных вещах. Здесь не буду ничего доказывать. По поводу «раскрыть хеш» я согласен, это некорректная фраза, но поясню все-таки, что имел ввиду: есть множество сервисов, типа http://raz0r.name/obzory/top-10-luchshix-onlajn-servisov-po-rasshifrovke-xeshej/ где можно простым перебором популярных паролей получить их хеши и сравнить с искомым. Нередко получается выяснить исходный пароль, зашифрованный обычным md5. Так вот если взять наш хеш пароля из таблицы с администратором, стандартными md5 его так же не свернуть, т.е. не подобрать.
А как вы поступаете, если строковоеЧПУ содержит цифры? Например, /пятница13/
У нас есть разрешенные переменные для строковых параметров, глобальные системные и модульные. Если разрешенной переменной «пятница» в системе нет, значит «пятница13» — это строка ЧПУ, и мы ее сразу смотрим в базе.
Ну это уже к loaddy.com — как они нагружают я в деталях не знаю. Может пользователи, может хиты. Мы лишь гордимся тем, что выдержали эту нагрузку заметно лучше других участников теста.
1) чем шифруем, тем и расшифровываем.
2) писал в самой статье:
… такой подход нас привел еще к одной особенности. Мы очень мало используем внешний код, плагины и библиотеки. Вопреки «велосипедной» ошибке, мы считаем, что лучше написать одну функцию под свои задачи, чем включить огромную стороннюю библиотеку.
Именно для забавы эта вещь там и стоит. Это заглушка. У нас функция, кодирующая пароль, зашифрована, а эта выведена для прикола, как и
meta name="GENERATOR" content="Microsoft FrontPage 1.0"
на сайте artlebedev.ru ;)
Вы в этом убедитесь, если возьмете ХЕШ пароля из БД, его простым md5 не раскрыть.
наверно такой код можно даже назвать не плохим
Искреннее спасибо :)
Еще раз повторюсь, мы — коммерческая система управления сайтами, где максимально выгодно, когда код понимает максимальное количество веб-разработчиков. Нам приходится балансировать.
Я рад, что статью не проигнорировали и она вызвала какой-то отклик в сердцах. :) Даже если все только утвердились в мыслях, что они далеко впереди нас в разработке и все делают правильно — и то не зря.
Я только еще раз попытаюсь напомнить, что все вышенаписанное возникло не на пустом месте в формате «вот какие мы изниоткуда», а по факту https://roem.ru/14-04-2015/192219/cms-highload/
Победителем безоговорочно оказалась DIAFAN.CMS. Она успешно выдержала нагрузку в 1000 посетителей, причем со скоростью ответа как у html-страницы.
оставив далеко позади даже всенародно любимые Битрикса и Юми.
Безусловно, мы вообще не идеальны и работать нам есть куда, и мы будем развиваться. А за очередной стимул очередной раз спасибо сообществу Хабра :)
На дворе 2016 год, уже 5 лет как существует Composer.
Ну ребята, если говорить о разработке чего-то нового, безусловно нужно использовать последние тенденции программирования, а когда продукт начинался в 2003-м, и в коробку сформировался в 2008-м, переписывать всю CMS раз в год под все новинки РНР нецелесообразно. Мы часто вынуждены обеспечивать и совместимость наших версий, и обновления для пользователей. И чаще стараемся дать людям функционал, чем подхватывать на лету всё новое, что выходит в РНР. Опять же, аудитория шире, программистов, понимающих классический РНР-код, больше ;).
даже примеры с ошибками… печально
В этих примерах стоит дисклеймер *здесь и ниже код условный, для наглядности. специально, чтобы не принимали код близко к сердцу, и даже специально чуть карикатуризировали его (приведенный код — не цитаты из DIAFAN.CMS, там всё несколько сложнее). Главное в статье — смысл, основы алгоритмизации при проектировании кода. А уже какими инструментами этого достигать — личное дело каждого.
Ну, когда всякие Петросяны снимают «Самый лучший говнофильм — 5» и берут деньги за просмотр, высказаться имеет полное право каждый зритель. А когда мы сами придумали, и чуть ли не своими руками сняли свой первый ролик на весьма специфичную тематику, да еще не поленились весь процесс описать, тут дело другое. ;)
Роликов хороших много разных, это понятно. Но у какой CMS есть что-то подобное, для сравнения?
Это, кстати, единственный и самый серьезный контраргумент.
Но есть и косвенный плюс: без полей типа password браузеры не ругаются на отсутствие SSL ;)
Но это упрощение регистрации, но для самого пользователя замороки чуть больше, т.к. потом надо пойти и поменять пароль на свой.
С обычной формой регистрации есть критическое количество полей для заполнения: когда их больше 5 — многие скорее всего решат не заполнять форму. Если полей больше 5 и они все обязательны для заполнения — почти точно человек уйдет, если у него есть альтернативы. А чем меньше 5 полей — тем лучше: например, 3, заполнить имя, почту и ввести свой типовой пароль осилит каждый.
В нашем случае была не такая уж мелочь. Было 4 поля в форме регистрации, стало 3. Дело тут именно в этом, а не в звездочках. А для одного поля оставлять звездочки уже неправильно, тогда нужно убедиться вторым полем, что пользователь не опечатался вслепую.
А что писать? Хабр как сообщество весьма специфичен, всем известно. Если статья не зашла, её минусуют резонансно и всё. Сражаться с этим явлением бесполезно: защищаешь свою точку зрения — плохо, оправдываешься — плохо, соглашаешься со всеми — плохо, что не делай — все плохо, заклюют безусловно и всё. Будут цепляться к словам, к опечаткам, к коду, к отступам — всё, это называется именно «не зашло». Ничего, бывает. :)
Вы так говорите, как будто DIAFAN.CMS написана на Basic-е… А на чем написаны другие CMS? Не на PHP? Покажите коммерческую цмс из топа систем на другом языке http://www.cmsmagazine.ru/catalogue/platnye/
Наоборот. Приоритет mysqli, но бывает крайне редко, что mysqli не включено на хостинге, тогда используется mysql. И это лучше, чем не давать ставить цмс вообще.
Эти функции не борятся с sql-иньекциями, а борятся с html, что подразумевает маска h. Используется в тех случаях, когда надо html код исключить.
Смотрим автора комментария и смотрим результаты Битрикса. Вы думаете, если бы Битрикс занял первое-третье место, этот комментарий был бы?
В очередной раз повторяю, мы советуем алгоритм, а не код. Используйте любой код, к которому привыкли. А у нас какой бы ни был код, легаси или самый современный, он работает и в своей области (среди других коммерческих цмс) весьма результативно. У нас не спортивное программирование, у нас взрослая универсальная система управления, и я еще раз повторю, чем проще и ближе к классике будет код, тем больше веб-мастеров его поймут, это закон коммерческой системы.
На самом деле да, я не ведущий разработчик системы, я простой руководитель компании, поэтому я не 100% компетентен в каких-то предметных вещах. Здесь не буду ничего доказывать. По поводу «раскрыть хеш» я согласен, это некорректная фраза, но поясню все-таки, что имел ввиду: есть множество сервисов, типа http://raz0r.name/obzory/top-10-luchshix-onlajn-servisov-po-rasshifrovke-xeshej/ где можно простым перебором популярных паролей получить их хеши и сравнить с искомым. Нередко получается выяснить исходный пароль, зашифрованный обычным md5. Так вот если взять наш хеш пароля из таблицы с администратором, стандартными md5 его так же не свернуть, т.е. не подобрать.
У нас есть разрешенные переменные для строковых параметров, глобальные системные и модульные. Если разрешенной переменной «пятница» в системе нет, значит «пятница13» — это строка ЧПУ, и мы ее сразу смотрим в базе.
2) писал в самой статье:
Тем не менее, из всех коммерческих систем управления сайтами этот «меготраф» выдержали только мы, причем с хорошим запасом.
Именно. Небольшая заноза для путаницы и забавы, привлекающая внимание, как псевдообфусцированная функция. Это для любителей нуллить, один из приколов.
Вы в этом убедитесь, если возьмете ХЕШ пароля из БД, его простым md5 не раскрыть.
Искреннее спасибо :)
Еще раз повторюсь, мы — коммерческая система управления сайтами, где максимально выгодно, когда код понимает максимальное количество веб-разработчиков. Нам приходится балансировать.
Я только еще раз попытаюсь напомнить, что все вышенаписанное возникло не на пустом месте в формате «вот какие мы изниоткуда», а по факту https://roem.ru/14-04-2015/192219/cms-highload/ оставив далеко позади даже всенародно любимые Битрикса и Юми.
Безусловно, мы вообще не идеальны и работать нам есть куда, и мы будем развиваться. А за очередной стимул очередной раз спасибо сообществу Хабра :)
В этих примерах стоит дисклеймер *здесь и ниже код условный, для наглядности. специально, чтобы не принимали код близко к сердцу, и даже специально чуть карикатуризировали его (приведенный код — не цитаты из DIAFAN.CMS, там всё несколько сложнее). Главное в статье — смысл, основы алгоритмизации при проектировании кода. А уже какими инструментами этого достигать — личное дело каждого.
Роликов хороших много разных, это понятно. Но у какой CMS есть что-то подобное, для сравнения?