Безопасная авторизация

Статус
В этой теме нельзя размещать новые ответы.

LEXAlForpostl

Мой дом здесь!
Регистрация
21 Май 2008
Сообщения
766
Реакции
228
Здравствуйте.
С прошедшими всех праздниками, наконец-то))
Пишу сайт для института.
Сайт будет состоять из 2х частей:
- пользовательская часть
- админская часть
Суть - новостной сайт, со своими особенностями...
Сайт с админской частью пишу - первый раз.
Прошу от Вас совета.
Как реализовать максимально безопасную авторизацию, чтобы её нельзя было взломать.
Да, и как дальше писать админскую часть, чтобы там было проверка на авторизацию.
Т.е. не прошу объяснить не просто реализацию авторизации, но и дальнейшее её применение.
Буду безмерно признателен.
 
посмотри сайты других образовательных учреждений, зачем писать что-то свое, если уже есть множество популярных cms и статей по организации в них правильной авторизации и безопасности, а вот уже какие-то модули и т.п. сможешь дописать под свои нужды, а так, по практике скажу, касяков будет очень много, если писать самому)
 
Учту.
Но всё же хотелось бы услышать мнение профессионалов по теме.
 
мнение такое - до тебя все уже написано - используй cms - wordpress или maxsite cms.

Если хочешь повозиться сам - то используй фреймворки, например CodeIgniter
 
Либо поискать - статей множество, сам пробывал делать. Вроде, что-то получилось. Главное, фильтруй данные и заносии их в сесии + хэш, + двойной md + секретный код + куки.

Во как. Но в двух словах никто не опишет.
 
Следуя логике,что это админка,то попасть туда должен не каждый,соответственно.
File: ./admin/auth.php
PHP:
if(isset($core->post['login']) & isset($core->post['pawd'])){
/* тут простой чек логина и пассворжа на валид,и если валид - установка куков,не простых,а с сессией,которая тутже пишетться в бд */
}
Далее,во всех остальных файлах уже само собой подрузамеваеться,что раз тут ктото лазиет,то он должен быть админ,то мы просто напросто чкаем уже не логин и пасворд,а сессию.В начало каждого файла добавляем
PHP:
if(!checkSession(){die('hacking attempt!');}
PHP:
function checkSession(){
$query = $mysql->query("SELECT * FROM users WHERE session='$core->user[session]'");
if($mysql->numrow($query) > 0){ return(true);}else{return(false);}
}
Описал совсем схематично и просто,все писал на коленке,так что не судить строго,но я думаю схема будет понятно,а дя простого сайта это в самый раз.
 
Ссылки почитал, очень интересно. Но во-первых, этой инфе уже около 3х лет и второе, её писали не очень профессиональные люди, не в обиду им сказанно.
Хотелось бы прочитать, что-то, что можно назвать максимально безопасной аутенфикацией, без SQL-инъекций и всех других багов.
 
Как реализовать максимально безопасную авторизацию, чтобы её нельзя было взломать.
Да, и как дальше писать админскую часть, чтобы там было проверка на авторизацию.
Т.е. не прошу объяснить не просто реализацию авторизации, но и дальнейшее её применение.
Буду безмерно признателен.
Для максимально безопасной авторизации должны быть соблюдены следующие условия:
1) Безопасный сервер
2) Безопасный компьютер пользователя
3) Безопасное соединение между комп. пользователя и сервером

Начнём с 3го пункта. В первую очередь необходимо обезопасить соединение. Для этого будет использоваться HTTPS Вам понадобится сертификат, его можно купить, либо сгенерировать бесплатно, но в таком случае у пользователей будет предупреждение, что испольуется самоподписанный сертификат.

Пункт 2: тут мы ничего поделать не можем, обезопасить пользователя может только 3й пункт

Пункт 1: необходимо использовать сессии, в PHP есть встроенный механизм сессий (session_start() и далее использовать глобальный массив $_SESSION). Проверку авторизации делаете на своё усмотрение.

И будет Вам безопасная авторизация. Мощная входная дверь. Но статистика гласит, что чаще всего злоумышленники входят через окна, по этому опыт и только опыт помогут написать Вам действительно безопасное приложение.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху