Witam,
Ostatnio jak tak sobie siedzieliśmy z kolegą nad oscommerce, i rozważaliśmy pewne jego aspekty, różnicę pomiędzy innymi sklepami, jego modyfikacjami. Wpadł mi pomysł do głowy związany z bezpieczeństwem witryn internetowych.
Otóż cała filozofia opiera się o MySQL'a, jak wiadomo MySQL niczym wykona polecenie pierw sprawdzi czy dany użytkowników ma prawa do wykonania takiego polecenia/zapytania. No i tutaj jest cały sens i genialny aspekt bezpieczeństwa w witrynach internetowych. Sprawdzałem już wiele różnych cms'ow, płatnych i tych komercyjnych, od prostych blogerów do zaawasowanych pozwalających prowadzić portale informacyjne. I w większości z nich jest tworzony tylko jeden użytkownik do bazy danych z uprawnieniami, SELECT, INSERT, DELETE i UPDATE, czasami nawet z większymi, oczywiście nie mówie tutaj o panelu administratora.
Teraz załóżmy że mamy sobie formularz w php veryfikujemy sobie wszystkie dane za pomocną znanych nam funkci, get_magic_quotes, addslashes, trim itp itd... i wykonujemy fomularz sam w sobie, czyli PHP_SELF, w takim wypadku jest pewne niebezpieczeństwo, ale czy nie lepiej byłoby zrobić formularz bez php, czyli cała sekwencja veryfikacji danych była by w całkiem osobnym pliku i w tym pliku veryfikującym dane byłby właśnie inny użytkownik do połączenia się z bazą danych który ma większe przywileje, np UPDATE, INSERT. co wyeliminowało by wg mnie możliwość sql injection, a następnie dane były by przekazywane do następnego pliku z użytkownikiem o mniejszych prawach dostępu, co o tym myślicie?
Czy jest sens w ten sposób męczenia bazy danych dla większego bezpieczeństwa czy jest to w zupełności niepotrzebne?