Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   где хранить пароль? (http://www.flasher.ru/forum/showthread.php?t=89517)

dacino 17.12.2006 23:36

где хранить пароль?
 
в вопросах IT безопасности не асс, так что прошу просветить:
надо создать систему доступа к базе данных для N-го числа пользователей 2-х типов(админы и юзвери), их система авторизации уже готова(пароль от базы MySQL), регестрировать каждого пользователя в базе(я про mysql.user) смысла не вижу, поэтому создал двух пользователей(user и admin) с соотв. привелегиями, дык вот гдеб хранить их пароли лучше всего?
если можно с подробностями... чтоб неособо просвещенному понять как с этим работать...

etc 17.12.2006 23:56

Захешировать и в базе.

dacino 18.12.2006 00:26

если в базе, то какой пользователь должен его извлекать?
тогда в базе должен быть пользователь и без пароля имеющий доступ к таблице с пользователями(простите за каламбур)
тогда чтоб авторизовать пользователя надо обратиться к базе, вот как сделать это обращение безопасным?

etc 18.12.2006 00:44

Он у тебя что, с phpMyAdmin работает? Пользователей к самой базе может быть несколько, с разными правами. При коннекте просто используется введенный пароль и всё. Сами пользователи и пароли хранятся где-то внутри MySQL, там же, где и root.

dacino 18.12.2006 01:16

вот так я не хочу, в #1 я писал что от базы "реальных" пользователей у меня два, а собственные пароли используются только для авторизации, работают же все или как admin или как user, моя таблица с пользователями никакого отношения к mysql.user иметь не должна
таблица пользователей:
Код:

CREATE TABLE `users` (
  `id_user` int(11) NOT NULL auto_increment,
  `user_name` varchar(32) collate utf8_bin default NULL,
  `user_type` set('admin','user') collate utf8_bin default NULL,
  `login` varchar(16) collate utf8_bin NOT NULL default '',
  `passw` varchar(16) collate utf8_bin default NULL,
  PRIMARY KEY  (`id_user`),
  UNIQUE KEY `user_name` (`user_name`)
)

и смотря какого типа пользователь, такая сессия ему и открывается а все свои действия(в скриптах) он будет выполнять от пользователя user или admin, вот их имя и пароль хранить гдето требо

etc 18.12.2006 01:26

Храни в отдельной таблице.

dacino 18.12.2006 01:41

зачем мне вторая таблица пользователей, и опять же для авторизации скрипт должен получить доступ к этой таблице -
Код:

$linc = mysql_connect($host,$user,$passw);
mysql_select_db("mydb", $db);
$sql = "SELECT id_user,user_name,user_type FROM users WHERE login='".$login."'AND passw='".$us_passw."'";
$result = mysql_query($sql);

вот вся проблема в том чтоб где-то хранить значения этих переменых
$host,$user,$passw, чтоб доступ к ним мог получить только мой скрипт

etc 18.12.2006 01:48

В самом скрипте и хранить или в конф. файле рядом. Если содержимое твоего скрипта уже получено, то уж достать всё остальное не составляет труда.

dacino 18.12.2006 01:54

тоесть если удается получить код исполняемого файла, то далее строить преграды смысла не имеет?

просто когдато нечайно выкачал сайт, и там были файлы *.php со скриптами, вот хочу чтоб если такое случится с моим сайтом, его какая-нибудь добрая душа не повалила

etc 18.12.2006 01:57

Ну конечно. А получить контент php файла можно или залив через дыру в скрипте шелл или же просто сломать ftp (подобрать пасс, хе-хе).
Всё в целом зависит от того, насколько взломоустойчив твой скрипт. Ну там, SQL-Inject, XSS, такие дела…

С внешним конфигом, конечно, чуть-чуть понадежнее, но ненамного — подключение конфига будет в исходном коде.


Часовой пояс GMT +4, время: 08:42.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.