| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Sichere PHP Anwendung im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo, hab schonmal bisschen rumgegoogelt zu dem Thema. Wollte dennoch mal ein bisschen rumfragen, wie man seine PHP Anwendungen ...
![]() |
| | #1 (permalink) |
| Anzeige Hallo, hab schonmal bisschen rumgegoogelt zu dem Thema. Wollte dennoch mal ein bisschen rumfragen, wie man seine PHP Anwendungen inkl. Userverwaltung & Login programmiertechnisch & Konfigurationstechnisch dicht gegen XSS, SQL Injection, Datendiebstahl/identitätsklau und anderen Angriffe macht. 1. würde ich jede Get/Post-Eingabe durch diese Funktion schicken: Code: function secure_form($data) {
return strip_tags(mysql_real_escape_string(trim(stripslashes($data))));
} 3. Dateien nicht "direkt" includen, sondern über Aliase mit Switch/Case Anweisung. 4. Loginpasswörter nicht im Klartext, sondern gehasht speichern 5. Loginsystem etc. über $_Session[] 6. SSL Verschlüsselt 7. http://www.heise.de/security/Grundsi...rtikel/96564/3 8. Allgemein so wenig wie möglich Daten beim Client speichern Setzt die Liste fort ;) Würdet ihr in der Funktion bei 1. noch was hinzufügen, was ich vergessen habe? Danke für eure Hilfe | |
| | |
| | #2 (permalink) |
| Moderator ![]() | ich arbeite mit nem ganzen haufen vhosts im apache, und da override ich gerne noch ein paar php sachen damit ich die nicht global setzen muss. kleines beispiel: <VirtualHost *:80> ServerName a.b.c DocumentRoot /a/b/c php_admin_flag allow_url_fopen off php_admin_value open_basedir /a/b/c php_admin_flag safe_mode on php_admin_flag safe_mode_gid on </VirtualHost> Eventuell kannst du damit noch was anfangen (auch wenns nicht ganz zum thema gehört isses manchmal praktisch ^^) |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Guest Likes: | Warum nicht (1) und (2) zusammenfassen: Code: function secureDataFromUnsecureSource($data) {
$data=trim(htmlentities($data,ENT_QUOTES));
if(!get_magic_quotes_gpc())$data=mysql_real_escape_string($data);
return $data;
} - Desweiteren wären PHP Data Objects für Datenbankabfragen interessant, da man hier über Bindparam auch relativ einfach absichern kann - Eine weitere Möglichkeit wäre die Nutzung von mod_secure gegen unzulässige Eingaben. |
|
| | #4 (permalink) |
| Registriert seit: 21.10.06 ![]() Likes: 0 | Ich benutze folgende Zeilen gegen SQL-Injection : Code: $ArrayList = array("_GET", "_POST");
foreach($ArrayList as $gblArray) {
$keys = array_keys($$gblArray);
foreach($keys as $key) {
mysql_escape_string(${$gblArray}[$key]);
strip_tags(${$gblArray}[$key]);
@$$key = trim(${$gblArray}[$key]);
}
} |
| | |
| | #5 (permalink) |
| Moderator ![]() Registriert seit: 30.03.04 ![]() Likes: 14 | Hallo, das Thema ist viel zu Komplex, um in einer 8. Punkteliste alles abzuhacken. Gute Seiten zum Thema: www.php-sicherheit.de (Buch) www.cms-sicherheit.de (Tutorials) |
| | |
| | #6 (permalink) | |
| Themenstarter | @xeno: Danke, naja sowas in die Richtung habe ich schon auch mit gemeint ![]() Zitat:
allerdings kann man die Daten aus der Datenbank ja dann nicht mehr ohne weiteres außerhalb von der Webapplikationen verwenden. Zum Beispiel in einem C/C++ Programm. Kommt dann halt darauf an, ob man das muss. Danke schonmal für die schnellen Antworten, immer weiter so | |
| | |
| | #7 (permalink) |
| Member of Honour ![]() | hier nochmal der Link zu meinem Vortrag, den ich neulich in Internet Technologie gehalten habe: http://studium.cs-bergann.de/inet/phpsecurity/ dort sind ein paar Szenarien aufgezählt (unsicherer Code + Kommentare, wie sich der Code ausnutzen lässt + Tipps, wie man sowohl programmier-technisch als auch konfig-technisch mehr Sicherheit erreichen kann) es ist zwar auch nur ganz an der Oberfläche gekratzt (man könnte ja über jede PHP-Konfiguration und ihre Auswirkungen oder über jeden Angriffs-Typ etc. jeweils nen Vortrag halten...), aber vieleicht hilft's dir oder dem ein oder anderem... |
| | |
| | #8 (permalink) |
| Themenstarter | Wären die Funktionen nicht alle außer Kraft gesetzt wenn man Zeichensätze verwendet, die von den Funktionen nicht unterstützt werden? Das wäre zwar am Ende ne ziemliche Frickelarbeit, aber es gibt ja genug Leute mit viel Zeit ![]() Kann man mit PHP einen bestimmten Eingabe-Zeichensatz erzwingen bzw. konvertieren? |
| | |
| | #9 (permalink) | |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 443 | Zitat:
Code: <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> Siehe dazu z.B. auch http://www.phpwact.org/php/i18n/charsets
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ | |
| | |
| | #10 (permalink) |
| Themenstarter | Gibt es eigentlich mittlerweile einen offiziellen Release-Termin für PHP6 ? Ich konnte nirgends verlässliche Angaben finden. Mit PHP6 sollten diese Zeichensatz-Probleme ja eigentlich gelöst sein. Was haltet ihr hiervon?: http://www.hardened-php.net/home.8.html |
| | |
| | #11 (permalink) | |
| Registriert seit: 21.10.06 ![]() Likes: 0 | Zitat:
Suhosin läuft mittlerweile auch bei mir auf dem Server und es tut seinen Dienst. Wie man es richtig installiert wurde mir hier im Habo schon erklärt siehe Boardsuche. LG,weau | |
| | |
| | #12 (permalink) | |||||||
| Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
![]() Zitat:
Schöner Artikel! Zitat:
__________________ | ||||||||
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Sichere Homeserverlösung | xblax | Linux/UNIX | 2 | 07.05.09 21:46 |
| "sichere HP" erstellen | ghost | Webmaster-Security | 13 | 23.08.07 18:25 |
| C++-anwendung macht noch eine anwendung | Blacki | Code Kitchen | 5 | 29.07.06 16:26 |
| wie sichere ich outlook2000? | chäkka | Die Problemzone | 3 | 14.12.03 01:48 |