PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (21): В начало « ... 4 5 6 7 [8] 9 10 11 12 ... » В конец

> Найдено сообщений: 314
Tox Отправлено: 12 Августа, 2012 - 14:23:23 • Тема: Строка из mcrypt_encrypt, запись в бд • Форум: Вопросы новичков

Ответов: 6
Просмотров: 317
Мелкий пишет:
Tox пишет:
to use near '?Z'?

Судя по этому, функция возвращает бинарные данные. Экранирование где?
И тип поля в этом случае лучше BINARY или VARBINARY

Я тоже так думал, но функция-то строку возвращает. BINARY не работал, писал "d2".
Для записи $c_t

использовать VARBINARY?
Tox Отправлено: 12 Августа, 2012 - 14:14:28 • Тема: Строка из mcrypt_encrypt, запись в бд • Форум: Вопросы новичков

Ответов: 6
Просмотров: 317
А как ее заэкранировать? Поиск по строке, замена ' на \' ?
PHP:
скопировать код в буфер обмена
  1. /* Открывает модуль и создаёт IV */
  2. $td = mcrypt_module_open ('des', '', 'ecb', '');
  3. // кей объявлен, в нем строка, 5 символов
  4. $key = substr ($key, 0, mcrypt_enc_get_key_size ($td));
  5. $iv_size = mcrypt_enc_get_iv_size ($td);
  6. $iv = mcrypt_create_iv ($iv_size, MCRYPT_RAND);
  7.  
  8. /* Инициализирует дескриптор шифрования */
  9. if (mcrypt_generic_init ($td, $key, $iv) != -1) {
  10.  
  11. /* Шифрует данные */
  12. $c_t = mcrypt_generic ($td, $token);
  13.  
  14.  
  15. }
  16.  
  17.  
  18.  
  19.     mysql_query("Update user SET `t`='".$c_t."' where id=1;");
  20. echo mysql_errno() . ": " . mysql_error() . "\n";// - сообщения об ошибках



1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'xS??E?X?L????????`,???z?%?????G^-e??Hfꥂ].ؘ^????P?y??????[????k7? ??q?y' at line 1
Tox Отправлено: 12 Августа, 2012 - 13:36:02 • Тема: Строка из mcrypt_encrypt, запись в бд • Форум: Вопросы новичков

Ответов: 6
Просмотров: 317
Проблема в том, что строка в бд не пишется:
PHP:
скопировать код в буфер обмена
  1. $t = mcrypt_ecb ( MCRYPT_3DES , $key , $token , MCRYPT_ENCRYPT );
  2. mysql_query("Update user SET `t`='".$t."' where `id`=1;");
  3. echo mysql_errno() . ": " . mysql_error() . "\n";// - сообщения об ошибках

Все время ошибки вроде:
1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?Z'?' at line 1
Поскольку функция возвращает строку, тип поля VARCHAR(255). Может '".$t."' надо еще как-то преобразовать?

Почему 3DES? Бессмертный ЯД рекомендует.
Tox Отправлено: 11 Августа, 2012 - 20:29:56 • Тема: md5 js • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1386
Hawkmoth
Цитата:
Вот здесь и кроется минус статической соли: злоумышленник сможет сгенерировать свою таблицу хешей со статической солью и получить значения большинства паролей из базы. Для устранения этого минуса используется уникальная соль к каждому хешу

ссылка
Я не знаю, так это или нет на 100%, но в любом случае лишний раз подстраховаться надо
Tox Отправлено: 11 Августа, 2012 - 20:20:01 • Тема: md5 js • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1386
armancho7777777 так мы же ее при регистрации юзера в бд пишем. У каждого юзера своя соль
Tox Отправлено: 11 Августа, 2012 - 20:14:26 • Тема: md5 js • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1386
ПТО, при регистрации юзера генерируем рандомную строку, это соль. Потом присланный пароль от юзера проверяем, далее

А после этого записываем в бд pass и salt. При авторизации используем уникальную соль для каждого юзера.
В чем профит - если бд угонят, то пассы юзеров будет достаточно проблематично расхэшировать, в отличие от того, если бы мы не использовали соль.
Tox Отправлено: 11 Августа, 2012 - 20:08:52 • Тема: md5 js • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1386
ПТО, я не знаю, но лучше соль присоединять уже после того, как данные на сервер отправили.
Tox Отправлено: 11 Августа, 2012 - 19:57:58 • Тема: md5 js • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1386
ПТО, не, jquery для меня пока тяжко.
armancho7777777, спасибо, все работает Улыбка
Tox Отправлено: 11 Августа, 2012 - 19:44:34 • Тема: md5 js • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1386
Почему hash не отправляется?
CODE (html):
скопировать код в буфер обмена
  1. <script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/md5.js"></script>
  2. <script>
  3. function myF(f)
  4. {
  5. var pass = document.getElementById("ohomg");
  6.  var hash = CryptoJS.MD5(pass.value);
  7. f.submit();
  8. }
  9.  
  10. </script>
  11.  
  12.  
  13. <form method="post" action="test.php" name="sub" onSubmit="return false">
  14. <input id="ohomg" name="Mypass" required="required" type="text" size="20">
  15. <input type="button" value="Send" onClick="myF(this.form)">
  16. </form>

В гугле пишут, что надо в скрытом поле, вы говорите, что не надо. Так как надо-то?
Tox Отправлено: 11 Августа, 2012 - 17:47:18 • Тема: md5 js • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1386
Viper,
0. Юзер вводит пасс
1. md5(пасс) с помощью js
2. В скрытое поле кидаем (1)
3. Отправляем всю инфу постом.
Что не так?
Tox Отправлено: 11 Августа, 2012 - 16:29:12 • Тема: md5 js • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1386
Viper, чтобы скрипту передать md5 от js
Tox Отправлено: 11 Августа, 2012 - 16:07:49 • Тема: md5 js • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1386
И чтобы передать через submit js-переменную (методом пост) скрипту, надо сделать скрытую форму?
Tox Отправлено: 11 Августа, 2012 - 10:54:57 • Тема: md5 js • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1386
Viper, но все-таки надо обеспечить максимально доступную безопасность, чтобы потом стыдно не было Улыбка
Tox Отправлено: 09 Августа, 2012 - 14:36:22 • Тема: md5 js • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1386
Да, я читал, тут
PHP:
скопировать код в буфер обмена
  1.  if($_POST['session_id'] != session_id())
  2.   {
  3.     exit("Попытка передачи данных с другого хоста. Скрипт остановлен.");
  4.   }

Это понятно, а если передавать $_SESSION["session_id"], то это приемлемо? Хранить в куках, да и вообще в куках не вижу смысла - это зло
Tox Отправлено: 09 Августа, 2012 - 14:19:34 • Тема: md5 js • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1386
Как известно, с помощью бессмертного wireshark можно спокойно отфильтровать нужные пакетики и узреть в них email и пасс юзера в чистом виде, если, конечно, они не шифруются.
Поскольку на ssl денег нет, то единственный видимый выход - это отсылать пассы постом уже в md5 с помощью js. (или есть другие способы?) например,
PHP:
скопировать код в буфер обмена
  1. // $pass - уже в md5 из js
  2. // $salt - соль, которую храним в бд
  3. $pass = md5($pass . $salt);

У меня не глубокие знания js, поэтому сам проверить не могу , можно ли доверять алгоритмам, предложенным здесь? Ведь с точки зрения клиента - js исполняется-то на его стороне, код виден, можно "подправить".
Тема на самом деле занятная и интересная, на моей памяти только вк (может и фб) использует хэширование пароля перед отправкой.

Страниц (21): В начало « ... 4 5 6 7 [8] 9 10 11 12 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB