Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопросы по postgre&php / 7 сообщений из 7, страница 1 из 1
10.02.2007, 18:38
    #34321305
slackman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по postgre&php
Всем привет!
Разрабатывал информационную систему, в общем учебный проект для диплома.
PostgreSQL & PHP (win32)
Так как учебный проект, старался выполнить ТЗ и суть задачи. В системе работают сотрудники компании и менеджер, который раздает им задания.

1. Я не обращал внимания на безопасность системы в целом. Т.е. пароли сотрудников хранятся в БД открытым текстом. Как мне известно тип поля для Postgre как password нету. Как можно выйти из ситуации на случай вопросов комиссии? :) (Выход ли на уровне php делать алгоритмы шифрования и использование безопасных протоколов?)

2. Т.к. я в этом относительно новичок, что такое SQL injection? Что значит, нет защиты от SQL Injection?

Спасибо!
...
Рейтинг: 0 / 0
10.02.2007, 19:01
    #34321335
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по postgre&php
slackmanВсем привет!
Разрабатывал информационную систему, в общем учебный проект для диплома.
PostgreSQL & PHP (win32)
Так как учебный проект, старался выполнить ТЗ и суть задачи. В системе работают сотрудники компании и менеджер, который раздает им задания.

1. Я не обращал внимания на безопасность системы в целом. Т.е. пароли сотрудников хранятся в БД открытым текстом. Как мне известно тип поля для Postgre как password нету. Как можно выйти из ситуации на случай вопросов комиссии? :) (Выход ли на уровне php делать алгоритмы шифрования и использование безопасных протоколов?)

Есть класный подход - пароли юзера - пароли СУБД. Т.е. если пользователь ввел пароль и SQL-сервер впустил, то все ОК, если нет - болт. Если коннект к СУБД происходит под одним аккаунтом - лучше хранить хеш пароля (например md5) затем строить хеш пароля, который ввел пользователь и их уже сравнивать.

slackman
2. Т.к. я в этом относительно новичок, что такое SQL injection? Что значит, нет защиты от SQL Injection?
Спасибо!
SQL Injection -это внедрение чужого кода в твой SQL. Недавно была тема с обсуждением - поищи. В кратце: пользователь вводит пароль в поле, а потом ты пишешь запрос:
Код: plaintext
1.
2.
str:='SELECT user_id FROM users WHERE user_name='''+user_name_edit.text+'''';
sqlc.exec(str);
Ессно хитрож*пый юзер вводит в текстовое поле: 'yo'' or '1'='1 . и как ни странно войдет в систему ибо какой будет реальный запрос на выполнение догадаться не сложно.
...
Рейтинг: 0 / 0
10.02.2007, 19:09
    #34321345
slackman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по postgre&php
Спасибо за ответ! понял..... но,
На счет вашего подхода номер 1. пароли юзера - пароли СУБД. Т.е. если пользователь ввел пароль и SQL-сервер впустил, то все ОК, если нет - болт. Т.е. вы предлагаете
1. создавать для пользователей Role's в postgre?
Или же
2. у всех юзеров есть пароль СУБД и все вводят его для аутентификации? (понятно что пароли СУБД хранятся хорошо) Если второй вариант то прикольно....
...
Рейтинг: 0 / 0
11.02.2007, 09:12
    #34321637
AlexanderFedyukov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по postgre&php
Еще неплохой вариант хранить в БД не сам пароль, а его md5 сумму. рнр ее считать умет. Когда пользователь логинится - высчитывается сумма введенного пароля и сравнивается со значением в БД. При этом работать с БД от имени одного пользователя БД - создавать лишних нет необходимости.
...
Рейтинг: 0 / 0
12.02.2007, 13:43
    #34323741
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по postgre&php
slackmanСпасибо за ответ! понял..... но,
На счет вашего подхода номер 1. пароли юзера - пароли СУБД. Т.е. если пользователь ввел пароль и SQL-сервер впустил, то все ОК, если нет - болт. Т.е. вы предлагаете
1. создавать для пользователей Role's в postgre?
Или же
2. у всех юзеров есть пароль СУБД и все вводят его для аутентификации? (понятно что пароли СУБД хранятся хорошо) Если второй вариант то прикольно....
1. Вариант. Т.е. для каждого юзверя физического, создается логический, которому даются права толковой роли. (у меня это в триггере реализовано).
2. Не понял :( Кроме того пароли в СУБД хранятся не то что бы хорошо, но ИМХО в мд5, и судя по докам доступ к ним напрямую - закрыт.
...
Рейтинг: 0 / 0
12.02.2007, 19:57
    #34325226
Jelis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по postgre&php
AlexanderFedyukovЕще неплохой вариант хранить в БД не сам пароль, а его md5 сумму. рнр ее считать умет. Когда пользователь логинится - высчитывается сумма введенного пароля и сравнивается со значением в БД. При этом работать с БД от имени одного пользователя БД - создавать лишних нет необходимости.
И мд5 пароля выщитывать даже не в пхп, а в броузере, и с "солью". Что б поснифирить пароль нельзя было :-)
...
Рейтинг: 0 / 0
14.02.2007, 05:07
    #34328829
ShadyAngel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по postgre&php
Суда ходы:

http://php.com.ua/ru/articles/bicycles/safe_auth.htm
Шифрование на стороне клиента.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопросы по postgre&php / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]