Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.21;
Скачать: CL | DM;

Вниз

Логин и пароль. Какие могут быть подводные камни?   Найти похожие ветки 

 
KilkennyCat ©   (2009-12-08 17:12) [0]

Делаю авторизацию на сайте. Ограничил правилами мин-макс размера, только цифрами и буквами латинскими. Начал думать, а что может помешать использованию прочих символов?

И заодно еще тупейший вопрос: допустимо ли в джавескрипте в качестве параметра функции передать логическое выражение? я, вот, передал ей f(3>2), скушала без ругани, но внутре всегда труе...


 
TUser ©   (2009-12-08 17:34) [1]


> допустимо ли в джавескрипте в качестве параметра функции
> передать логическое выражение? я, вот, передал ей f(3>2),
>  скушала без ругани, но внутре всегда труе...

А тыхотел, чтобы 3 > 2 == FALSE ?


 
RWolf ©   (2009-12-08 17:39) [2]

наверно, чтобы 3>2 вычислялось непосредственно в функции.


 
clickmaker ©   (2009-12-08 17:44) [3]

> допустимо ли в джавескрипте в качестве параметра функции
> передать логическое выражение?

function SuperCalc(expr)
{
return eval(expr);
}


 
clickmaker ©   (2009-12-08 17:51) [4]

> что может помешать использованию прочих символов?

например, отсутствие русской раскладки на компе, на котором юзер хочет зайти на сайт под паролем кириллицей


 
Омлет ©   (2009-12-08 18:13) [5]

Храни пароли в виде md5(соль + пароль). Соль для каждого свою генерируй.


 
Palladin ©   (2009-12-08 19:03) [6]

Обязательно включи проверку на алкоголь, а то я вот тут недавно пароль на нетбуке своем поменял.....


 
Плохиш ©   (2009-12-08 19:34) [7]


> Palladin ©   (08.12.09 19:03) [6]
>
> Обязательно включи проверку на алкоголь, а то я вот тут
> недавно пароль на нетбуке своем поменял.

Неужели после 500-го раза он так и не согласился? ;-)


 
KilkennyCat ©   (2009-12-08 19:40) [8]


> TUser ©   (08.12.09 17:34) [1]
> А тыхотел, чтобы 3 > 2 == FALSE ?

да :) ну это я так, разумеется, имелось ввиду, что любое выражение, что ложное, что истинное...


> clickmaker ©   (08.12.09 17:51) [4]
> например, отсутствие русской раскладки на компе, на котором
> юзер хочет зайти на сайт под паролем кириллицей

Это понятно. имелись ввиду небуквы и пробел.


> Омлет ©   (08.12.09 18:13) [5]
>
> Храни пароли в виде md5(соль + пароль). Соль для каждого
> свою генерируй.

Ну это уже хранение. Это в любом случае придется.

Я просто только начал осваивать всю эту кухню. Вот и подумал, может пробел или какая-нить скобка как-нить неоднозначно обработается?


 
Palladin ©   (2009-12-08 19:44) [9]


> Плохиш ©   (08.12.09 19:34) [7]

4 день пошел ) еще не уломал )


 
Плохиш ©   (2009-12-08 19:45) [10]


> KilkennyCat ©   (08.12.09 19:40) [8]
> > clickmaker ©   (08.12.09 17:51) [4]
> > например, отсутствие русской раскладки на компе, на котором
> > юзер хочет зайти на сайт под паролем кириллицей
>
> Это понятно. имелись ввиду небуквы и пробел.
>

А в чём проблема, используй все символы, которые могут ввести, зачем нужны ограничения. Меня просто убивают какие-нибуть второстепенные сайты, требующие обязательно использовать в пароле буквы в разных регистрах и цифры...


 
KilkennyCat ©   (2009-12-08 19:46) [11]


> Palladin ©   (08.12.09 19:44) [9]

Китайцев попроси. Они владеют технологией взлома сервера Пентагона :)


 
Palladin ©   (2009-12-08 19:47) [12]

кстати да... за одно и в квартире отопление чуток повысится....


 
KilkennyCat ©   (2009-12-08 19:48) [13]


> требующие обязательно использовать в пароле буквы в разных
> регистрах и цифры...


Да, меня это тож раздражает. Я такого делать не буду, но нелатиницу исключил однозначно. А теперь думаю, не слишком ли жестко? просто регэксп на цифры+латиница очень уж просто пишется :)


 
Anatoly Podgoretsky ©   (2009-12-08 19:53) [14]

> KilkennyCat  (08.12.2009 19:46:11)  [11]

Ну так пароль Мао Дзе Дун


 
KilkennyCat ©   (2009-12-08 19:56) [15]

И в догонку еще вопрос о корректности следующего:
Проверку валидности выполнил в виде плагина к JQuery. Дико понравилось, и радостно гогоча начал в этот плагин впихивать все подряд. На третьей функции обнаружил, что можно вынести много общего в отдельную функцию. Вообщем, корректно ли это (вызов общей функции внутри плагина):
(function($){
$.myPlugin={};
 $.myPlugin.forAllFunction=function(a,b,c,d,e){
 ....
 };
 $.fn.myPluginFunctionNumberRaz=function(a,b,c){
 ....
 $.myPlugin.forAllFunction(a,b,c,d,e);
 ....
};
$.fn.myPluginFunctionNumberDva=function(x,y,z){
 ....
 $.myPlugin.forAllFunction(a,b,c,d,e);
 ....
};
})
(jQuery);  


 
KilkennyCat ©   (2009-12-08 20:25) [16]

и еще: если в forAllFunction парметром передать (this), то внутре нее он вовсе не будет этим самым текущим объектом... Можно ли как-то выстроить правильно иерархию, чтоб this остался thisom везде?


 
KilkennyCat ©   (2009-12-08 20:29) [17]


> KilkennyCat ©   (08.12.09 20:25) [16]

Блин, перепутал все на свете... Все наоборот!
Если передавать this параметром - все хорошо, работает.
а вот если в forAllFunction  явно использовать this - не работает


 
antonn ©   (2009-12-08 23:39) [18]


> Начал думать, а что может помешать использованию прочих
> символов?

Ничего, если только тебе при регистрации передадут именно текстовую строку.
А так экранирование при использовании в запросе, экранирование в регулярке, экранирование в выводе - и пофиг какие данные


 
KilkennyCat ©   (2009-12-09 00:51) [19]


> antonn ©   (08.12.09 23:39) [18]

понятно.

Всем спасибо, у мня все заработало, а вот результат: мой первый плагинчик к jquery

(function($){$.fn.orangeRR=function(a,b,c,d,e,f,g,h,i){this.each(function( ){$(this).keyup(function(){var z=$(this).val();var t=f;if(a!=""){t+=a.test(z)?b:""}if(c!=""&&d!=""){var j=z.length;t+=(c<j&&j<d)?"":e}if(t!=f){$(this).css(h);$(g).css(h);$(g).text(t)}else{$(this).c ss(i);$(g).css(i);$(g).text(f)}})})}})(jQuery);
симпатично выглядит, правда? :)
проверяет на цифро-латиницу и мин-макс размер, сообщая об этом изменением стиля у двух объектов.


 
TIF ©   (2009-12-09 18:38) [20]

Вдогонку
При регистрации мыло нужно будет указывать? Если да - тогда нужно учесть адреса @домен.рф ;)


 
KilkennyCat ©   (2009-12-09 22:00) [21]


> нужно учесть адреса @домен.рф

именно поэтому я просто отказался от валидации емэйла.


 
Anatoly Podgoretsky ©   (2009-12-10 10:27) [22]

> KilkennyCat  (09.12.2009 22:00:21)  [21]

Можешь и от остального отказаться, это тоже пустая трата ресурсов.


 
blackman ©   (2009-12-10 14:24) [23]

KilkennyCat ©   (09.12.09 22:00) [21]

Проверка существования хоста почтового ретранслятора для некоторого домена. Т.е. приведенный выше код можно практически не перерабатывая приспособить для проверки существования e-mail адреса:
http://articles.org.ru/cfaq/index.php?qid=2498


 
KSergey ©   (2009-12-10 15:30) [24]

> blackman ©   (10.12.09 14:24) [23]
> Проверка существования хоста почтового ретранслятора для некоторого домена.

Нафик? написал пользователь - да и ладно. Неправильно написал - сам дурак, мыло не получит.
Ну правда базу подзасрут, но можно просто грохать пользователей, которые за какой-то разумный период не прошли подтверждение е-мейла.

> KilkennyCat ©   (09.12.09 22:00) [21]
> именно поэтому я просто отказался от валидации емэйла.

А вот это как раз мне видится странным.
Чего бы не говорил АП, но любой е-мейл по крайней мере содержит @ и в оставшемся после нее хвосте хотя бы одну точку; перед каждой точкой после @ - хотя бы один символ не точка должен быть. Проблеы так же недопустимы в е-майл адресе.
(небольшой нюанс с support@localhost и т.п., но это интранет получается, про него заранее понятно рассматриваем или нет такой вариант.)


 
KSergey ©   (2009-12-10 15:33) [25]

> KilkennyCat ©   (08.12.09 17:12)  
> Начал думать,  а что может помешать использованию прочих символов?

Совершенно ничего!!!
Зачем, ну зачем вообще ограничивать символы в пароле?! из каких соображений??
Я еще могу понять логин - чтобы визуально одинаковых не писали, но пароль-то зачем ограничивать??


 
KilkennyCat ©   (2009-12-10 17:01) [26]


> из каких соображений??

из-за отсутствия знаний. Я не знаю толком ни PHP, ни SQL, и особенно как все это передается. Предполагаю возможность ошибок. А сроки у меня сжаты.


 
Медвежонок Пятачок ©   (2009-12-10 17:09) [27]

с макс длиной пароля тоже надо быть осторожнее.
ибо чревато побочными эффектами.

например две версии квипа.
меняю пароль в одной версии. она в интерфейсе не ограничивает длину пароля. я ввожу там "медвежонок пятачок". сервер отрезает пароль до медвежонка. а я в полной уверенности, что новый пароль такой, какой я ввел.
меняю версию квипа, и при попытке регистрации получаю облом. длинный пароль не подходит.

либо как-то наоборот, но суть примерно такая же.
несогласованность серверной логики и пользовательского интерфейса.


 
М. Береговой   (2009-12-10 19:30) [28]

То, что вы обсуждаете - не столь важно. Важнее избежать взлома при проверке пароля и ника при идентификации в базе.
http://technet.microsoft.com/ru-ru/library/ms161953(SQL.90).aspx


 
KilkennyCat ©   (2009-12-10 21:25) [29]


> М. Береговой   (10.12.09 19:30) [28]

Спасибо, полезная информация.



Страницы: 1 вся ветка

Текущий архив: 2010.02.21;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.017 c
15-1260546289
test
2009-12-11 18:44
2010.02.21
Форум и вопросы


15-1260567020
Юрий
2009-12-12 00:30
2010.02.21
С днем рождения ! 12 декабря 2009 суббота


6-1212496216
TForumHelp
2008-06-03 16:30
2010.02.21
DC++


2-1261068749
Б
2009-12-17 19:52
2010.02.21
Как установить размеры клиентской части окна?


15-1260515890
Polkin
2009-12-11 10:18
2010.02.21
Казахский в PHP