|
|
|
| Здравствуйте. Скажите как можно защитить сессию от подделки. Допустим если злоумышленик узнает сессию администратора(сниффер) и заменит свою на его, (например в редакторе куков Opera), то он получит права админа. подскажите хотябы алгоритм. | |
|
|
|
|
|
|
|
для: T-Ray
(17.02.2008 в 05:03)
| | SID - можно создать до старта сессии.
session_id();
можно использовать хэш(md5()) от броузера + IP.
если у тебя IP динамические, тогда используй только первые значения.
Сделай отдельную таблицу для IP/
записываешь туда 1ые несколько значений от IP. если кто-то зашел со старой сессией.
т.е. может кто-то делает подбор сида.
больше 5 раз за 10 мин, блокируй авторизацию с этого IP/
еще можно в сиде хранить какую либо информацию.
например, статус,страна, пол, возраст.)
еще можно условия в сид :
делаешь условие,например, что 5 значение сида должно быть обязательно числом и меньше 4,
10 значение - число между 5 и 10.
и т.д.
если кто-то умудриться невписаться в эти условия, их можно сразу блокировать...
тут куча вариантов)) | |
|
|
|
|
|
|
|
для: а-я
(17.02.2008 в 05:22)
| | ip у меня демонический) и еще не могу понят зачем кто-то будет делать подбор sid ))) если его с первого раза можно узнать через сниффер? тут нужно что-то такое, до чего я еще не додумался...) | |
|
|
|
|
|
|
|
для: T-Ray
(17.02.2008 в 05:57)
| | sha1($_SERVER["HTTP_ACCEPT"] . ' какой-нибудь бред') - и хранить это в сессии
можно добавить_SERVER["HTTP_USER_AGENT"], _SERVER["HTTP_ACCEPT_LANGUAGE"], _SERVER["HTTP_ACCEPT_ENCODING"], _SERVER["HTTP_ACCEPT_ENCODING"], захэшить их, тоже хранить в сессии.
Но ничего из этого не является, естесственно, панацеей.
Есть ещё такой вариант - проверять X_FORWARDED_FOR, есть / нету прокси и тоже хранить в сессии. | |
|
|
|