InternInhaltsverzeichnisGlossarBausteineLinklisteTutorialsKommentare

Thema: MySQL-Webseitenschutz Artikel anzeigen

Bonny schrieb am Mittwoch, den 1 November 2017 #1
Ich habe ihr Script benutzt nun hat ein User 3 mal das Falsche Pw eingegeben. Nun kann ich mich als Admin auch nicht mehr Anmelden wieso das nicht. WIe mache ich es das nur die User gesperrt wird. Und wie mache ich ein Timestamp in die Datenbank
Werner schrieb am Donnerstag, den 2 November 2017 #2
Hallo,
bitte den Browser schließen und erneut öffnen dann sind die Session-Cookies gelöscht, der Benutzer hat dann wieder 3 Anmeldeversuche. Einstellen kann man diese Anmeldeversuche in der Datei: admin/einstellungen.php
Bonny schrieb am Donnerstag, den 2 November 2017 #3
Wie kann ich es so einstellen das jeder User. auf sein geschützer Account kommt. und z.b. bei der Hauptseite.php kann man ja links einfügen wie geht es das jeder User sein eigner link sieht. Und nicht von jedem User
Werner schrieb am Freitag, den 3 November 2017 #4
In der hauptseite.php folgendes einfügen:

1
2
3
4
5
<?php
if ($_SESSION["benutzer"] == "Bonny") {
 echo 
'<p><a href="bonny.php">Meine geschütze Seite</a></p>';
}
?>

Beispiel wie dann die Datei: bonny.php geschützt wird:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
// Dieses Script muss an den Anfang der Datei
session_start();
if (!isset(
$_SESSION["benutzer"]) ||
    
$_SESSION["benutzer"] != "Bonny") {
 
// Zur Anmeldung weiterleiten
 
header("Location: ../register/anmeldung.php"); 
 exit;
}
?>

<!-- Hier folgt der HTML-Teil -->
<!DOCTYPE html> ...
Bonny schrieb am Samstag, den 4 November 2017 #5
Sry verstehe ich jetzt nicht wenn ich

if ($_SESSION["benutzer"] == "Bonny") {
echo '<p><a href="bonny.php">Meine geschütze Seite</a></p>';
}

in Hauptseite.php einfüge ist ja der Login des Admin weg.

und wie soll das gehen ich habe 5 links mit unterordner in diesen die index.html sind.

1.Rechnung
2.Mahnung
3.Download´s
4.Beauftragung
5.Persönliche Daten


noch eine frage wie erstelle ich so ein Cms wie unter

media-products-demoserver1.de/ph349/ mit der gleichen Branche
Werner schrieb am Samstag, den 4 November 2017 #6
Hallo,
du hast HTML gelernt, du hast CSS gelernt dann lerne auch PHP, ich kann dir das nicht beibringen > schattenbaum.net/php/
Peter ✶✶✶✶✶ schrieb am Samstag, den 13 Januar 2018 #7
Hallo Werner,
ich benutze das Script zum Verwalten als Admin für unseren Bogensportverein.

Es funktioniert wunderbar.

Hab aber eine Frage:
Ist es grundsätzlich möglich, das die Speicherung von Datensätzen in einer DB beschränkt wird. Ich mein jetzt nicht bei einer Abfrage mit SELECT und Limit, sondern dass zB mit INSERT nur 1 Datensatz gespeichert werden kann.

Ich konnte diesbezüglich im Netz nichts finden.

Danke auf alle Fälle für deine tolle Arbeit hier auf deinen Seiten,
Peter
Werner schrieb am Sonntag, den 14 Januar 2018 #8
K.A. ob ich das richtig verstanden habe!
Es soll nur ein Datensatz in der Tabelle stehen?
Überprüfe zuerst mit "SELECT COUNT(spalte) AS anzahl" die Anzahl der Einträge.

Bei "0" Datensatz eintragen und bei "1" Datensatz aktualisieren ...
Peter schrieb am Montag, den 15 Januar 2018 #9
Danke Werner, das ist ein cooler Lösungsvorschlag.
Peter schrieb am Dienstag, den 16 Januar 2018 #10
Ich finde einfach meinen Denkfehler nicht. Mein Testcode bisher:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

vorige PHP Code....
if (isset($_POST["submit"])) {

     
    // Überprüfen ob Anzahl Datensatz bei 0
    $stmt = $db->query("SELECT COUNT(id_test) AS `anzahl` FROM wm_test`");
    
        // Datensatz weniger als 1, dann Eintragen
        if ($stmt->fetch() < 1) {
     
        echo
        $insert = $db->prepare("INSERT INTO `wm_test`
                            SET
                            `p_vorname` = :p_vorname");
                            
        $insert->bindValue(":p_vorname", $p_vorname);
        }
        
        // Anonst Datensatz Updaten
        else {

        $insert = $db->prepare("UPDATE `" . $TABLE_PREFIX . "_test`
                        SET
                        `p_vorname` = :p_vorname    
                        WHERE id_test='1'"); 
        
        $insert->bindValue(':p_vorname', $_POST["p_vorname"]); 
        $insert->bindValue(':id_test', $_POST["id_test"]); 
    
    }
    
weitere PHP Code...


Ohne die IF-Anweisung bzgl Insert oder Update werden die Daten korrekt eingetragen.
Mit der If-Anzweisung erhalt ich die Fehlermeldung, dass die Daten nicht eingetragen werden können. Eine error-reporting erhalt ich nicht.

Oder ist mein Ansatz total falsch?

Beste Grüße,
Peter