Защита на сесии?

streleca_stz

Registered
Здравейте! Искам да ви попитам има ли някакъв начин за защита на сесиите или те са си защитени?
 
Сесиите са достатъчно защитени, но трябва да внимаваш за XSS атаки. С тях могат да се откраднат бисквитките, с което и цялата сесия.

За защита от XSS използвай htmlspecialchars за входните данни.

Успех! :?:
 
Няма какво да им защитиш. Това не са ти бизквитките, за да имат период на живот и да се съхраняват някъде. :)
 
peter_ew каза:
Сесиите са достатъчно защитени, но трябва да внимаваш за XSS атаки. С тях могат да се откраднат бисквитките, с което и цялата сесия.

За защита от XSS използвай htmlspecialchars за входните данни.

Успех! :?:

Честно , по-голяма простотия не бях чувал.
Първо сайта ти е или със сесии или с бисквитки.
Ако ти откраднат бисквитките няма как да ти откраднат сесиите.
Второто което е , че при вход не му трябват htmlspecialchars защото самата заявка за проверка на login детайлите , не ти вади резултат от базата а връща 1 или 0 в зависимост от това дали е намерен акаунта.

И както каза tedo96, няма какво да се защитава на сесийте.
 
proba каза:
peter_ew каза:
Сесиите са достатъчно защитени, но трябва да внимаваш за XSS атаки. С тях могат да се откраднат бисквитките, с което и цялата сесия.

За защита от XSS използвай htmlspecialchars за входните данни.

Успех! :?:

Честно , по-голяма простотия не бях чувал.
Първо сайта ти е или със сесии или с бисквитки.
Ако ти откраднат бисквитките няма как да ти откраднат сесиите.
Второто което е , че при вход не му трябват htmlspecialchars защото самата заявка за проверка на login детайлите , не ти вади резултат от базата а връща 1 или 0 в зависимост от това дали е намерен акаунта.

И както каза tedo96, няма какво да се защитава на сесийте.

Това, което каза ти е още по-голяма простотия. Я пусни
Код:
alert(document.cookie);
и погледни за phpssid или нещо от този сорт беше. Ако ти взема този код мога преспокойно да ти вляза в акаунта без въобще да пипна логин формата. ;)
 
Понеже си голям отворко в скоро време ако съм свободен ще ти пиша и ще ти дам 4-5 сайта качени на хост искам да ми ги пробиеш и да ми смениш аватарите да речем ;) Като няма да са защитени с htmlspecialchars
 
proba каза:
Понеже си голям отворко в скоро време ако съм свободен ще ти пиша и ще ти дам 4-5 сайта качени на хост искам да ми ги пробиеш и да ми смениш аватарите да речем ;) Като няма да са защитени с htmlspecialchars

Седни и прочети малко как се крадат сесии, а не говори празни приказки. ;)
 
@peter_ew , не говори глупости. :)
Може ли да ми намериш някакъв сайт, в който пише как се крадът СЕСИИ?
 
tedo96 каза:
@peter_ew , не говори глупости. :)
Може ли да ми намериш някакъв сайт, в който пише как се крадът СЕСИИ?

Ще ти покажа два линка от уеб-туриста. :lol:
Link 1
Link 2
 
При логин създаваш някакъв unique код, който записваш и в БД и в сесия и после само сравняваш... Ако има разминавка значи нещо не е както трябва ;)
 
trevata каза:
При логин създаваш някакъв unique код, който записваш и в БД и в сесия и после само сравняваш... Ако има разминавка значи нещо не е както трябва ;)

Тъп въпрос, но как би станало като код, защото нещо не вдявам? :roll:
 
Така, да кажа как лично процедирам аз.

Първо да кажа за неразбралите. Сесии могат да се крадат, ако не са защитени.

Реално една сесийна променлива се съхранява на сървъра, но за да има достъп потребителя до тази сесия той трябва да окаже към коя точно сесия иска да се свърже.
Тогава автоматично му се създава бисквитка, която автоматично се унищожава след затваряне на браузъра, тази бисквитка съдържа сесийния ключ, който оказва коя сесия да бъде заредена.
Това ще рече, че ако аз някак успея да се докопам до тази бисквитка, и евентуално открадна въпросния ключ на потребителя, ще мога да променя моята сесия с неговия ключ, като по този начин ще получа достъп до акаунта му без дори да съм се логвал.

Аз лично в този случай процедирам като към самите сесии добавя и IP-то на потребителя, с което се е логнал. По желание може да се добави и http_user_agent на потребителя.
От тук нататък при всяко презареждане правя проверка дали IP-то и http_user_agent от сесията отговарят на тези, които потребителя изпраща към сайта. Ако са различни просто унищожавам сесията.

Разбира се има и други различни трикове за предпазване от кражба на сесии, но аз съм доволен и от този. :)
 
Добре де то като при изключване на браузъра премахва тази бисквитка как ще се докопаш? Демек трябва да си от същия компютър, от който се е логнал даден потребител за да вземеш данните му и да не е изключвал браузъра. Поне аз така разбрах. То тогава и ip-то би трябвало да е същото. :)
 
Можеш да се докопаш, чрез така наречените XSS атаки, за които @peter_ew малко по-нагоре спомена.

Примери как може да се открадне сесия няма да давам обаче.
 
HunteR каза:
Можеш да се докопаш, чрез така наречените XSS атаки, за които @peter_ew малко по-нагоре спомена.

Примери как може да се открадне сесия няма да давам обаче.

Това с айпи адреса е ненужно :) Нито си банка, нито си министерство :)

session_regenerate_id();
върши достатъчно работа, а и статистиката говори че потребителя рядко се задържа на една страница повече от 10 секунди, освен ако не чете, с това шанса някой да ти открадне сесията е като да отцелиш 6-ца от тотото.Но дори и да успее, няма да спечели нищо а ще е бъхтал много, така че липсва мотивация за крадене на сесии.
 

Back
Горе