Dein Code ist eine tickende Zeitbombe!
//user.php
//Überprüfen ob User überhaupt vorhanden ist:
$user = '';
if (isset ($_GET['user'])) {
$user = $_GET["user"];
}
/*ggf:
else
{
die('Kein Benutzer Übergeben');
}
*/
//Daten Escapen
$sqlSecureUser = mysql_real_escape_string($user);
$abfrage = "SELECT * FROM login WHERE username = '$sqlSecureUser'";
$counter = mysql_num_rows(mysql_query("SELECT * FROM bewertung WHERE username='$sqlSecureUser'"));
//eintragen.php
//Dass selbe Spiel: Überprüfen ob vorhanden, Escapen und SQL Query anpassen!
$username = $_POST["username"];
$passwort = $_POST["passwort"];
$passwort2 = $_POST["passwort2"];
$email = $_POST["email"];
$marke = $_POST["marke"];
$modell = $_POST["modell"];
$bj = $_POST["bj"];
$ps = $_POST["ps"];
$hubraum = $_POST["hubraum"];
$color = $_POST["color"];
$fahrwerk = $_POST["fahrwerk"];
$felgen = $_POST["felgen"];
$interieur = $_POST["interieur"];
$ext = $_POST["ext"];
$disc = $_POST["disc"];
//marke.php
//Selbes Spiel!
$markeb = $_GET["b"];
//bewertung.php
//Und nochmals. Bei der IP bin ich mir nicht sich, ob dass der Client verändern kann. Musst du mal googlen, aber schaden kanns nicht
$ip=getenv("REMOTE_ADDR");
$user = $_GET["user"];
Wenn du die Änderungen vornimmst sollte es safe sein, du wirst jedoch noch Fehlermeldungen erhalten wenn deine SqlAbfrage kein Ergebnis zurückliefert. Dies solltest du unbedingt abfangen.
Ansonsten hast du noch ein paar schönheitsfehler drinne!
- Strings werden generell mit Hochkomma und nicht Doppelten Anführungszeichen angegeben. (Performance!)
- Verwende $_SERVER für IP
- Bei den Bilderupload hätts auch eine Schleife getan
- EVA Prinzip
- ...
Ich habe das ganze jetzt mal in meine Eintragen.php eingefügt.
Nun klappt das eintragen nicht mehr -.-
Woran liegt es? Es zeigt keine Fehlermeldungen an sondern bleibt einfach weiß
<?php
include 'heartbeat.php';
$username = '';
if (isset ($_POST['username'])) {
$user = $_POST["username"];
}
else
{
die('Kein Benutzer Übergeben');
}
$sqlSecureUsername = mysql_real_escape_string($username);
$passwort = '';
if (isset ($_POST['passwort'])) {
$passwort = $_POST["passwort"];
}
else
{
die('Kein Passwort Übergeben');
}
$passwort2 = '';
if (isset ($_POST['passwort2'])) {
$passwort2 = $_POST["passwort2"];
}
else
{
die('Kein Passwort2 Übergeben');
}
$email = '';
if (isset ($_POST['email'])) {
$email = $_POST["email"];
}
else
{
die('Keine Email Übergeben');
}
$sqlSecureEmail = mysql_real_escape_string($email);
$marke = '';
if (isset ($_POST['marke'])) {
$marke = $_POST["marke"];
}
else
{
die('Keine Marke Übergeben');
}
$sqlSecureMarke = mysql_real_escape_string($marke);
$modell = '';
if (isset ($_POST['modell'])) {
$modell = $_POST["modell"];
}
else
{
die('Kein Modell Übergeben');
}
$sqlSecureModell = mysql_real_escape_string($modell);
$bj = '';
if (isset ($_POST['bj'])) {
$bj = $_POST["bj"];
}
else
{
die('Kein Baujahr Übergeben');
}
$sqlSecureBj = mysql_real_escape_string($bj);
$ps = '';
if (isset ($_POST['ps'])) {
$ps = $_POST["ps"];
}
else
{
die('Keine PS Zahl Übergeben');
}
$sqlSecurePs = mysql_real_escape_string($ps);
$hubraum = '';
if (isset ($_POST['hubraum'])) {
$hubraum = $_POST["hubraum"];
}
else
{
die('Kein Hubraum Übergeben');
}
$sqlSecureHubraum = mysql_real_escape_string($hubraum);
$color = '';
if (isset ($_POST['color'])) {
$color = $_POST["color"];
}
else
{
die('Keine Farbe Übergeben');
}
$sqlSecureColor = mysql_real_escape_string($color);
$fahrwerk = '';
if (isset ($_POST['fahrwerk'])) {
$fahrwerk = $_POST["fahrwerk"];
}
else
{
die('Kein Fahrwerk Übergeben');
}
$sqlSecureFahrwerk = mysql_real_escape_string($fahrwerk);
$felgen = '';
if (isset ($_POST['felgen'])) {
$felgen = $_POST["felgen"];
}
else
{
die('Keine Felgen Übergeben');
}
$sqlSecureFelgen = mysql_real_escape_string($felgen);
$interieur = '';
if (isset ($_POST['interieur'])) {
$interieur = $_POST["interieur"];
}
else
{
die('Kein Interieur Übergeben');
}
$sqlSecureInterieur = mysql_real_escape_string($interieur);
$ext = '';
if (isset ($_POST['ext'])) {
$ext = $_POST["ext"];
}
else
{
die('Kein Exterieur Übergeben');
}
$sqlSecureExt = mysql_real_escape_string($ext);
$disc = '';
if (isset ($_POST['disc'])) {
$disc = $_POST["disc"];
}
else
{
die('Keine Beschreibung Übergeben');
}
$sqlSecureDisc = mysql_real_escape_string($disc);
if($passwort != $passwort2)
{
echo "Eingabefehler.Passwörter sind nicht gleich! <a href=\"eintragen.html\">Zurück</a>";
exit;
}
$passwort = md5($passwort);
$sqlSecurePasswort = mysql_real_escape_string($passwort);
$result = mysql_query("SELECT id FROM login WHERE username = '$sqlSecureUsername'";
$menge = mysql_num_rows($result);
if($menge == 0)
{
$eintrag = "INSERT INTO login
(username, passwort, email, marke, modell, bj, ps, hubraum, color, fahrwerk, felgen, interieur, ext, disc)
VALUES
('$sqlSecureusername', '$sqlSecurePasswort', '$sqlSecureEmail', '$sqlSecureMarke', '$sqlSecureModell', '$sqlSecureBj', '$sqlSecurePs', '$sqlSecureHubraum', '$sqlSecureColor','$sqlSecureFahrwerk', '$sqlSecureFelgen', '$sqlSecureInterieur', '$sqlSecureExt', '$sqlSecureDisc')";
$eintragen = mysql_query($eintrag)or die(mysql_error());
$datei = $_FILES['datei']['name'];
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
if($dateityp[2] != 0)
{
if($_FILES['datei']['size'] < 1024000000)
{
move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".$_FILES['datei']['name']);
$eintrag = "UPDATE login Set bild1 = '$datei' WHERE username = '$sqlSecureUsername'";
$eintragen = mysql_query($eintrag);
}
else
{
echo "Das Bild darf nicht größer als 100 kb sein ";
}
}
else
{
echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
}
$datei2 = $_FILES['datei2']['name'];
$dateityp = GetImageSize($_FILES['datei2']['tmp_name']);
if($dateityp[2] != 0)
{
if($_FILES['datei2']['size'] < 1024000000)
{
move_uploaded_file($_FILES['datei2']['tmp_name'], "upload/".$_FILES['datei2']['name']);
$eintrag = "UPDATE login Set bild2 = '$datei2' WHERE username = '$sqlSecureUsername'";
$eintragen = mysql_query($eintrag);
}
else
{
echo "Das Bild darf nicht größer als 100 kb sein ";
}
}
else
{
echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
}
$datei3 = $_FILES['datei3']['name'];
$dateityp = GetImageSize($_FILES['datei3']['tmp_name']);
if($dateityp[2] != 0)
{
if($_FILES['datei3']['size'] < 1024000000)
{
move_uploaded_file($_FILES['datei3']['tmp_name'], "upload/".$_FILES['datei3']['name']);
$eintrag = "UPDATE login Set bild3 = '$datei3' WHERE username = '$sqlSecureUsername'";
$eintragen = mysql_query($eintrag);
}
else
{
echo "Das Bild darf nicht größer als 100 kb sein ";
}
}
else
{
echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
}
$datei4 = $_FILES['datei4']['name'];
$dateityp = GetImageSize($_FILES['datei4']['tmp_name']);
if($dateityp[2] != 0)
{
if($_FILES['datei4']['size'] < 1024000000)
{
move_uploaded_file($_FILES['datei4']['tmp_name'], "upload/".$_FILES['datei4']['name']);
$eintrag = "UPDATE login Set bild4 = '$datei4' WHERE username = '$sqlSecureUsername'";
$eintragen = mysql_query($eintrag);
}
else
{
echo "Das Bild darf nicht größer als 100 kb sein ";
}
}
else
{
echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
}
$datei5 = $_FILES['datei5']['name'];
$dateityp = GetImageSize($_FILES['datei5']['tmp_name']);
if($dateityp[2] != 0)
{
if($_FILES['datei5']['size'] < 1024000000)
{
move_uploaded_file($_FILES['datei5']['tmp_name'], "upload/".$_FILES['datei5']['name']);
$eintrag = "UPDATE login Set bild5 = '$datei5' WHERE username = '$sqlSecureUsername'";
$eintragen = mysql_query($eintrag);
}
else
{
echo "Das Bild darf nicht größer als 100 kb sein ";
}
}
else
{
echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
}
if($eintragen == true)
{
echo "Benutzername <b>$username</b> wurde erstellt. <a href=\"login.html\">Login</a>";
}
else
{
echo "Fehler beim Speichern des Benutzernames. <a href=\"eintragen.html\">Zurück</a>";
}
}
else
{
echo "Benutzername schon vorhanden. <a href=\"eintragen.html\">Zurück</a>";
}
?>
Auf den ersten Blick sehe ich jetzt keinen Fehler.
Überprüfe mal ob der überhaupt hier reinspringt:
<?php if($menge == 0) ?>
Eine ein echo 'test'; hier ausgeben.
Wäre aufjedenfall erst mal hilfreich zu wissen, woran das liegt.
Bleibt beim gleichen Fehler
HTTP-Fehler 500 (Internal Server Error): Beim Versuch des Servers, die Anforderung zu verarbeiten, ist eine unerwartete Bedingung aufgetreten.
error_log angucken
error_reporting(E_ALL)
Mit foreach kannst du auch alle POSTs und GETs aufeinmal mit nur einem Befehl prüfen und escapen lassen.
Kannst du mir ein Konkretes Beispiel geben?
Versuche aktuell mit dem Script PHP ein wenig zu lernen
[Link:
Registrierung erforderlich]
ich frag mich welche PHP Version du hast... eine 2faches Escaping wäre fatal

Ich will ja niemanden anschauen, der den Tipp gegeben hat das zu benutzen
versuch mal nach der mysql_query mit "echo mysql_error();"
Habe ich das nicht schon mit
$eintragen = mysql_query($eintrag)or die(mysql_error());
?
Z.B.
$eintrag = "UPDATE login Set bild4 = '$datei4' WHERE username = '$sqlSecureUsername'";
$eintragen = mysql_query($eintrag);
Dahinter setzen?
Oder wie meinst du das jetzt?