Sponsor-Board.de

Normale Version: Hilfe bei Webseiten Sicherheit
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Dein Code ist eine tickende Zeitbombe!

PHP-Code:
//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-Code:
<?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 Wink
Ich will ja niemanden anschauen, der den Tipp gegeben hat das zu benutzen Smile

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.

Code:
$eintrag = "UPDATE login Set bild4 = '$datei4' WHERE username = '$sqlSecureUsername'";
    $eintragen = mysql_query($eintrag);

Dahinter setzen?
Oder wie meinst du das jetzt?
Seiten: 1 2 3 4
Referenz-URLs