Frage

Wie arbeiten Privilegien Benutzer an MySQL? Haben alle Benutzer, die eine soziale Netzwerkwebsite verwenden, jeweils ein einzigartiges Benutzerberechtigte, um eine Verbindung zum DB herzustellen, oder alle Benutzer verwenden die gleichen Berechtigungen wie:

$dsn = 'mysql:host=localhost;dbname=social_site';
$username = 'members';
$password = 'pa55word'; 
War es hilfreich?

Lösung

Nein, im Allgemeinen gibt es eine (oder eine kleine Anzahl) von MySQL -Benutzern, und das PHP -Skript (oder einen anderen Server -Nebencode) verwendet diesen einen Benutzer, um das gesamte Abrufen und Einstellen von Daten durchzuführen. In einigen Szenarien ist es hilfreich, eine Handvoll MySQL -Benutzer mit verschiedenen Berechtigungsstufen als zusätzliche Sicherheitsstufe zu erstellen (so allgemein select Abfragen werden mit nur einem Benutzer mit nur ausgeführt select Privilegien und inserts und updates werden von einem separaten Benutzer mit diesen Berechtigungen behandelt). Wenn Sie Remote -Computer erlauben, direkt auf die MySQL -Datenbank (für Partner -Websites oder -Anwendungen) zugreifen zu können drop oder modify Zum Beispiel Berechtigungen) und ausschließlich auf ihre IP -Adresse beschränkt (Sie können einen MySQL -Benutzer auf Verbindungen von nur einer einzigen Adresse beschränken).

Das Fazit ist, dass Sie im Allgemeinen nur einige Benutzer erstellen sollten, und Ihre Website/Anwendung verwendet nur diesen kleinen Pool von Benutzern, um alle Abfragen durchzuführen. Darüber hinaus ist es eine gute Praxis, mit einem Benutzer auf die Datenbank zuzugreifen, der die wenigsten Berechtigungen hat, die Aufgaben zu erledigen Berechtigungsstufen, die Sie möchten). Wenn Sie eine große Anzahl von Benutzern erstellen, werden Sie (a) MySQL verlangsamen, da sie auf eine größere Berechtigungstabelle zugreifen müssen. (b) Es wird viel schwieriger sein, Berechtigungen zu verwalten, wenn sich der Antrag in der Straße ändert. und (c) es ist eher ein Schmerz für die Debugg -Berechtigungsfragen (Ihr PHP -Skript hat mehr Flexibilität bei dem, was zu tun und zu melden ist, wenn eine Berechtigungsprobleme vorliegt).

Andere Tipps

Normalerweise haben Sie eine Datenbankverbindung und speichern die Konten der einzelnen Benutzer in einer "Benutzer" -Tabelle mit entsprechenden Benutzernamen und Passwörtern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top