...
Ankündigung
Einklappen
Keine Ankündigung bisher.
[Erledigt] Sicherheitsfrage mit Sessions - Problem mit Intellitamper
Einklappen
Neue Werbung 2019
Einklappen
X
-
-
Hallo Leibi!
Mir ist noch nicht ganz klar, was Du machen willst, es sieht aber danach aus, dass Du nicht auf die Admin-Seite kommst um Einträge löschen oder bearbeiten zu können.
//Edit: Zeigt es Dir überhaupt die "admin.php" an, nach dem Login??
Kannst Du mir mal zeigen, was in der "inc/authadmin.php" steht?
Hast Du schon eine Abfrage nach der Session gemacht, ob sie nach dem Login auch wirklich gesetzt ist?
-
-
Ist denn der Adminbereich nicht passwortgeschützt?
Diese Zeile in deinem Script:
sollte dir große Bauchschmerzen bereiten. Was passiert, wenn jemand dir als id so etwas wie dies hier einschmuggelt:PHP-Code:$loesch = "DELETE FROM bcguest WHERE id = ".$_REQUEST['id'];
1;DELETE FROM bcguest;'--
??
Die Intellitampersite ist Down. Vieleicht haben die ein fehlerhaftes Programm rausgegeben und sind schon auf der Flucht.
Wenn die beiden gifs nicht in einem geschützten Ordner stehen, dann ist es kein Wunder, wenn man die irgendwie aufrufen kann. Das Bild alleine sollte aber keine Funktion haben.
Kommentar
-
-
-
bzgl. Sicherheitsmasnahmen
Nur am Rande, bzgl. Sicherheitsmaßnahmen. Benutze doch einfach eine Funktion die macht dir das leben leichter, und du musst bei einer Änderung nicht alle Sachen ändern.
Das hier ist meine Funktion, ein bisschen erweitert.
Gruß, s1xPHP-Code:// remove bad tags
function removeBadTags($text){
return nl2br(strip_tags(stripslashes(htmlspecialchars(mysql_real_escape_string($text)))));
}
Kommentar
-
-
mysql_real_escape_string() funktioniert nur bei geöffneter Datenbank.// remove bad tags
function removeBadTags($text){
return nl2br(strip_tags(stripslashes(htmlspecialchars(mys ql_real_escape_string($text)))));
}
Ausserdem macht es mMn keinen Sinn, bei jeder Eingabe nl2br anzuwenden. Dadurch wird ja ein Zeilenumbruch in ein <br> umgewandelt, und das will man ja sicherlich nicht in eine Datenbank schreiben.
Zum Verifizieren von Eingaben habe ich so etwas:
Statt $name = $_POST['name'] habe ich dann $name = einPost('name') im Programm.PHP-Code:function einPost($var) {
$was = trim($_POST[$var]);
$was = strip_tags($was);
if(get_magic_quotes_gpc()) {
$was = stripslashes($was);
}
return $was;
Ein vom user eingegebenes Hochkomma bleibt zunächst auch ein Hochkomma. Erst vor dem Schreiben in die DB wird es mit mysql_real_escape_string() entschärft.
Kommentar
-
Wäre bei deiner "einPost()" Funktion nicht wichtig zu checken ob $_POST[$var] überhaupt existiert? Sonst würde jedes mal nen Error ausgespuckt werden. Außerdem wäre es vielleicht sinnvoll noch einen "default" Wert zu übergeben.
PHP-Code:function einPost($var, $default = null) {
if (empty($_POST[$var])) {
$was = $default;
} else {
$was = trim($_POST[$var]);
$was = strip_tags($was);
if(get_magic_quotes_gpc()) {
$was = stripslashes($was);
}
}
return $was;
}
Kommentar
-

Kommentar