EuGen, тут вот ведь в чем дело, ясен караул что все можно подделать, тут суть в самой махинации. Объясню. Вот злоумышленник нашел кукисы, а у меня там один всего параметр - Kjhzefvuh78bh8gh со значением JHf7yhw8rhw3*Y7y78y3r8wrhw78y7ra. Злоумышленник то не в курсе, что тут закодирован юзерагент, айпи и бог его знает что и первое что он попробует - просто подставить куки и заголовки (и то врятли), вот тут-то его ключевой промах. Скрипт обнаруживает несоответствие фактических данных с записями в куках и в базе и аннулирует сессию. Все. Больше, как ему не биться, ни куда он не зайдет (если пароль юзера не подберет).. Я еще используюю "уникальную" куку. Значение, сгенерированное случайным образом и хранящееся в базе до следующего обращения. Со следующим обращением она изменяется. Несоответствие её тоже приводит к аннулированию сессии. Т.е. комбинации множества приемов позволяют добиться почти идеального результата. А стопроцентной безопасности по-моему не достичь никогда.
|