2012-07-02 4 views
0

Есть ли причина, по которой это плохая форма? Единственными входными данными пользователя на странице являютсяmysql real escape string и Cookies

// Set username and password from cookies 
    $username = mysql_real_escape_string($_COOKIE["username"]); 
    $password = mysql_real_escape_string($_COOKIE['password']); 

Я ДЕЙСТВИТЕЛЬНО новичок в идее дезинфекции. Есть ли какая-то причина, это ужасный способ сделать что-то?

+1

Почему вы считаете, что используете файлы cookie в этом контексте? Ты не должен. – Lion

+0

Id люблю объяснение, почему нет ... – user187680

+0

проверить это http://stackoverflow.com/questions/8992415/are-cookies-a-security-risk –

ответ

1

НИКОГДА, НИКОГДА данные пользователей хранятся в файлах cookie!

Вот что я предлагаю: ID

  • магазин пользователя в куки
  • генерировать специальный маркер и хэш + соль и хранить их в печенье
  • хранить все в базе данных
  • получить данные из печенья на загружайте каждую страницу и попробуйте найти их в базе данных
  • если не найден, то выйдите из системы
  • изменить токен на e very page load
+0

Можете ли вы объяснить мне, в чем проблема. Хранение идентификатора пользователя в cookie - это половина того, что я делаю ... другая половина хранит хешированную версию своего пароля? Основываясь на ответе Локеша, я думаю, что лучше использовать «base64», а не хэш ... кроме этого в чем проблема? – user187680

+1

+1 Еще одно предложение: сбросьте функции 'mysql_ *' и переключитесь на' PDO' или 'mysqli' для обработки базы данных. – jeroen

+0

lol, @jeroen Это изначально то, что я спрашивал, если было бы хорошо использовать mysql ... Но, очевидно, мне нужно решить, что это куки-файлы сначала являются незаконными. – user187680

Смежные вопросы