существует способ работать с sessiones или cookies без базы данных?

Хорошие, я нуждаюсь в том, чтобы создать простой формуляр login. Предполагается, что я это должен работать без базы данных, и как только login принял меня я redireccione в страницу home.php, но не возможно соглашаться прямо в home.php. Но они сказали мне, что Вы были должны делаться без базы данных, что не соответствует мне, так как, как контролирование заседаний с php, потому что я работаю с базой данных, но в этом случае я не должен осуществлять ее. Какая-то идея?

4
задан 16.10.2016, 02:34
3 ответа

База данных используется как хранилище данных. Любая другая форма хранилища может служить. .txt или .json достаточно Гєtiles. Например возможно иметь claves.json

 { "pepe": "xkdkasdfjasdfsfasdf3234asfd",
   "claudia": "jasfasa39939d98asv88hz8d8f"
 }

И вместо того, чтобы искать в базе данных искать в файле .json

 $claves_json = file_get_contents("claves.json");
 $claves = json_decode($claves);
 //... obtener del cliente $usuario y $clave luego:
 if($clave == md5($claves[$usuario])){
     // ok, entrda correcta
 }else{
     // mal, 
 }

md5

, Никогда не храни плоские ключи ни в базе данных ни в txt. Нужно стараться поддерживать конфиденциальность пользователя. Много людей используют тот же ключ для многих сайтов, сохранять ключ без hashear (например с md5) может быть проблема безопасности, если кто-то ты подвергается нападению хакеров сайт и убирают база данных или файл ключей.

7
ответ дан 24.11.2019, 13:05

Поскольку они сказали тебе, никогда не сохраняй contraseГ±as в плоском тексте, но также я не рекомендую тебя md5, так как есть тысячи "переводчиков" md5, он использует в hash php

<?php
/**
* En este caso, queremos aumentar el coste predeterminado de BCRYPT a 12.
* Observe que también cambiamos a BCRYPT, que tendrá siempre 60 caracteres.
*/
$opciones = [
  'cost' => 12,
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $opciones)."\n";
?>

шрифт: http://php.net/manual/es/function.password-hash.php

1
ответ дан 24.11.2019, 13:05

Формуляр login, будучи послан, может идти в промежуточный файл, например door.php, который он не считает выпяченным в экран. В этом файле ты получаешь данные о формуляре и сравниваешь их с цепями пользователя и паролем, который они должны быть там самими в door.php. Если они совпадают, ты делаешь header location в home.php. Если они не совпадают, ты можешь возвращать это посредством другого header location в формуляр с каким-то сообщением. Чтобы гарантировать файл home.php ты можешь делать достаточно вещей, как требование переменной сеанса, который был создан в door.php, или условном, который делает, что, если у home.php нет referral (страница, которая это назвала), разрушила сеанс и послала это login.

0
ответ дан 24.11.2019, 13:05

Теги

Похожие вопросы