Что вам действительно нужно , так это не отправлять эти значения файлов cookie, которые можно взломать. Вместо этого, почему бы не хэшировать имя пользователя и пароль и (секретную) соль и установить это в качестве значения cookie? i.e.:
define('COOKIE_SALT', 'secretblahblahlkdsfklj');
$cookie_value = sha1($username.$password.COOKIE_SALT);
Тогда вы знаете, что значение cookie всегда будет шестнадцатеричной строкой из 40 символов и можете сравнить значение, которое пользователь отправляет обратно, с данными в базе данных, чтобы определить, являются ли они действительными или нет:
if ($user_cookie_value == sha1($username_from_db.$password_drom_db.COOKIE_SALT)) {
# valid
} else {
#not valid
}
mysql_real_escape_string
делает дополнительный удар по базе данных, кстати (многие люди не понимают, что требуется соединение с БД и запрашивает MySQL).
Лучший способ сделать то, что вы хотите, если вы не можете изменить свое приложение и настаивать на использовании взломанных значений cookie, - это использовать подготовленные операторы со связанными параметрами .