php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.03.2007, 11:19  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard link in mail

Hallo
Ich generiere in einem Uploadformular eine Simple Mail.
Diese soll aber nun den link zur Datei enthalten, welche Upgeloadet wurde.

Solan in der Datei keine Leerzeichen sind, ist auch alles ok. Nur mit den Leerzeichen ist der Link nicht mehr vollständig.

Früher oder später muss ich die Dateien eh umbenennen um überschreibungen zu vermeiden. Es ist also nur eine Notlösung!
Mein quelltext lautet:
PHP-Code:
if($_POST)
{
 
$strMailtext "";

 while(list(
$strName,$value) = each($_POST))
 {
  if(
is_array($value))
  {
   foreach(
$value as $value_array)
   {
    
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
   }
  }
  else
  {
   
$strMailtext .= $strName.$strDelimiter.$value."\n";
  }
 }

    
$strMailtext .= '\n Dateiname: http://www.***.de/formular/auftraege/'.$_FILES['Datei']['name'];
    
 if(
get_magic_quotes_gpc())
 {
  
$strMailtext stripslashes($strMailtext);
 } 
nun hab ich folgendes ohne Erfolg probiert
PHP-Code:
$strMailtext .= '\n Dateiname: [url="http://www.***.de/formular/auftraege/'.$_FILES['Datei']['name'].'"]http://www.***.de/formular/auftraege/'.$_FILES['Datei']['name'].'[/url]'
dies klappt aber auch nicht
hat jemand eine Idee?

Edit by Zergling: Domainname entfernt
kid01 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.03.2007, 11:27  
Erfahrener Benutzer
 
Registriert seit: 09.03.2005
Beiträge: 219
webbi
Standard

Du hast hier eine riesige Sicherheitslücke!
Kümmere dich sofort darum, dass die Dateien beim Upload umbenannt werden und eventuell auf den Typ überprüft werden.

Habe dir gerade eben ein PHP Script (!!!) auf deinen Server geladen:
http://www.***.de/formular/auftraege/test.php

Das gibt nur einen Text aus, aber theoretisch könnte ich nun alles was ich will auf deinem Server machen.

Also erstmal Script schnell umändern und danach kommen wir wieder zu dem Problem mit der E-Mail.

Edit by Zergling: Domainname entfernt
webbi ist offline  
Alt 23.03.2007, 12:10  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard

m daran hab ich ja nun gar nich gedacht.
Obwohl... Du kennst ja nicht wirklich den Pfad zum Script...
Aber ich hab eh vor nur bmp+jpg zuzulassen.
kid01 ist offline  
Alt 23.03.2007, 12:35  
Erfahrener Benutzer
 
Registriert seit: 09.03.2005
Beiträge: 219
webbi
Standard

Aus dem Codeschnipsel war nicht erkenntlich wer die E-Mail alles bekommt.
Aber auch wenn die E-Mail nur an den Seitenbetreiber geht ist folgendes Szenario möglich: User lädt ein "böses" PHP Script auf die Webseite hoch -> Seitenbetreiber bekommt mail -> unwissender Seitenbetreiber klickt den Link in der E-Mail an -> Script wird ausgeführt und beschädigt z.B. die Webseite, oder gibt dem Angreifer die Möglichkeit auf die Seite zuzugreifen.

Also so oder so eine sehr gefährtliche Sache.
Eine einfache Dateiüberprüfung nach .php, .php3,4,5 würde schon schlimmstes verhindern.
Aber generell würde ich den ursprünglichen Dateinamen und Typ irgendwo (z.B. Datenbank) abspeichern und die Dateien einfach mit einer ID durchnummerieren.

Generell würde ich auch noch die Eingaben deutlich stärker überprüfen und nicht mit Javascript, denn im Moment muss ich nur ein @ eintragen um das Formular abzusenden.
webbi ist offline  
Alt 23.03.2007, 13:43  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

http://de.php.net/urlencode

Zitat:
Zitat von kid01
m daran hab ich ja nun gar nich gedacht.
Obwohl... Du kennst ja nicht wirklich den Pfad zum Script...
Aber ich hab eh vor nur bmp+jpg zuzulassen.
Könnte man aber alles auslesen:
PHP-Code:
<?php
highlight_file
(dirname(__FILE__).'/../dein-upload-script.php');
?>
Sogar mit Syntaxhervorhebung dann
Zergling-new ist offline  
Alt 23.03.2007, 13:48  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard

ja klar
es muss noch viel getan werden. Da aber der Websitebetreiber auch vom Fach ist, wird er php+exe usw. schön löschen. Ich hab nun erstmal eine schnelle beschränkung auf image-typen gemacht.

Das ist aber sicher auch noch nicht ausreichend vor allem aber nicht Userfreundlich! An der ganzen Seite brennt es. Ich kann leider nich alles gleichzeitig löschen. Der weg ist das Ziel!

Wenn ich die dateien Umbenenne, hat sich das problem eh erledigt. Ich dachte aber, dass es eine schnelle lösung gibt. LOL
kid01 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
dateien aus verzeichnis einzeln als mail attachment versenden mathes PHP Tipps 2008 5 17.07.2008 19:45
[Erledigt] Anhänge aus Mail per Link oder auf HDD?! TAZweb PHP Tipps 2008 18 15.07.2008 19:38
[Erledigt] Link mit mail() verschicken Clan-Opa PHP Tipps 2008 1 05.09.2007 22:29
Unterschied zwischen mail() und popen(/usr/sbin/sendmail)... DonTermi PHP Tipps 2007 8 27.03.2007 13:25
mail() und boundary Problem Gef PHP Tipps 2006 4 02.03.2006 00:47
Daten aus MySQL-abfrage zum Link mit id zusammensetzen maccoder Datenbanken 2 13.09.2005 16:49
Mail mit mail() kommt nicht an center PHP Tipps 2005-2 5 18.08.2005 13:02
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Mit der PHP mail() Funktion eine HTMl mail verschicken? PHP Tipps 2005 6 09.05.2005 07:13
php mail() header &amp;amp;amp;amp;amp;amp; Spam Problem PHP-Fortgeschrittene 4 04.05.2005 12:31
mail() - Link in der E-Mail PHP Tipps 2005 3 14.02.2005 17:59
[Erledigt] link per mail schicken lassen PHP Tipps 2005 10 08.02.2005 14:50
mail() - mail header PHP-Fortgeschrittene 2 28.09.2004 15:35
absoluter link PHP Tipps 2004 10 01.07.2004 23:00
PHP Link ??? PHP Tipps 2004 4 25.06.2004 17:24

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
\link in mail\ php, php \link in mail\, php link in email

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.