SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #21  
Alt 06.08.2005, 13:53:14
Benutzerbild von Jürg
Jürg Jürg ist offline
Junior Member
 
Registriert seit: May 2003
Ort: CH Zürich
Alter: 66
Beiträge: 352
Jürg eine Nachricht über Skype™ schicken
AW: Sicherheit: Welche Zeichen aussperren

Das Ganze könne zu restriktiv sein, insbesondere bei textarea. Ich verwende beispielsweise immer:
PHP-Code:
$vname trim(strip_tags($_POST['vname'])); 
trim entfernt die Leerschläge vorn und hinten
strip_tags entfernt alle Tags
__________________
www.zudila.ch
Mit Zitat antworten
  #22  
Alt 07.08.2005, 09:59:26
verrückter verrückter ist offline
Anfänger
 
Registriert seit: Jul 2005
Beiträge: 29
AW: Sicherheit: Welche Zeichen aussperren

Also ich habe es mit einigen Sachen ausprobiert, und es hat immer Alarm geschlagen! Also gehe ich mal davon aus, dass es funzt.
Aber mal eine ganz andere Frage. Man kann doch auch von der seite www.xyz.de ein Formular ausfüllen lassen und dies dann auf www.klf.de schicken und dort verarbeiten lassen oder? Also macht es doch eigentlich gar keinen Unterschied wie ich ein Formularfeld aufbaue, textera oder normaler text oder so. Ein Hacker könnte doch einfach sich mein Formular nehmen, alle Felder in textera umformen und dann abschicken oder?
Kann ich für folgendes noch eine kürzere Methode wählen?
PHP-Code:
$suchmuster '/^[a-z0-9 ß\-,.!?\/@&äüö]+$/i';
preg_match($suchmustersubstr($artikel,0), $trefferartikel);
preg_match($suchmustersubstr($motorrad,0), $treffermotorrad);
preg_match($suchmustersubstr($typ,0), $treffertyp);
preg_match($suchmustersubstr($bj,0), $trefferbj);
preg_match($suchmustersubstr($ez,0), $trefferez);
preg_match($suchmustersubstr($tuv,0), $treffertuv);
preg_match($suchmustersubstr($beschreibung,0), $trefferbeschreibung);
preg_match($suchmustersubstr($besonderes,0), $trefferbesonderes);
preg_match($suchmustersubstr($tel,0), $treffertel);
preg_match($suchmustersubstr($handy,0), $trefferhandy);
preg_match($suchmustersubstr($mail,0), $treffermail);
preg_match($suchmustersubstr($name,0), $treffername);
preg_match($suchmustersubstr($strasse,0), $trefferstrasse);
preg_match($suchmustersubstr($plz,0), $trefferplz);
preg_match($suchmustersubstr($ort,0), $trefferort);
if(
$trefferartikel[0]!=$artikel) {
                        
$err[] = "<br>Sie haben ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
    }
    elseif(
$treffermotorrad[0]!=$motorrad) {
                        
$err[] = "<br>Im Feld Motorrad haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$treffertyp[0]!=$typ) {
                        
$err[] = "<br>Im Feld Motorrtyp haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferbj[0]!=$bj) {
                        
$err[] = "<br>Im Feld Baujahr haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferez[0]!=$ez) {
                        
$err[] = "<br>Im Feld EZ haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$treffertuv[0]!=$tuv) {
                        
$err[] = "<br>Im Feld TÜV haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";            
            }
    elseif(
$trefferbeschreibung[0]!=$beschreibung) {
                        
$err[] = "<br>Im Feld Beschreibung haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferbesonderes[0]!=$besonderes) {
                        
$err[] = "<br>Im Feld Besonderes haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$treffertel[0]!=$tel) {
                        
$err[] = "<br>Im Feld Tel haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferhandy[0]!=$handy) {
                        
$err[] = "<br>Im Feld Handy haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$treffermail[0]!=$mail) {
                        
$err[] = "<br>Im Feld Mail haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$treffername[0]!=$name) {
                        
$err[] = "<br>Im Feld Name haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferstrasse[0]!=$strasse) {
                        
$err[] = "<br>Im Feld Strasse haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferplz[0]!=$plz) {
                        
$err[] = "<br>Im Feld PLZ haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferort[0]!=$ort) {
                        
$err[] = "<br>Im Feld Ort haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
if(empty(
$err)) { 
Mit Zitat antworten
  #23  
Alt 07.08.2005, 10:01:54
verrückter verrückter ist offline
Anfänger
 
Registriert seit: Jul 2005
Beiträge: 29
AW: Sicherheit: Welche Zeichen aussperren

Also ich habe es mit einigen Sachen ausprobiert, und es hat immer Alarm geschlagen! Also gehe ich mal davon aus, dass es funzt.
Aber mal eine ganz andere Frage. Man kann doch auch von der seite www.xyz.de ein Formular ausfüllen lassen und dies dann auf www.klf.de schicken und dort verarbeiten lassen oder? Also macht es doch eigentlich gar keinen Unterschied wie ich ein Formularfeld aufbaue, textera oder normaler text oder so. Ein Hacker könnte doch einfach sich mein Formular nehmen, alle Felder in textera umformen und dann abschicken oder?
Kann ich für folgendes noch eine kürzere Methode wählen?
PHP-Code:
$suchmuster '/^[a-z0-9 ß\-,.!?\/@&äüö]+$/i';
preg_match($suchmustersubstr($artikel,0), $trefferartikel);
preg_match($suchmustersubstr($motorrad,0), $treffermotorrad);
preg_match($suchmustersubstr($typ,0), $treffertyp);
preg_match($suchmustersubstr($bj,0), $trefferbj);
preg_match($suchmustersubstr($ez,0), $trefferez);
preg_match($suchmustersubstr($tuv,0), $treffertuv);
preg_match($suchmustersubstr($beschreibung,0), $trefferbeschreibung);
preg_match($suchmustersubstr($besonderes,0), $trefferbesonderes);
preg_match($suchmustersubstr($tel,0), $treffertel);
preg_match($suchmustersubstr($handy,0), $trefferhandy);
preg_match($suchmustersubstr($mail,0), $treffermail);
preg_match($suchmustersubstr($name,0), $treffername);
preg_match($suchmustersubstr($strasse,0), $trefferstrasse);
preg_match($suchmustersubstr($plz,0), $trefferplz);
preg_match($suchmustersubstr($ort,0), $trefferort);
if(
$trefferartikel[0]!=$artikel) {
                        
$err[] = "<br>Sie haben ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
    }
    elseif(
$treffermotorrad[0]!=$motorrad) {
                        
$err[] = "<br>Im Feld Motorrad haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$treffertyp[0]!=$typ) {
                        
$err[] = "<br>Im Feld Motorrtyp haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferbj[0]!=$bj) {
                        
$err[] = "<br>Im Feld Baujahr haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferez[0]!=$ez) {
                        
$err[] = "<br>Im Feld EZ haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$treffertuv[0]!=$tuv) {
                        
$err[] = "<br>Im Feld TÜV haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";            
            }
    elseif(
$trefferbeschreibung[0]!=$beschreibung) {
                        
$err[] = "<br>Im Feld Beschreibung haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferbesonderes[0]!=$besonderes) {
                        
$err[] = "<br>Im Feld Besonderes haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$treffertel[0]!=$tel) {
                        
$err[] = "<br>Im Feld Tel haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferhandy[0]!=$handy) {
                        
$err[] = "<br>Im Feld Handy haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$treffermail[0]!=$mail) {
                        
$err[] = "<br>Im Feld Mail haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$treffername[0]!=$name) {
                        
$err[] = "<br>Im Feld Name haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferstrasse[0]!=$strasse) {
                        
$err[] = "<br>Im Feld Strasse haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferplz[0]!=$plz) {
                        
$err[] = "<br>Im Feld PLZ haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
    elseif(
$trefferort[0]!=$ort) {
                        
$err[] = "<br>Im Feld Ort haben Sie ein Sonderzeichen benutzt. Bei uns sind nur folgende Zeichen erlaubt: a-z, A-Z, 0-9 sowie das Leerzeichen, das Minus und &szlig;.";
            }
if(empty(
$err)) {
/* jetzt wird hochgeladen
*/
}
else {
    echo
"<h1>Ein Fehler ist aufgetreten!!!</h1>";
    foreach(
$err as $error)
    echo 
"$error<br>Bitte kontrollieren sie diese Felder!<br><br> 
geht das mit den if schleifen kürzer?

Danke
Mit Zitat antworten
  #24  
Alt 07.08.2005, 10:21:04
Marilu Marilu ist offline
Member
 
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
AW: Sicherheit: Welche Zeichen aussperren

Zitat:
Zitat von verrückter
geht das mit den if schleifen kürzer?
Es gibt wirklich keine if-Schleifen. Wenn Du die if-Anweisung meinst, könntest Du sie durch switch/Case ersetzen, das ist übersichtlicher.

Da Du aber immer so ziemlich das gleiche ausgibst, könnte man das durch eine for- oder while-Schleife realisieren (das sind wirklich Schleifen).
Mit Zitat antworten
  #25  
Alt 07.08.2005, 17:20:50
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Sicherheit: Welche Zeichen aussperren

Zitat:
Zitat von verrückter
Man kann doch auch von der seite www.xyz.de ein Formular ausfüllen lassen und dies dann auf www.klf.de schicken und dort verarbeiten lassen oder? Also macht es doch eigentlich gar keinen Unterschied wie ich ein Formularfeld aufbaue, textera oder normaler text oder so.
Mit den unterschiedlichen Eingabefeldern machst du es dem "normalen" Benutzer allerdings wesentlich einfacher. So weiß er, welche Optionen er bei Check- bzw. Radioboxen auswählen kann bzw. ob Zeilenumbrüche erlaubt sind (textarea) oder nicht (input type="text"). Für alles weitere baut man ja entsprechende Überprüfungen ein.
Mit Zitat antworten
  #26  
Alt 08.08.2005, 18:06:22
verrückter verrückter ist offline
Anfänger
 
Registriert seit: Jul 2005
Beiträge: 29
AW: Sicherheit: Welche Zeichen aussperren

Danke euch beiden.
@Marilu ist gemerkt, dass es keine if-Schleifen gibt, sondern If-Anweisungen.

Ein Problem gibt es aber noch :(
Es werden im Moment auch Zeilenumbrüche ausgefiltert, was muss ich eingeben, um die zu erlauben?
Danke
Mit Zitat antworten
  #27  
Alt 08.08.2005, 21:10:32
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Sicherheit: Welche Zeichen aussperren

Zeilenumbrüche sind \n (Linux), \r\n (Windows) bzw. \r (Mac).
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
>1000 Zeichen in db einfügen verrückter MySQLi/PDO/(MySQL) 2 30.07.2005 22:56:53
mailversand: eingefügte zeichen gerhard PHP Grundlagen 3 18.01.2005 10:35:23
Die Ersten 5 Zeichen eines Strings LordFuture PHP Grundlagen 5 10.08.2004 20:03:25
fsockopen: seltsame Zeichen! sourcecode PHP für Fortgeschrittene und Experten 3 22.11.2003 11:41:30
$text, nach gewissen anz. v. zeichen text einfügen flobee PHP für Fortgeschrittene und Experten 3 13.09.2002 20:46:51


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:10:51 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt