Июньские обновления

Прошла еще только треть месяца, а у нас уже готовы обновления. Улыбка

Первое касается ядра IWE, так что обновлению подлежат все скрипты, основанные на нем. Мы тут почитали большое количество статей о том, как сейчас небезопасно использовать для шифрования паролей md5. Если не добавлять к паролю пользователя т. н. «соль», то большинство паролей будет расшифровано при помощи баз соответствий где-то за десять минут. Если же эту «соль» использовать и хранить в той же таблице, что и пароли, то злоумышленник, получивший доступ к таблице, сможет опять-таки безо всякого труда расшифровать пароли пользователей. В IWE, в принципе, никогда и не использовалось чистое хеширование на md5, однако мы решили несколько усложнить схему шифрования паролей. Теперь это уже будет не просто пароль+«соль», так как мы добавили еще некоторые зависимости, благодаря которым расшифровать пароль будет невозможно даже в том случае, если у злоумышленника будет доступ к таблице с паролями и «солью». Такое решение совершенно не замедлило работу скриптов авторизации, восстановления пароля и пр. Нагрузка на сервер, на котором мы проводили тестирование новой схемы, возросла лишь на две десятых процента при достаточно большом количестве обращений за минуту, по сравнению с предыдущей версией, что, безусловно, будет даже незаметно для пользователей.

Мы сделали такой скрипт обновления, который оставит администратора авторизованным в системе после успешного завершения. После завершения процедуры обновления администратору сайта нужно сменить свой пароль при помощи системы управления учетными записями пользователей (лучше, конечно, придумать новый, но можно и старый ввести), после чего он снова сможет входить в систему при помощи обычного скрипта авторизации (это нужно для пересчета пароля по новой системе). С паролями пользователей все будет проще: им вообще ничего не нужно делать ― все активные сессии пользователей после обновления будут завершены, а при следующей авторизации пароль, введенный пользователем, будет сравниваться со старым и после прохождения авторизации автоматически будет переведен по новой схеме шифрования. Если вдруг у Вас, как у администратора сайта, почему-то завершится сессия после обновления (ну, мало ли, динамический IP-адрес изменится), то это вовсе не причина для волнения! Заходите на наш клиентский портал ― мы приготовили небольшой скрипт для сброса пароля администратора, который в момент решит эту проблему.

Второе обновление касается скрипта документооборота. Да, мы отреагировали на жалобы пользователей, у которых после ручного вмешательства в SQL таблицы скрипта сбивалась статистика пользования и система учета дискового пространства. Мы написали скрипт, который будет сбрасывать данные системы учета, а затем по-новой их пересчитывать. Пользуясь этим скриптом можно найти потерянные файлы (которые по какой-то причине оказались не привязанными к учетной записи загрузившего пользователя), удалить скрытые файлы и документы, привязанные к учетным записям, которые были удалены (но, снова-таки, удалены вручную, так как скрипт удаления автоматически стирает все файлы при удалении учетной записи автора) и актуализировать информацию о занимаемом пользователями дисковом пространстве. На нашем сервере, к примеру, нашлось пять блуждающих файлов, которые были загружены еще первыми версиями скрипта документооборота и потерялись, видимо, после одного из обновлений.

Ну и да, еще одно небольшое дополнение: благодаря новой схеме шифровки, в пароле теперь можно использовать абсолютно любые символы (даже кавычки).

UPD: И это еще не все. К нам иногда поступали жалобы от пользователей, у которых на сервере включена защита от хотлинкинга, суть которых заключалась в том, что при добавлении ссылок на страницы сайта в социальные сети подгружался только текст, а картинка, указанная при помощи специального тега ― нет. Это совершенно логично, так как сервер настроен отказывать в соединении, если запрашивается только картинка, но как-то неправильно, ведь картинки с превьюшками-то отдавать можно. Сегодня мы написали скрипт, который будет отдавать эти самые превьюшки в обход ограничений сервера. Для того, чтобы применить этот скрипт, достаточно скачать его на нашем клиентском портале и однократно запустить в браузере, после чего в meta-теги будет автоматически подставляться правильная ссылка. Работает везде, кроме, почему-то, Google+.


11.06.2012, 16:37
  проекты, IWE, обновление, пароли, md5, документооборот.
Просмотров: 1770.
6