Tags:
php
Hej.
Jeg sidder og grubler over lidt security paa MySQL.
Jeg har to databaser, der hedder f. eks. : Test1, Test2. Begge databaser har en tabel Temp.
Jeg opretter to brugere med henholdsvis :
1) GRANT ALL ON Test1.* TO mand1 IDENTIFIED BY 'hey';
2) GRANT ALL ON Test2.* ON mand2 IDENTIFIED by 'dav';
Problemet er at naar mand1 logger paa igennem PHP, kan han godt vaelge Test2 databasen? (SELECT * FROM temp)
Og mand2 kan vaelge Test1 databasen, hvilket ikke skulle vaere muligt pga. security.
Hvad goer jeg forkert?
Mvh
Kenneth
(Jamaica)
Hej.
>Jeg sidder og grubler over lidt security paa MySQL.
Du bør nok se i hæftet om SQL fra IDG, omkring de sidste sider. Her står noget om sikkerhed.
Men må lige skrive at det godt kan være i opsætning af databsen der er noget galt, eller blot hvis det er en dårlig udgave. Herved mener jeg, at man skal jo betale for det man skal bruge, og derfor er der nogle der spare på mærkelige ting. Især omkring databaser.
Men prøver lige at skrive et par hint.
Chek om du skifter brugeren ud. (den bruger der opretter tabellen har altid "adminstrator rettighed")
Husk at oprette brugeren fra admistratoren.
Husk at give den nye bruger et password.
Husk at give den nye bruger nogle muligheder.
Husk lad være med at give bruger fuld rettighed til en tabel (GRANT ALL ON), give evt læse eller skrive ikke slette.
Uden at vide hvad der er galt tror jeg at du logger ind med "admin" rettigheder, istedet for hver person for sig. Det er der hvor der skabes adgang til databasen du skal ændre navne og password.
Håber det var til hjælp, selv om problemmet ikke er løst.