| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

05-05-2010, 00:42
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
@cosinus: Warum das urldecode?
@onemornerd: Wieso nach %0d und %0a testen? Entweder begreife ich es nicht, wie URL-Escape-Sequenzen schädlich sein können oder es ist einfach überflüssig, die abzutesten.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

05-05-2010, 00:47
|
|
cosinus
Registrierter Benutzer
|
|
Registriert seit: Jan 2003
Beiträge: 24
|
|
Zitat:
Zitat von onemorenerd
Na wenn du dich mit regulären Ausdrücken nicht so richtig auskennst, dann geht es auch so:
PHP-Code:
$input = $_POST['email'] . $_POST['subject']; if (strpos($input, "\n") !== false || strpos($input, "\r") !== false || stripos($input, '%0a') !== false || stripos($input, '%0d') !== false) { exit(); }
|
Oh - danke...
Für PHP4 nehme ich dann nur strpos() - wird bestens funktionieren denke ich
Grüsse
Cosinus
*join*
Zitat:
Zitat von AmicaNoctis
@cosinus: Warum das urldecode?
@onemornerd: Wieso nach %0d und %0a testen? Entweder begreife ich es nicht, wie URL-Escape-Sequenzen schädlich sein können oder es ist einfach überflüssig, die abzutesten.
|
... damit aus '%0a' '\n' wird?
Grüsse
Cosinus
__________________
Wer mein jemand zu sein,
hört auf jemand zu werden...!
Geändert von AmicaNoctis (05-05-2010 um 00:50 Uhr)
Grund: Doppelposting
|

05-05-2010, 00:53
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von cosinus
... damit aus '%0a' '\n' wird?
|
Aber wo, wie, warum und wann sollte das denn passieren? PHP macht das schon selber und es komm bereits als \n an, man müsste %25%0a posten, damit PHP es zu %0a decodiert, aber was hätte das für ein Gefahrenpotenzial in einem E-Mail-Header?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

05-05-2010, 03:30
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Eigentlich bräuchte man nur \r\n suchen. Aber Mailserver rangieren gleich hinter Browsern was die eigenmächtige "Korrektur der Eingabe" angeht.
Die Expansion von \n zu \r\n hat es sogar ins PHP-Manual geschafft.
Die Interpretation von Hexcodes ist mir bisher noch nicht untergekommen, aber Vorsicht ist besser als Nachricht.
|

05-05-2010, 03:35
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von onemorenerd
Aber Mailserver rangieren gleich hinter Browsern was die eigenmächtige "Korrektur der Eingabe" angeht.
Die Expansion von \n zu \r\n hat es sogar ins PHP-Manual geschafft.
|
Das hat ja nichts mit dem Mailserver zu tun, sondern mit der Implementation von sendmail und der Tatsache, dass UNIX nun mal nur LF als Zeilenumbruch benutzt.
Zitat:
Zitat von onemorenerd
Die Interpretation von Hexcodes ist mir bisher noch nicht untergekommen, aber Vorsicht ist besser als Nachricht. 
|
Ich seh da trotzdem keinen Sinn drin. Hexcodes für Zeilenumbrüche könnte man genausogut als 0x0a, \0a, #0a, $0a angeben und die könnten theoretisch blödsinnigerweise von einem Mailserver interpretiert werden, aber die Chance ist genauso niedrig wie bei %0a. Warum aber wird das als böses Zeichen besonders behandelt? Das ergibt keinen Sinn.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|