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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
06.08.2005, 13:53:14
|
|
Junior Member
|
|
Registriert seit: May 2003
Ort: CH Zürich
Alter: 66
Beiträge: 352
|
|
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
|
07.08.2005, 09:59:26
|
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($suchmuster, substr($artikel,0), $trefferartikel);
preg_match($suchmuster, substr($motorrad,0), $treffermotorrad);
preg_match($suchmuster, substr($typ,0), $treffertyp);
preg_match($suchmuster, substr($bj,0), $trefferbj);
preg_match($suchmuster, substr($ez,0), $trefferez);
preg_match($suchmuster, substr($tuv,0), $treffertuv);
preg_match($suchmuster, substr($beschreibung,0), $trefferbeschreibung);
preg_match($suchmuster, substr($besonderes,0), $trefferbesonderes);
preg_match($suchmuster, substr($tel,0), $treffertel);
preg_match($suchmuster, substr($handy,0), $trefferhandy);
preg_match($suchmuster, substr($mail,0), $treffermail);
preg_match($suchmuster, substr($name,0), $treffername);
preg_match($suchmuster, substr($strasse,0), $trefferstrasse);
preg_match($suchmuster, substr($plz,0), $trefferplz);
preg_match($suchmuster, substr($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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
if(empty($err)) {
|
07.08.2005, 10:01:54
|
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($suchmuster, substr($artikel,0), $trefferartikel);
preg_match($suchmuster, substr($motorrad,0), $treffermotorrad);
preg_match($suchmuster, substr($typ,0), $treffertyp);
preg_match($suchmuster, substr($bj,0), $trefferbj);
preg_match($suchmuster, substr($ez,0), $trefferez);
preg_match($suchmuster, substr($tuv,0), $treffertuv);
preg_match($suchmuster, substr($beschreibung,0), $trefferbeschreibung);
preg_match($suchmuster, substr($besonderes,0), $trefferbesonderes);
preg_match($suchmuster, substr($tel,0), $treffertel);
preg_match($suchmuster, substr($handy,0), $trefferhandy);
preg_match($suchmuster, substr($mail,0), $treffermail);
preg_match($suchmuster, substr($name,0), $treffername);
preg_match($suchmuster, substr($strasse,0), $trefferstrasse);
preg_match($suchmuster, substr($plz,0), $trefferplz);
preg_match($suchmuster, substr($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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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 ß.";
}
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
|
07.08.2005, 10:21:04
|
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).
|
07.08.2005, 17:20:50
|
|
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.
|
08.08.2005, 18:06:22
|
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
|
08.08.2005, 21:10:32
|
|
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).
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 11:10:51 Uhr.
|