Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: После внесения данных (username ...... u_password) в базу данных(MySQL) из файла обнаружила ,... закодированно ...
 
 автор: Elina   (04.07.2005 в 14:41)   письмо автору
 
 

После внесения данных (username ...... u_password) в базу данных(MySQL) из файла
обнаружила ,
что у пользователей ,которые вводились через Аdmin
поле u_password в MySQL закодированно,
а у пользователей которые вводились через файл – нет

как происходит закодированние и где ?

   
 
 автор: Akira   (04.07.2005 в 14:45)   письмо автору
 
   для: Elina   (04.07.2005 в 14:41)
 

Правельно в целях безопасности возможно происходит шифрование паролей. Ведь всегда есть возможность SQL инжекции.
НО было бы лучше если вы приведете код.

   
 
 автор: Elina   (04.07.2005 в 15:29)   письмо автору
 
   для: Akira   (04.07.2005 в 14:45)
 

Akira ,
можно объяснить что такое SQL инжекция

   
 
 автор: Akira   (04.07.2005 в 17:17)   письмо автору
 
   для: Elina   (04.07.2005 в 15:29)
 

Инжекция - это внедрение чужеродного кода в ваш собственный. Например при не правельной проверке можно внедрить sql запрос который выведет все пароли и логины из бд.

   
 
 автор: cheops   (04.07.2005 в 21:23)   письмо автору
 
   для: Elina   (04.07.2005 в 15:29)
 

Подробнее об SQL-инъекциях можно почитать в статье по ссылке http://www.softtime.ru/info/articlephp.php?id_article=35

   
 
 автор: moLodoi   (04.07.2005 в 15:07)   письмо автору
 
   для: Elina   (04.07.2005 в 14:41)
 

По-видимому при внесении через админ, кодирование происходит в скрипте,
а при внесении из файла пароли как и есть вставляются в том виде как и в файле

   
 
 автор: Elina   (04.07.2005 в 16:00)   письмо автору
 
   для: moLodoi   (04.07.2005 в 15:07)
 

moLodoi,
так и есть ,но кроме того нельзя сделать Login пользователю
который был внесён через файл

искала в скрипте ,но так и не нашла где происходит закодирование

   
 
 автор: Loki   (04.07.2005 в 17:07)   письмо автору
 
   для: Elina   (04.07.2005 в 16:00)
 

я бы предположил, что перед выполнением запроса на добавление пользователя происходит что-то типа:

$pass=md5($pass);

или прямо в запросе

$sql="INSERT INTO table VALUES (0, '$login', '".md5($pass)."' и т.д.

А при входе пользователя его пароль сначала шифруется таким же образом как и при регистрации и сравнивается уже в зашифрованном виде.

   
 
 автор: Akira   (04.07.2005 в 17:18)   письмо автору
 
   для: Loki   (04.07.2005 в 17:07)
 

Необязательно, насколько мне помниться в Мускуле есть встроенная система шифрования. LiteForum2 имеет именно ее, если мне не изменяет память.

   
 
 автор: Loki   (04.07.2005 в 17:49)   письмо автору
 
   для: Akira   (04.07.2005 в 17:18)
 

Тогда:

$sql="INSERT INTO table VALUES (0, '$login', PASSWORD('$pass') и т.д. 

В любом случае, команда шифрования подается из php, так как пароли из файла при добавлении не зашифровались.

   
 
 автор: XPraptor   (04.07.2005 в 17:58)   письмо автору
 
   для: Loki   (04.07.2005 в 17:49)
 

Конечно из PHP, а откуда еще. И 99% это MD5 а логин нельзя внести, потому что система правильно написана и проверяет что такой логин уже есть в системе, значит нельзя его больше добавлять.

   
 
 автор: cheops   (04.07.2005 в 20:59)   письмо автору
 
   для: Loki   (04.07.2005 в 17:49)
 

Помимо PASSWORD() в MySQL ещё много различных функций шифрования, в том числе и MD5(), чтобы определить с чем имеет дело Elina нужно глянуть на дамп.

   
 
 автор: Elina   (05.07.2005 в 10:47)   письмо автору
 
   для: cheops   (04.07.2005 в 20:59)
 

....извеняюсь за заминку ......

проверила в базе данных - система позволяет вводить уже существующий login,
ошибку не даёт .Но при создании таблицы поставлен ключ (КЕУ)

CREATE TABLE 'users' (
'user_id' int(11) NOT NULL auto_increment,
'name' varchar(60) NOT NULL default '',
'username' varchar(25) NOT NULL default '',
..........
........
'points' int(10) default '0',
PRIMARY KEY ('user_id'),
KEY 'uid' ('user_id'),
KEY 'uname' ('username'),
KEY 'user_session_time' ('user_session_time')
) TYPE=MyISAM AUTO_INCREMENT=1 ;

как это исправить ,т.е где нужно ещё добавить проверку

PS очень странно
1) сделала дамп из порталя (через admin) - в списке нет тех пользователей
которых я внесла через файл,но .....
2) но если сделать дамп MySQL то они есть

выходит нет синхронности между порталем и MySQL - если работать с MySQL
на прямую
как теперь это исправить

   
 
 автор: Саня_   (24.07.2005 в 14:18)
 
   для: cheops   (04.07.2005 в 20:59)
 

>Помимо PASSWORD() в MySQL ещё много различных функций шифрования,
>в том числе и MD5()...
А есть ли BLOWFISH в MySQL'е?
Если верить этому - http://dev.mysql.com/doc/mysql/en/encryption-functions.html - то нет.

   
 
 автор: cheops   (24.07.2005 в 18:58)   письмо автору
 
   для: Саня_   (24.07.2005 в 14:18)
 

Нет, но есть мощный метод AES со 128-битным ключём.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования