[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Пароль администратора
Страницы: 1, 2, 3
Zzepish
dron4ik
Спасибо за идею!
dron4ik
Guest
Я сейчас могу ерунду сморозить, но разве он не платный?

_____________
Ex3m.com.ua — Активный образ жизни
glock18
Цитата (dron4ik @ 11.06.2013 - 15:02)
Guest
Я сейчас могу ерунду сморозить, но разве он не платный?

За плату он добавляется в список валидных сертификатов. Без этого просто будет предупреждение о том, что сертификат может быть ненастоящий, и лишний клик. Для админки это некритично, как по мне, а для клиентки (оплата, например) уже придется оплачивать
zvezda_t
Цитата
Единственное что всерьез можно порекомендовать - просто подключить ssl на сервере, и ограничить админку на работу по https. Все. После этого больше ничего не надо. Устроит все что уже есть для рядовых юзверей

Я так не умею, никогда не делала.
Можно по подробнее, как это сделать? smile.gif

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
glock18
Ну, вот здесь описание как настроить сертификат под freebsd http://sqrs.ru/2009/04/17/16/ + гугл...гугл...гугл
killer8080
zvezda_t
добавлю к выше сказанному, при написании админки важно не забывать о существовании csrf smile.gif
Это вещь вроде и очевидная, но на практике о ней почему то часто забывают.
zvezda_t
killer8080
да, мне конечно стыдно, но я не знаю что такое csrf...

Нашла статью на хабре.
Там советуют использовать для защиты:
Цитата
Одноразовый токен для каждого действия


Что это значит? blink.gif

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
killer8080
Цитата (zvezda_t @ 13.06.2013 - 08:43)
killer8080
да, мне конечно стыдно, но я не знаю что такое csrf...

Чтоб было понятно, приведу простой пример, как атака может выглядеть на практике.
Предположим есть некий сайт, на котором существуют внутренние виртуальные денежные единицы. Допустим модератор может начислять их отдельному клиенту post запросом, такой формы
<form action="" method="post">
<input
type="text" name="client_login" />
<input
type="text" name="payment_amount" />
<input
type="submit" value="пополнить" />
</form>

Вот такой способ - яркий пример CSRF уязвимости. "Доброжелатель" может каким либо способом заманить админа на свою, подготовленную страницу. Методы соц инженерии мы обсуждать не будем, это отдельный разговор. :) Для него важно только чтоб админ в этот момент был авторизован на атакуемом сайте. Все параметры формы предсказуемы, и легко можно подделать запрос. На подготовленной странице делается скрытая форма, с теми же полями и нужными значениями, а в action указывается урл атакуемого скрипта, в target формы задается имя невидимого ифрейма, чтобы обеспечить передачу скрытно, без перезагрузки страницы. Вот и всё, админ заходит на вредоносную страницу, и ни о чем не подозревая выполняет авторизованный запрос. Злоумышленник пополнил свой счёт :)
Защита от таких атак очень проста, нужно в форму добавить поле с секретным значением (csrf token), уникальным для каждого клиента, которое невозможно предугадать. Особенность этой атаки в том, что можно браузер заставить послать любой запрос, но не возможно получить ответ, соответственно нельзя получить токен.
Еще существует вариант защиты с проверкой referer, но полагаться на него нельзя, т.к. этот заголовок не является обязательным, он может быть отключен в настройках браузера, или резаться каким нибудь анти шпионом.
Приведу простой вариант реализации защиты
session_start();

if(!empty($_POST['payment_amount']) && empty($_SESSION['csrf_token']) || $_SESSION['csrf_token'] != $_POST['csrf_token'])
die('invalid request');

if(isset($_POST['client_login'], $_POST['payment_amount'])) {
// обработка запроса
}

if(empty($_SESSION['csrf_token']))
$_SESSION['csrf_token'] = md5($user_id . microtime(true));

?>
<input type="text" name="client_login" />
<
input type="text" name="payment_amount" />
<
input type="hidden" name="csrf_token" value="<?=$_SESSION['csrf_token']?>" />
<
input type="submit" value="пополнить" />
</
form>

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.