- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Учу пхп, в очередном задании нужно проверить авторизован ли юзер.
Ну думаю, нужно проверять куку, она простейшая
'login' => string 'user' (length=4)
'password' => string '123' (length=3)
и чтобы избежать подделок куки, нужно сверять логин и пароль с теми что в базе.
База хранится в файле в виде массива
return [ ['login' => 'admin', 'password' => 'P@ssw0rd'],
['login' => 'moderator', 'password' => 'password'],
['login' => 'user', 'password' => '123'],
];
Ну думаю щас инклюдом подключу и фореейчем пробегусь, но дальше у меня затык. Массив то без $ в начале.
Его получается только функцией прочитать можно?
Подскажите плиз как к нему подключиться?
Учу пхп, в очередном задании нужно проверить авторизован ли юзер.
Ну думаю, нужно проверять куку, она простейшая
и чтобы избежать подделок куки, нужно сверять логин и пароль с теми что в базе.
База хранится в файле в виде массива
Ну думаю щас инклюдом подключу и фореейчем пробегусь, но дальше у меня затык. Массив то без $ в начале.
Его получается только функцией прочитать можно?
Подскажите плиз как к нему подключиться?
А что тебя смутило в массиве? $array = include 'имя файла с массивом.php';
Вроде почти сделал но где-то ошибка:
var_dump($_COOKIE);
$array = require __DIR__ . '/usersDB.php';
$_COOKIE['password'] = $a;
foreach ($array as $user) {
if ($a === $password) {
echo 'da';
break;
}else {
echo 'no';
}
}
echo '<br>';
echo $_COOKIE['login'];
echo '<br>';
echo $_COOKIE['password'];
вывод
'login' => string 'user5' (length=5)
'password' => string '1235' (length=4)
da
user5
Почему не выводится echo $_COOKIE['password'] ? Хотя через var_dump($_COOKIE); пароль показывается.
Dram,
Вы в 4 строке занесли в $_COOKIE['password'] какую-то неизвестную $a (не определённую в рамках этого скрипта), тем самым перезаписав его (куки-пассворда) исходное значение.
p.s.: $password у Вас в рамках этого скрипта тоже неопределён, поэтому если это полный скрипт, то сравнивая "неопределенное а" с "неопределенным пассворд" Вы естественно получаете "тру".
p.p.s.: Во время разработки работайте с включенными нотисами и подобные проблемы будут возникать намного реже.
А Вы пароли храните в базе без шифрования?
md5, не?
А Вы пароли храните в базе без шифрования?
md5, не?
Читаем внимательно:
Какие там БД и какие md5?
Читаем внимательно:
Какие там БД и какие md5?
Прочтите внимательно. У него ЕСТЬ база, где он хранит пароли. БЕЗ шифрования.
Я что, зря? Я же знаю, зачем и кому это нужно :) Это нужно тем, кто пока УЧИТ. Я сама учила, в прямом смысле этого слова — САМА.
Жаль, что серч так дико тормозит сейчас. Возможно, это из-за попыток подключения я.статика, который в Украине не грузится (все знают,почему). Увы.
Это вы прочитайте, там просто массив данных для теста. Урок не про БД и шифрование.
Это вы прочитайте, там просто массив данных для теста. Урок не про БД и шифрование.
При чем здесь урок? Он изначально неправильно учит, это, по Вашему, правильно?
Сразу нужно знать, что пароли в базе хранят в md5 или по выбору.
Это — правильно, а не когда мне присылают с некоторых сайтов мною же введенный пароль, чтобы я "не забыла".
Спасибо, но пароли честный программист сразу же будет шифровать, чтобы самому же не соблазниться :)
При чем здесь урок? Он изначально неправильно учит, это, по Вашему, правильно?
Он не учит, он спрашивает как решить конкретную задачу. Вы же не зная контекста задачи - предлагаете решение, это неверный подход.
Сразу нужно знать, что пароли в базе хранят в md5 или по выбору.
Решение c md5 не особо более правильное чем используемое ТС, т.к. md5 по уму похоронили уже лет 10 назад, рядом с могилой несоленных паролей. Что за некрофилия в топике?
Это — правильно, а не когда мне присылают с некоторых сайтов мною же введенный пароль, чтобы я "не забыла".
И в этом нет ничего страшного, если это реализовано правильно. Если Вы не знаете как это корректно и приемлимо безопасно реализовать, разве эти сайты в этом виноваты?
Спасибо, но пароли честный программист сразу же будет шифровать, чтобы самому же не соблазниться :)
Опять же неверно. Если программер нечестный, он в любой момент может узнать пароль просто прочитав что от Вас пришло в запросе из браузера. А если честный, то и шифровать ему их не особо надо.
P.S.: Сейчас начнется 😂
LEOnidUKG, edogs, правы - просто учу конкретный урок.
Вот к чему пришел с утра.
var_dump($_COOKIE);
$array = require __DIR__ . '/usersDB.php';
$a = $_COOKIE['password'];
foreach ($array as $password) {
if ($password === $a) {
echo 'da';
break;
}else {
echo 'no';
}
}
echo '<br>';
echo $a;
echo '<br>';
echo $_COOKIE['password'];
echo '<br>';
echo $password;
дает вывод
'login' => string 'user' (length=4)
'password' => string '123' (length=3)
nonono
123
123
Array
почему то не выводит echo $password;
а usersDB.php это код
return [ ['login' => 'admin', 'password' => 'P@ssw0rd'],
['login' => 'moderator', 'password' => 'password'],
['login' => 'user', 'password' => '123'],
];