26.01.2009, 09:43 | #21 |
|
Scroll, скорее метафора но расти она будет существенно. за день где-то 300-400 записей
|
|
26.01.2009, 14:06 | #22 | |
|
Цитата:
|
|
|
26.01.2009, 14:58 | #23 |
|
SELECT filed FROM database WHERE md5key='ТУТ ИДЁТ $_GET[хэш]'
По-моему, база в данном случае нисколько не нагружается. |
|
26.01.2009, 15:23 | #24 |
|
Особенно если есть ключ на md5key.
|
|
26.01.2009, 15:45 | #25 |
|
deMone, не понял
|
|
26.01.2009, 17:14 | #26 |
|
Nielson, спасибо. Не знал что так можно в Sql
|
|
26.01.2009, 18:33 | #27 |
|
А при чём тут SQL
Вся фича в том, что мы всё время работаем непосредственно с хешем. То есть у нас есть исходные данные. Мы их шифруем md5, sha1,... И вот с этого момента мы про исходные данные забываем нафик. Результат помещаем в БД, его-же и отправляем пользователю как подтверждающий код. И после этого сравниваем хэши. То что написал Nielson - md5key - это не супернавороченномощная функция MySQL, а поле в таблице, в которое мы и разместили наш фигов хэш. Например именно таким образом храняться пароли в большинстве CMS и прочих движках. Даже если злоумышленник и взломает CMS, то он хотябы не узнает пароли пользователей, которые у многих людей едины на всё что можно. В Таблицах храняться лишь хэши паролей. И что вы думаете происходит, когда вы пытаетесь войти в CMS? Правильно, из пароля делается хэш и сравнивается по базе!!! Уже хэш, а не пароль. Таже зачастую используется суперфича под названием уникальный префикс. Где-то в конфиге вы записываете строку из 6-10 знаков (на самом деле неважно какую) и вместо md5($encdata) // где $encdata это наш пароль или ещё что пишите md5($prefix . $encdata) // где префикс и есть наша вышеупомянутая строчка Зачем это делается именно таким образом? Объясняю Дело в том, что для простейших случаев, когда кодируются лишь сами данные, можно в инете отискать таблицы, в которых для введённого хэша можно получить список наиболее вероятных слов и фраз... Разумеется тут всё вилами на воде писанно, но вдруг прокатит. В случае же с префиксом, никакие таблицы уже не помогут, так как префикс уникален для каждого ресурса и хэши тоже будут уникальными... PS. Я слышал, что в sha недавно обнаружили уязвимость... Но в md5 её обнаружили уже давно... так что даже если покопаться в исходниках joomla, то увидите, что раньше шифрование осуществлялось md5, теперь sha |
|
Этот пользователь сказал спасибо Асмодиан за это полезное сообщение: | Anthony (26.01.2009) |
26.01.2009, 19:11 | #28 |
|
Nielson, ну, индекс.
|
|
26.01.2009, 19:35 | #29 |
|
Makarenya, абсолютно согласен. Спасибо за подробное объяснение.
Но это когда касается паролей. И, скажем, наиболее простой путь к шифрованию. Но существуют ситуации, когда требуется зашифровать обычный get: ?id=1&val=50|40|22|14. Собственно как у меня сейчас. И смысл для каждого поля писать свой хеш. Это не пароль - а просто число, которое нужно зашифровать, чтобы нельзя было ввести другое число. Таких таблиц много. И получается нужно для каждой хранить еще поле для хеша. А где-же простота и ненагруженность БД? И все-таки - почему нельзя использовать crypt. Для чего тогда нужна эта функция? На мой взгляд гораздо безопаснее делать через нее. Там больше методов шифрования и меньше возможностей у взломщиков. |
|
26.01.2009, 19:46 | #30 |
|
deMone, ну да.
Anthony, складывается впечатление, что твой скрипт просто не выдерживает никакой критики относительно безопасности и правильности кода если ты так горишь идеей зашифровать строку. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Шифрование | SYSTEMS | ASP, Perl, PHP и MySQL | 11 | 26.02.2007 19:02 |
Шифрование Java- и VB-скриптов | Maxim Kabakov | Кальянная | 1 | 28.07.2005 23:14 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|