Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.02.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.006 c
15-1260826221
Юрий
2009-12-15 00:30
2010.02.21
С днем рождения ! 15 декабря 2009 вторник


9-1183470560
THandle
2007-07-03 17:49
2010.02.21
DirectX


2-1261399078
webpauk
2009-12-21 15:37
2010.02.21
Получить значение поля предидущей записи в DBGrid


15-1259928321
ВадимММ
2009-12-04 15:05
2010.02.21
Сужение цветов


2-1261136409
Who_is_you?
2009-12-18 14:40
2010.02.21
Выход по времени ожидания





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский