PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   PHP sicher programmieren (http://www.selfphp.de/forum/showthread.php?t=13112)

Balum82 02.04.2006 19:45:41

PHP sicher programmieren
 
Vor etwa drei Wochen hat einer mein eMailforumular für Spam missbraucht. Ich versuche ich mich mit sicherem PHP programmieren auseinandere zu setzen. Bis jetzt hab ich nur wenige gute Links gefunden, vielleicht kennt ihr ja bessere.
Vielleicht kennt einer ja auch ein Tutorial, wie man konsequent sicher programmiert.

Hier zwei coole und wichtige Links mit Kommentar:
XSS Wikipedia Artikel ist eine gute Basis
Exploit Developer Ein Blog von einem Kerl der Sicherheitslücken finden und veröffentlicht

Heinrich 02.04.2006 21:25:42

AW: PHP sicher programmieren
 
Hi,

bin gerade am selben Thema. Falls du auch liest:
"Christopher Kunz - Peter Prochaska: PHP-Sicherheit (dpunkt.verlag) - kostet halt schlappe 36 Euro. Die Jungs scheinen aber echt Profis zu sein - zu PHP und MySQL.

Deine Formular sicherst du am besten mit Prüfungen, ob der Datentyp stimmt, bestimmte Eigenschaften (z.B. Länge) und ob der Inhalt stimmt (Zahlen oder Buchstaben oder Mailsyntax).

Mit strip_tags() kannst du html- und schript-tags aus den Eingaben entfernen.

Gruß
Heinrich

Opendix 02.04.2006 21:30:40

AW: PHP sicher programmieren
 
was aber nicht gerade vile gegen spambots bringt... dafür müsstest du wohl irgend sowas einbauen das man aus einem bild irgednwelche zahlen erkenne muss...

Franzx 03.04.2006 09:03:49

AW: PHP sicher programmieren
 
Zitat:

Zitat von Opendix
was aber nicht gerade vile gegen spambots bringt... dafür müsstest du wohl irgend sowas einbauen das man aus einem bild irgednwelche zahlen erkenne muss...

Leider bringt die Zahlen-Bildergeschichte aber andere Probleme mit sich. Ich beschäftige mich nun schon eine ganze Weile mit Barrierefreiem Web und demzufolge ist dies eine Barriere. Diese nun beabsichtigte Barriere gegen Spammer schließt auch viele mögliche Nutzer aus, die bei der Nutzung des Internets auf Hilfsmittel angewiesen sind, wie z.B. einem Screenreader. Dieser Screenreader kann keine Bilder lesen und somit würde die Kontaktaufnahme durch den User nicht möglich sein.

Ich wollte dies nur mal erwähnen, da diese Thema doch mehr Beachtung braucht. Viele gute Infos gibt es unter http://www.barrierefreies-webdesign.de/

cu,
Franzx

Heinrich 03.04.2006 17:57:46

AW: PHP sicher programmieren
 
Zitat:

Zitat von Opendix
was aber nicht gerade vile gegen spambots bringt... dafür müsstest du wohl irgend sowas einbauen das man aus einem bild irgednwelche zahlen erkenne muss...

Hi,

das gibt keine 100%ige Sicherheit. Aber mit einigen Überprüfungen z.B.
preg_match => kein @ außer in Mail-Feldern,
is_numeric => hier nur Zahlen,
strlen => Längenüberprüfung der Eingabe,
Whitelist für Auswahlfelder
usw.
machst du denen schon einige Schwierigkeiten.

Habe eine Webseite, die heftig heimgesucht wird. Beim Formular ist seit den Überprüfungen Ruhe.

Gruß
Heinrich

Balum82 03.04.2006 19:59:53

AW: PHP sicher programmieren
 
Danke für die Tipps ... ich werde mal diese Woche mal dran was tun - solange bleibt das Formular off.

meikel (†) 03.04.2006 22:47:41

AW: PHP sicher programmieren
 
Zitat:

Zitat von Franzx
Leider bringt die Zahlen-Bildergeschichte aber andere Probleme mit sich. Ich beschäftige mich nun schon eine ganze Weile mit Barrierefreiem Web und demzufolge ist dies eine Barriere.

Ein barrierefreies Mail-/Kontaktformular, welches SPAM erschwert oder gar verhindert, ist technisch nicht realisierbar. Chaptcha wird ja genau deshalb eingesetzt, damit es nicht automatisch gelesen werden kann.

Wer also barrierefrei programmieren will, muß entweder mit dem SPAM und anderen Unfug leben oder auf Scripte, bei denen User Texte veröffentlichen oder Kontaktformulare ausfüllen können, verzichten.

sysop 03.04.2006 23:02:58

AW: PHP sicher programmieren
 
ich habe mir da übrigens auch was einfallen lassen. ich gehe davon aus, dass niemand innerhalb von 30 sekunden 2 mails versendet und mache das so:

ich sichere einen timestamp in den sessions und lasse ein erneutes versenden einer mail erst 30 sekunden später zu. kommt früher einer anfrage (per script z.b.) wird man rausgeworfen.

hilft zwar auch nicht 100% aber erschwert doch das versenden per script.

meikel (†) 04.04.2006 04:01:13

AW: PHP sicher programmieren
 
Zitat:

Zitat von sysop
hilft zwar auch nicht 100% aber erschwert doch das versenden per script.

Das hilft überhaupt nicht. Das SPAM Script verweigert die Annahme des Cookies, merkt sich aber SessionName und SessionID. Der nächste Request fordert das Formular an. Dabei schickt das SPAM Script die Session per GET mit. Der letzte Request ist ein POST Request mit dem Müll. Und dann fängt alles wieder von vorn an: kein Keks & keine Session = "neuer" User.

An einer gewollten Barriere führt da absolut kein Weg vorbei. Und damit auch keine OCR Tools was ausrichten können, muß das Captcha Bild so maschinenunlesbar wie möglich sein.

Einem sehbehinderten Menschen kann es wirklich zugemutet werden, mal den Nachbarn oder den Ehepartner zu bemühen, damit ein "offenes Mail-/Kontaktformular" nicht zur massiven SPAM Schleuder mutiert, unter der dann wesentlich mehr Leute zu leiden hätten.

Franzx 04.04.2006 10:13:25

AW: PHP sicher programmieren
 
Hallo meikel, ich bin so frei antworte hier gleich auf zwei deiner Postings in diesem Thread.
Zitat:

Zitat von meikel
Wer also barrierefrei programmieren will, muß entweder mit dem SPAM und anderen Unfug leben oder auf Scripte, bei denen User Texte veröffentlichen oder Kontaktformulare ausfüllen können, verzichten.

Das sehe ich aber schon anders. Das ist doch eine reine Entwicklungsfrage. Je mehr Leute sich daran setzen um eine Lösung zu finden um so schneller wird dies realisierbar sein.
Früher konnten Rollstuhlfahrer in keine Bus rein, heute werden die Busse, Strassenbahnen so gebaut. Es geht und es macht sich keiner mehr Gedanken darüber.
Wenn ich mir die Entwicklung im Automobilbau ansehe und den Fahrerleitsystemen so werden blinde Menschen bald ohne weiteres auch ans Steuer eines Autos können.
Zitat:

Zitat von meikel
Einem sehbehinderten Menschen kann es wirklich zugemutet werden, mal den Nachbarn oder den Ehepartner zu bemühen, ...

Ohne dich persönlich anzugreifen, aber dieser Spruch ist doch sehr anmaßend und antiquiert. Früher hat man die Blinden verhungern lassen, da sie keinen "Nutzen" hatten, für die Gesellschaft.

Es tut mir leid, aber wir leben nicht mehr in der Steinzeit.

cu,
Franzx


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:15:17 Uhr.

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