PHP PHP/Mysql Fehler 403 wenn ich daten in die datenbank einfügen möchte

P

PoloHD

Gast
Schönen Guten Tag,

ich hab aus Langeweile ein Shop System geschrieben aber oft kommt meine Fehler 403 Seite.

Ich habe etwas länger nach dem Problem gesucht und glaube das dieser Fehler nur bei bestimmten Schlüsselwörtern kommt.

Ich habe natürlich danach Gesucht und fand das:

<IfModule mod_security.c>
SecRuleEngine Off
SecFilterInheritance Off
SecFilterEngine Off
SecFilterScanPOST Off
SecRuleRemoveById 300015 3000016 3000017
</IfModule>


Ich habe das in meine .htaccess eingetragen aber das löst mein Problem nicht.

Mein Code:

Code:
<?php
require("db.php");
$Name = $_POST['Name'];
$Bild = $_POST['Bild'];
$Menge = $_POST['Menge'];
$Preis = $_POST['Preis'];

$sql="INSERT INTO shop (Name, Bild, Menge, Preis)
VALUES ('$Name', '$Bild', '$Menge', '$Preis')";

if (!mysqli_query($con,$sql)) {
  die('Error: ' . mysqli_error($con));
}
mysqli_close($con);
?>


Anfangs waren alle so:

$Name = mysqli_real_escape_string($con, $_POST['Name']);

Ging aber auch anders.

Aber bei ein parr Schlüsselwörtern kommt halt immer noch Fehler 403.


Gesendet mit meinen HTC
 
Wo find ich denn den?

Mein Website Anbieter ist Hostinger falls das eine rolle spielt.

Gesendet mit meinen HTC
 
Ok ein Apache Log wirst du da nicht finden, da nginx läuft. Ob du bei einem kostenlosen Hoster überhaupt Zugriff aufs Error-Log bekommst, weiß ich nicht. Musst du den Hoster fragen. Intressant wäre natürlich wenn du rausfindest, welche Begriffe das sind.

Validierst du deine Daten eigentlich? Oder haust du die wirklich direkt vom Formular in die Datenbank?
 
Also Error logs mit Fehlern die die ganze Seite Betreffen gibt es,

Bei den Wörtern handelt es sich eigentlich nur um Wörter wie If, from, else

also sachen wie sie im Script vorkommen, aber bei manschen Sätzen passiert das auch z.b. nen Kumpel wollte etwas mit den namen

"The ICY Material Pack"

hinzufügen (ohne "") da ist das auch passiert.


Ja ich hab im Script eine abfrage die prüft ob z.b. die menge nur zahlen sindwenn du das meinst.
 
Eine Validierung auf sinnvolle Eingaben ist auch gut (solange diese nicht nur in JS realisiert ist), was ich aber eigentlich meinte das deine Variante ein gefundes Fressen für SQL Injection ist.
 
Wäre es nicht sinnvoller sowas erst in einer lokalen (ggf virtuellen) Entwicklungsumgebung aufzubauen? Da hättest auch Zugriff auf alle Logs.
 
wie schon geschrieben ich hab das nur aus Langeweile gemacht und da ich es im Normalfall in ein par tagen eh wieder gelöscht hat mich die Sicherheit nicht interessiert ich hatte bloß den Fehler und wollte wissen wie ich ihn wegbekomme/in Zukunft vl gar nicht erst mache
 
Wer Zugriff auf deine Datenbank hat, hat unter Umständen auch Zugriff auf das restliche Dateisystem. Wenn das erst mal geschafft ist, ist es vollkommen egal, ob du "nur mal probieren" willst... Entstehender Schaden (z.B. durch Mailspam oder Hosting/Verteilen von strafrechtlich relevantem Material) geht DIR zu Lasten.

Wenn du eh nur herum klimperst, dann mach das bitte nicht auf einem Live-Server, sondern am heimischen PC. Wozu gibts denn Werkzeuge wie XAMPP? Da hast du dann auch n anständiges Error Logging.
 
Zurück
Oben