Witam ! Mam 3 pytania.
1. Czy jeśli ktoś zdobyłby ten login i hasło to może się zalogować do bazy czy przez to że jest ustawiony localhost to nie może ?
Tak wygląda mój kod który łączy mnie z bazą danych:
<?php
$db_name = "e-shop";
$mysql_username = "Adrian";
$mysql_password = "acfW6So8JB3n8Y5A";
$server_name = "localhost";
$conn = mysqli_connect($server_name, $mysql_username, $mysql_password, $db_name);
?>
2. I czy w poniższym kodzie, kiedy chciałby uzyskać odpowiednie ID to może je pobrać ( i później użyć do pobrania informacji o innych użytkownikach ) ?
<?php
require "connect.php";
$user_name = $_POST["user_name"];
$user_pass = $_POST["user_pass"];
$mysql_qry = "SELECT `Haslo` FROM `dane_logowania` WHERE `Login` = '$user_name'";
$result = mysqli_query($conn ,$mysql_qry);
$data = $result->fetch_array();
if(password_verify($user_pass, $data['Haslo']))
{
$qry = "SELECT `ID` FROM `dane_logowania` WHERE `Login` = '$user_name'";
$res = mysqli_query($conn, $qry);
$data1 = $res->fetch_array();
echo json_encode($data1);
}
else
{
echo ("ERROR");
}
?>
Wiem, że ten skrypt nie jest zabezpieczony przed SQL injection. (3. I czy jak zabezpieczę przed SQL injection to nie będzie takiego problemu ? )
Przepraszam za takie banalne pytania, ale od niedawna zacząłem tworzyć bazy danych i aplikacje korzystające z nich i zastanawiam się nad bezpieczeństwem tego. ( to nie jest jakiś ważny projekt tylko taki sprawdzian co umiem i jak uniknąć błędów związanych z bezpieczeństwem danych rozwiązań )