SQLI Pretection mysqli_real_escape_string()
XSS Pretection htmlspecialchars ()
This commit is contained in:
S170H
2023-12-02 23:10:15 +01:00
parent 644248d1ff
commit 3206c60ce2
7 changed files with 240 additions and 46 deletions

View File

@@ -39,7 +39,7 @@ $besucher = mysqli_fetch_assoc($result_sql_besucher);
//Updatet Besucher Zahl
$besucherCount = $besucher["besucher"] + 1;
$sql_besucher = "UPDATE besucher_counter SET besucher =".$besucherCount;
$sql_besucher = "UPDATE besucher_counter SET besucher =". mysqli_real_escape_string($link, $besucherCount);
$result_sql_besucher = mysqli_query($link, $sql_besucher);
//Newletter counter
@@ -96,9 +96,7 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$current_data[] = $data;
if (file_put_contents($file, json_encode($current_data))) {
echo '<script type="text/javascript">';
echo 'alert("Vielen Dank für Ihre Anmeldung zum Newsletter.");';
echo '</script>';
echo '<script type="text/javascript"> alert("Vielen Dank für Ihre Anmeldung zum Newsletter.");</script>';
//Newsletter counter
$newletterCount++;
@@ -106,9 +104,7 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
fwrite($newsFile, $newletterCount);
fclose($newsFile);
} else {
echo '<script type="text/javascript">';
echo 'alert("Es gab einen Fehler bei Ihrer Anmeldung. Bitte versuchen Sie es erneut.");';
echo '</script>';
echo '<script type="text/javascript">alert("Es gab einen Fehler bei Ihrer Anmeldung. Bitte versuchen Sie es erneut.");</script>';
}
} else {
$error_string = "";
@@ -116,9 +112,7 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$error_string .= $error . '\n';
}
echo '<script type="text/javascript">';
echo 'alert("' . $error_string . '");';
echo '</script>';
echo '<script type="text/javascript">alert("' . $error_string . '");</script>';
}
}
@@ -193,7 +187,7 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Ausgabe des aktuellen Gerichts
$tabelle .= "<tr class=\"speisen\"><td>" . $row_gerichte['name'] . " <sup>" . $allergene . "</sup></td><td>" . $preisintern . "€</td><td>" . $preisextern . "€</td><td>Kein Bild in der Datenbank </td></tr>";
$tabelle .= "<tr class=\"speisen\"><td>" . htmlspecialchars($row_gerichte['name']) . " <sup>" . htmlspecialchars($allergene) . "</sup></td><td>" . htmlspecialchars($preisintern) . "€</td><td>" . htmlspecialchars($preisextern) . "€</td><td>Kein Bild in der Datenbank </td></tr>";
}
$tabelle .= "</table>";
echo $tabelle;
@@ -205,26 +199,25 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
while ($row_allergen = mysqli_fetch_assoc($result_sql_allergen)){
if (in_array($row_allergen['code'], $verwendete_allergene_code)){
$verwendete_allergene_string .= "<sup>".$row_allergen['code']."</sup> ". $row_allergen['name']. ", ";
$verwendete_allergene_string .= "<sup>". htmlspecialchars($row_allergen['code']) ."</sup> ". htmlspecialchars($row_allergen['name']) . ", ";
}
}
echo $verwendete_allergene_string;
echo $verwendete_allergene_string;
?>
<h1>Für Sie nichts dabei? <a href="/Werbeseite/wunschgericht.php">Wunschgericht erfassen</a></h1>
<h1>Für Sie nichts dabei? <a href="../Werbeseite/wunschgericht.php">Wunschgericht erfassen</a></h1>
<h1 id="zahlen">E-Mensa in Zahlen</h1>
<div class="zahlen">
<p><?php echo $besucherCount; ?> Besuche</p>
<p><?php echo $newletterCount; ?> Anmeldungen zum Newsletter</p>
<p>
<p><?php echo htmlspecialchars($besucherCount); ?> Besuche</p>
<p><?php echo htmlspecialchars($newletterCount); ?> Anmeldungen zum Newsletter</p><p>
<?php
$sql_gerichte = "SELECT COUNT(id) FROM gericht";
$result_sql_gerichte = mysqli_query($link, $sql_gerichte);
$ausgabe = mysqli_fetch_assoc($result_sql_gerichte);
echo $ausgabe["COUNT(id)"];
echo htmlspecialchars($ausgabe["COUNT(id)"]);
?>
Speisen
</p>

View File

@@ -17,14 +17,38 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
exit();
}
// Einfügen in die Datenbank
$sql = "INSERT INTO wunschgericht (name, beschreibung) VALUES ('" . mysqli_real_escape_string($link, $gericht_name) . "', '" . mysqli_real_escape_string($link, $gericht_beschreibung) . "')";
$result = mysqli_query($link, $sql);
$error_count = 0;
$spam_domains = array("rcpt.at", "damnthespam.at", "wegwerfmail.de", "trashmail");
if ($result) {
echo "Ihr Wunschgericht wurde erfolgreich gespeichert!";
} else {
echo "Es gab einen Fehler: " . mysqli_error($link);
foreach ($spam_domains as $domain) {
if (str_contains($ersteller_email, $domain)) {
echo '<script type="text/javascript"> alert("Fehler bei den übermittelten Daten");</script>';
$error_count++;
break;
}
}
if(!$error_count){
// Ersteller in DB eintragen
$sql_ersteller_exists = "SELECT * FROM ersteller WHERE EMail = '" . mysqli_real_escape_string($link, $ersteller_email) . "'";
$result_ersteller_exists = mysqli_query($link,$sql_ersteller_exists);
if(mysqli_num_rows($result_ersteller_exists) == 0){
$sql_ersteller = "INSERT INTO ersteller(EMail, Name) VALUES ('" . mysqli_real_escape_string($link, $ersteller_email) . "','" . mysqli_real_escape_string($link, $ersteller_name) . "')";
$result_ersteller = mysqli_query($link,$sql_ersteller);
}
// Gericht in die DB eintragen
$date = date("Y-m-d");
$sql = "INSERT INTO wunschgericht(Name, Beschreibung, Erstellungsdatum, Ersteller_EMail)
VALUES ('" . mysqli_real_escape_string($link, $gericht_name) . "','" . mysqli_real_escape_string($link, $gericht_beschreibung) . "','".$date."','" . mysqli_real_escape_string($link, $ersteller_email) . "')";
$result = mysqli_query($link, $sql);
if ($result) {
echo '<script type="text/javascript"> alert("Ihr Wunschgericht wurde erfolgreich gespeichert!");</script>';
}
else {
echo '<script type="text/javascript"> alert("Es gab einen Fehler: "' . mysqli_error($link) . '</script>';
}
}
mysqli_close($link);