Zitat
Original von Dominik
[...]
Das nenne ich einen eher unprofessionellen Beitrag. Scripte können sehr wohl richtig programmiert sein und einen ausgeschalteten SafeMode haben. Mich würde mal interessieren, welcher Hoster das ist.
Der Hoster hat vollkommen recht, ein Script das im safe_mode nicht läuft ist schlecht programmiert!
Der safe_mode ist dazu da, um mehr Sicherheit zu bieten.
So kann eine PHP Datei nicht mehr so einfach andere Datein modifizieren.
Man sollte immer irgendeine Möglichkeit einbauen, dass das Script auch funktioniert wenn der safe_mode auf On steht.
Außerdem ist zumindest die Basic Version sehr schlecht gecoded...
$security_install = $securityconfig[install];
PHP Manual - Arrays
Lies dir mal "Array do's und don'ts - Warum ist $foo[bar] falsch?"
$row = $db->query_first("SELECT * FROM bb".$n."_security_passwords WHERE passwort = '".$_POST[l_sicherheitsabfrage]."'");
Google mal nach SQL Injection.
Durch den Fehler kannst du die Sicherheitsabfrage auch gleich lassen.
Wenn ich da jetzt ' OR 1 = 1 eingebe komm ich immer durch.
Teilweise wird es (fast) richtig gemacht (addslashes()) und teilweise leider nicht...
mysql_real_escape_string wäre perfekt.
(Ich weiß das das wBB auch addslashes verwendet, aber mysql_real_escape_string ist besser)
acp_log_add("fehlgeschlagener ACP Login");
Zwar nicht unbedingt schlecht, aber langsam.
acp_log_add('fehlgeschlagener ACP Login');
wäre besser.
'".addslashes($HTTP_USER_AGENT)."'
Es heißt $_SERVER['HTTP_USER_AGENT']...
Das mit dem Suchmaschienen freischalten ist auch ein Witz, da sie anhand des User Agents identifiziert werden und sich der verdammt einfach fälschen lässt.
Teilweise wird MYSQL_CONNECT und teilweise mysql_pconnect benutzt.
Warum nicht die MySQL Klasse vom wBB?
Das DB Backup dürfte bei größeren Datenbanken auch die max_execution_time, die normalerweise auf 30 Sekunden steht, überschreiten.
Da muss noch vieeel nachgebessert werden...