Sponsor-Board.de
Antwort schreiben  Thema schreiben 
 Seiten (4): « Erste < Vorherige 1 2 3 4 Letzte »

Hilfe bei Webseiten Sicherheit

Verfasser Nachricht

Beiträge: 462
Bewertung: 2
Registriert seit: Nov 2012
Status: offline


Beitrag: #31
RE: Hilfe bei Webseiten Sicherheit

Was er mein ist soetwas, damits weniger Code ist:

PHP-Code:
<?php
//Neuer globale Arrays erstellen, die ungesicherte Daten enthalten
$_UNSAFE_POST = array();
$_UNSAFE_GET = array();
$_UNSAFE_COOKIE = array();
//Gefahren in dem globalen Array Post entschärfen
foreach ($_POST as $var => $value) {
    
$_UNSAFE_POST[$var] = $value;
    if (!
is_array($value)) {
        
$value trim ($value);
    } else {
        
$value '';
    }
    
$value htmlspecialchars ($valueENT_QUOTES'UTF-8');    
    
$value strip_tags ($value);
    
$value stripslashes ($value);
    
$value mysql_real_escape_string ($value);
    
$_POST[$var] = $value;
}
//Gefahren in dem globalen Array Get entschärfen
foreach ($_GET as $var => $value) {
    
$_UNSAFE_GET[$var] = $value;    
    if (!
is_array($value)) {
        
$value trim ($value);
    } else {
        
$value '';
    }
    
$value htmlspecialchars ($valueENT_QUOTES'UTF-8');    
    
$value strip_tags ($value);
    
$value stripslashes ($value);
    
$value mysql_real_escape_string ($value);
    
$_GET[$var] = $value;
}
//Gefahren in dem gloablen Array Cookie entschärfen
foreach ($_COOKIE as $var => $value) {
    
$_UNSAFE_COOKIE[$var] = $value;    
    if (!
is_array($value)) {
        
$value trim ($value);
    } else {
        
$value '';
    }
    
$value htmlspecialchars ($valueENT_QUOTES'UTF-8');    
    
$value strip_tags ($value);
    
$value stripslashes ($value);
    
$value mysql_real_escape_string ($value);
    
$_COOKIE[$var] = $value;
}
?>

$_UNSAFE_POST verwendet man ganz normal für Vergleiche, Darstellung
$POST verwendet man in verbindug mit Datenbank

Haste Error Reporting eingeschalten?

Mach mal alle 5 Zeilen ein die("Test"); und nehme dann beginnend von vorne alles nacheinander weg, um heraus zu finden wo der 500 zustande kommt.

//Edit:
Sehe gerade im Link zuvor das EscapeString depricated ist. Es steht aber auch dabei welche Methode stattdessen zu verwenden ist.


Freundliche Grüße,

[Link: Registrierung erforderlich]

Full Stack Software Engineer & Architekt

Sprachen: C#, TSQL, HTML5, Ecmascript 6, CSS 3.1, (TS, C++, PHP)
Frameworks: .NET, .NET Core, ASP.NET MVC, ASP.NET WebApi, WPF, WCF, Entity Framework, Bootstrap

Dieser Beitrag wurde zuletzt bearbeitet: 13.02.2013 23:11 von GGSeSports.

13.02.2013 23:01
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 398
Bewertung: 1
Registriert seit: Feb 2008
Status: offline


Beitrag: #32
RE: Hilfe bei Webseiten Sicherheit

Also aktuell weiß ich gerade nicht was ich machen soll.
Bin ein wenig verwirrt versuche die Error log auszulesen komme aber aktuell nicht daran
Fehler ist laut Error Log

PHP Parse error: syntax error, unexpected ';' in /beta/eintragen.php on line 160,

Ganze nochmal neu geschrieben nun so

PHP-Code:
<?php
include 'heartbeat.php';

$username '';
if (isset (
$_POST['username'])) {
    
$username $_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. Bitte alle Felder korekt ausfüllen. <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 LIKE '$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 = '$username'";
    
$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>";
    }

?>

So klappts...

Dieser Beitrag wurde zuletzt bearbeitet: 14.02.2013 02:14 von Fredix.

14.02.2013 00:14
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 462
Bewertung: 2
Registriert seit: Nov 2012
Status: offline


Beitrag: #33
RE: Hilfe bei Webseiten Sicherheit

Aufgrund deiner PN habe ich jetzt nochmal schnell drüber geschaut. Sofern jeder MySQL Query nur Variablen in Saver Form (also Variablen mit Secure im Namen) vorhanden sind, ist dieser wirklich sicher. Sorry will mir nicht jede Abfrage anschauen, sieht aber auf den ersten Blick gut aus.

Folgende Ergänzung sollte Ursprünglich gepostet werden, kannst du aber derzeit gedroßt ignorieren:

Wie bereits erwähnt wird allerdings mysql_real_escape_string nicht mehr in Zukunft unterstützt. Solange keine Fehlermeldung kommt kannst du diese nehmen.

Ansonsten solltest du folgende Methode verwenden:
- So entweder ich bin dumm oder dass steht nicht mehr da:
[Link: Registrierung erforderlich]

Ursprünglich stand hier, welche Methode verwendet werden soll. Aber irgendwie ist es nicht mehr da. Also wenns nicht mehr funktioniert, dann diese Website öffnen, da sollte die Alternative stehen.


Freundliche Grüße,

[Link: Registrierung erforderlich]

Full Stack Software Engineer & Architekt

Sprachen: C#, TSQL, HTML5, Ecmascript 6, CSS 3.1, (TS, C++, PHP)
Frameworks: .NET, .NET Core, ASP.NET MVC, ASP.NET WebApi, WPF, WCF, Entity Framework, Bootstrap

Dieser Beitrag wurde zuletzt bearbeitet: 14.02.2013 04:54 von GGSeSports.

14.02.2013 04:53
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 398
Bewertung: 1
Registriert seit: Feb 2008
Status: offline


Beitrag: #34
RE: Hilfe bei Webseiten Sicherheit

Hey habe einen Fehler gefunden und weiß nicht woran es liegt vllt könnt ihr mir helfen.

Es handelt sich um diese Funktion

PHP-Code:
$result mysql_query("SELECT id FROM login WHERE username LIKE '$sqlSecureUsername");
$menge mysql_num_rows($result);

if(
$menge == 0)
    { 

Diese verhindert normalerweise das es mehrere User mit dem gleichen Username gibt jedoch funktioniert diese nun nicht mehr seit Escape woran liegt das?

15.02.2013 22:59
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 2.492
Bewertung: 29
Registriert seit: Jul 2010
Status: offline


Beitrag: #35
RE: Hilfe bei Webseiten Sicherheit

("SELECT id FROM login WHERE username LIKE '$sqlSecureUsername")

Fehlt abschließendes Single Quote.

Ein Tipp / Bitte: Nutze für PHP Codes etc. pastebin.com - das hier ist schrecklich.

Desweiteren solltest du `id` FROM `login` schreiben - alternativ PDO Statements.


Mit freundlichen Grüßen / Best Regards
Julian Weiler | Geschäftsführender Gesellschafter

[Link: Registrierung erforderlich] ist außerdem bei [Link: Registrierung erforderlich], [Link: Registrierung erforderlich] und [Link: Registrierung erforderlich]

Telefon: +49 (0) 67 74 / 20 49 520
Fax: +49 (0) 67 74 / 20 49 520 9
E-Mail: [Mail: Registrierung erforderlich]

15.02.2013 23:13
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 398
Bewertung: 1
Registriert seit: Feb 2008
Status: offline


Beitrag: #36
RE: Hilfe bei Webseiten Sicherheit

Ah okay vielen dank jetzt fällt es mir wie schuppen von den Augen xD

Weißt du en gutes Bilder Multiupload Tutorial?
Weil das so immer ziemlich lange dauert

15.02.2013 23:20
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 398
Bewertung: 1
Registriert seit: Feb 2008
Status: offline


Beitrag: #37
RE: Hilfe bei Webseiten Sicherheit

Ich habe nun ein Update geschrieben wo nur wenn alles iO ist also auch die Bilder alles in die Datenbank geschrieben wird nur wenn ich das Script nun so laufen lasse läuft es in einen Error und sagt mir in Line 322 also in meinem Else ist ein fehler vor Benutzer Name anlegen

PHP-Code:
$tempname $_FILES['datei']['tmp_name'];  
    
$name md5(filesize($tempname).microtime());
    
$name1 $name.".jpg";  
    
$type $_FILES['datei']['type'];  
    
$size $_FILES['datei']['size']; 
if (empty(
$size)) {
$name1 '';
} else {
    if(
$type != "image/png" && $type != "image/jpeg") {  
        
$err[] = "Bild1 entspricht keiner png oder jpg/jpeg datei!.";  
    }  
    if(
$size "4194304") {  
        
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 4MegaByte!"
    }  
    if(empty(
$err)) {  
        
move_uploaded_file($tempname"upload/".$name1); 
    }  
    else {  
        foreach(
$err as $error)  
        echo 
"$error<br>";  
    }  
}
    
$tempname $_FILES['datei2']['tmp_name'];  
    
$name md5(filesize($tempname).microtime());
    
$name2 $name.".jpg";  
    
$type $_FILES['datei2']['type'];  
    
$size $_FILES['datei2']['size']; 
if (empty(
$size)) {
$name2 '';
} else {
    if(
$type != "image/png" && $type != "image/jpeg") {  
        
$err[] = "Bild2 entspricht keiner png oder jpg/jpeg datei!."
    }  
    if(
$size "4194304") {  
        
$err[] = "Das Bild2 welches du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 4MegaByte!";  
    }  
    if(empty(
$err)) {  
        
move_uploaded_file($tempname"upload/".$name2); 
    }  
    else {  
        foreach(
$err as $error)  
        echo 
"$error<br>";  
    }  
}
    
$tempname $_FILES['datei3']['tmp_name'];  
    
$name md5(filesize($tempname).microtime());
    
$name3 $name.".jpg";  
    
$type $_FILES['datei3']['type'];  
    
$size $_FILES['datei3']['size']; 
if (empty(
$size)) {
$name3 '';
} else {
    if(
$type != "image/png" && $type != "image/jpeg") {  
        
$err[] = "Bild3 entspricht keiner png oder jpg/jpeg datei!.";  
    }  
    if(
$size "4194304") {  
        
$err[] = "Das Bild3 welches du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 4MegaByte!";  
    }  
    if(empty(
$err)) {  
        
move_uploaded_file($tempname"upload/".$name3); 
    }  
    else {  
        foreach(
$err as $error)  
        echo 
"$error<br>";  
    }  
}
    
$tempname $_FILES['datei4']['tmp_name'];  
    
$name md5(filesize($tempname).microtime());
    
$name4 $name.".jpg";  
    
$type $_FILES['datei4']['type'];  
    
$size $_FILES['datei4']['size']; 
if (empty(
$size)) {
$name4 '';
} else {
    if(
$type != "image/png" && $type != "image/jpeg") {  
        
$err[] = "Bild4 entspricht keiner png oder jpg/jpeg datei!.";  

    }  
    if(
$size "4194304") {  
        
$err[] = "Das Bild4 welches du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 4MegaByte!";  

    }  
    if(empty(
$err)) {  
        
move_uploaded_file($tempname"upload/".$name4); 
    }  
    else {  
        foreach(
$err as $error)  
        echo 
"$error<br>";  
    }  
}
    
$tempname $_FILES['datei5']['tmp_name'];  
    
$name md5(filesize($tempname).microtime());
    
$name5 $name.".jpg";  
    
$type $_FILES['datei5']['type'];  
    
$size $_FILES['datei5']['size']; 
if (empty(
$size)) {
$name5 '';
} else {
    if(
$type != "image/png" && $type != "image/jpeg") {  
        
$err[] = "Bild5 entspricht keiner png oder jpg/jpeg datei!.";  
    }  
    if(
$size "4194304") {  
        
$err[] = "Das Bild5 welches du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 4MegaByte!";  
    }  
    if(empty(
$err)) {  
        
move_uploaded_file($tempname"upload/".$name5); 
    }  
    else {  
        foreach(
$err as $error)  
        echo 
"$error<br>"
    } 

if(
$menge == && empty($err))
    {
$eintrag "INSERT INTO login
(username, passwort, email, marke, modell, bj, ps, hubraum, color, fahrwerk, felgen, interieur, ext, disc, bild1, bild2, bild3, bild4, bild5)
VALUES
('
$sqlSecureUsername', '$sqlSecurePasswort', '$sqlSecureEmail', '$sqlSecureMarke', '$sqlSecureModell', '$sqlSecureBj', '$sqlSecurePs', '$sqlSecureHubraum', '$sqlSecureColor','$sqlSecureFahrwerk', '$sqlSecureFelgen', '$sqlSecureInterieur', '$sqlSecureExt', '$sqlSecureDisc', '$name1', '$name2', '$name3', '$name4', '$name5')";
$eintragen mysql_query($eintrag)or die(mysql_error());

Wo liegt mein Denk fehler?

18.02.2013 17:39
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 
 Seiten (4): « Erste < Vorherige 1 2 3 4 Letzte »

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Webseiten Speichervolumen eret12 9 1.259 11.02.2013 18:47
Letzter Beitrag: eret12

 Druckversion anzeigen
 Thema einem Freund senden
 Thema abonnieren
 Thema zu den Favoriten hinzufügen

Sponsor-Board.de

Community
Über uns
Partner
Powered by Mybb: Copyright 2002-2024 by MyBB Group - Deutsche-Übersetzung von Mybb.de
 
© 2007-2024 Sponsor-Board.de - Hosted by OVH

Willkommen auf SB!   Sie benötigen ein Sponsoring?   1. Anmelden   2. Sponsoring-Anfrage erstellen   3. Nachrichten von Sponsoren erhalten   Kostenlos!   Jetzt registrieren