sql >> Database teknologi >  >> RDS >> Mysql

Hvorfor ikke bruge de indbyggede MySQL-brugere og tilladelser til et websted?

MySQL-brugere er for brugerne af selve MySQL-serveren. Disse brugere bør kun reserveres til brug af serveradministratoren eller applikationer, der kræver, at en bruger kører (giv en separat bruger til hver applikation). MySQL-brugerstyringssystemet blev bygget specifikt til at rumme kontrolleret adgang til databasen, der kører på serveren, IKKE for at være grundlaget for brugergodkendelse i en webapplikation. Derudover vil enhver databasetilføjelse (og brugeroprettelse) kræve, at du har en bruger, der kører programmet, der har disse tilladelser på databasen. Selvom det ikke i sig selv er en direkte sårbarhed, kan det gøre dit liv meget værre, hvis det findes i dit PHP-system.

Du ønsker aldrig, at din applikation skal kunne forurene dit MySQL-databasenavneområde med yderligere databaser eller (tabeller for den sags skyld). Under driften af ​​din applikation bør den kun være i stand til at oprette, hente, opdatere og slette poster ved hjælp af Princippet om mindste privilegium , hvilket betyder, at du vil give din databasebruger adgang til kun at gøre de ting, den kræver og intet mere.

Hvad angår hashing af adgangskoder, skal du bruge bcrypt via PHP's crypt()-funktion . Gem det i databasen i en brugertabel.



  1. Kolonne Afhænger af anden kolonne

  2. Trigger i mysql forårsager fejl

  3. MySQL group_concat med where-klausul

  4. MySQL Forberedte udsagn med en variabel størrelsesliste