17. Mai 2012 02:29:58
Navigation
· Startseite
· Artikel
· Forum
· Gästebuch
· Links
· Fotogalerie
· News Kategorien
· FAQ
· Link us
· Suche
· Impressum
PHP-Fusion
· Downloads
· Roadmap/Bugtracker
· PHP-Fusion Suche
Fun
· Games
· Witze
· Quiz (in development)
Downloads

Neue Downloads

· Gray_Theme (Nic...
· Blue_Flash
· Profile.php V7....
· ShoutBox V2.2
· Forum Extension...

Top 5 Downloads

· PHP-Fusion: Inf... [35099]
· PHP-Fusion: Inf... [34412]
· PHP-Fusion: Inf... [19598]
· PHP-Fusion: Inf... [18727]
· PHP-Fusion: Inf... [14894]
Partner
geld-verdienen-88x31
Neueste Artikel
· EN: How to change th...
· Inhalt der Registrie...
· Favicon in PHP-Fusio...
· Wie kann man die Anz...
· Globale Variablen un...
Game Events
Latest scores
Schlumpf2602
Scored 120 Points
In nineballibpg
feuerwehr
Scored 470 Points
In pacman
bobbel
Scored 400 Points
In goldminer
bobbel
Scored 629 Points
In bubble_shoot
calimero
Scored 734 Points
In helicopter
Latest Champions
calimero
Is the New Champion
In helicopter
with 734 Points.
Basti
Is the New Champion
In Glumballs
with 24276 Points.
Basti
Is the New Champion
In 983
with 640 Points.
C@rlos
Is the New Champion
In 3dgolf9hole_1
with 45 Points.
Jante
Is the New Champion
In 2dknockout
with 10 Points.
Arcade Best
# Name Scores
 AlbaBin 19
 Megalega 9
 ThePostman 9
 ritchi 6
 djbigbaer 5
 Wildfire 5
 Basti 3
 Shamania 3
 Pippilotta 3
 PHPexpert 3
Benutzer Online
· Gäste Online: 6

· Mitglieder Online: 0

· Registrierte Mitglieder: 2,602
· Neustes Mitglied: Schlumpf2602
letzte User
· coco2102:36:50
· Seehund02:39:44
· Nancy04:59:43
· Webbi05:33:56
· Gaboe18:18:56
· FantasyGirl 1 Tag
· Giuseppe 1 Tag
· Blackcat 1 Tag
· schnecke 1 Tag
· Daddy 1 Tag

Wie schreibe ich eine sichere Infusion?
Wie schreibe ich eine sichere Infusion/Modifikation?

Wie wir alle wissen, wird Sicherheit beim CMS "PHP-Fusion" groß geschrieben. Es gibt vordefinierte Funktionen von PHP-Fusion, die alle Infusionen und Modifikationen sicherer machen. Im nachfolgenden Artikel beschreibe ich, welche Funktionen es gibt und wie man sie verwendet.

1) User Rechte:
Um den Rang/ das Level eines Users oder die Zugehörigkeit zu einer Gruppen zu überprüfen, benutze immer die Konstanten iGUEST, iUSER, iMEMBER, iADMIN, iSUPERADMIN, iUSER_RIGHTS, iUSER_GROUPS und die Funktionen checkrights(), getuserlevel(), checkgroup(), groupaccess().
Versuche keine eigenen, "besseren" Abfragen zu schreiben ;)

2) MySQL Abfragen:
Verwende immer die internen MySQL-Funktionen von PHP-Fusion, um deine Queries auszuführen:
- dbquery() - Sendet eine Anfrage an MySQL
- dbrows() - Liefert die Anzahl der Datensätze im Ergebnis
- dbcount() - Zählt Daten im Ergebnis
- dbresult() - Liefert Ergebnis
- dbarray() - Liefert einen Datensatz als assoziatives Array
- dbarraynum() - Liefert einen Datensatz als numerisches Array

Diese Funktionen sollten für den gewöhnlichen Abfragen genügen.

Tipp: Versuche deine Queries zu optimieren. Es ist nicht so gut, wenn Tausende von Querys bei einem Seitenaufruf ausgeführt werden ;)

3) $_POST und $_GET:

a) Vergesse nie, alle Eingaben der User auf gefährlichen HTML oder PHP Code zu überprüfen und zu "strippen"!
Verwende die Funktion stripinput() bevor du etwas in deine mysql-Tabelle schreiben lässt.

Beispiel:
$user_data = stripinput($POST['user_data']).

Diese Funktion ersetzt den eventuell gefährlichen Code mit den HTML-Zeichen

b) Wenn deine POST/GET-Variable eine Zahl sein soll, dann benutzt die Funktion isNum().
Wenn die übermittelte Zahl in einem mysql-Query benötigt wird, dann kannst du zum Beispiel folgenden Code verwenden, bevor du etwas in deine mysql-Tabelle schreibst:

if (!isNum($_POST['my_number'])) fallback("index.php");

oder auch:

$userzahl = isNum($_POST['user_zahl']) ? $_POST['user_zahl'] : $festgelegte_zahl;

Beachte:
- Sende niemals sensible Daten wie Passwörter über GET
- Versuche immer in deiner mysql-Datenbank mit ID-Felder zu arbeiten. Es ist einfacher und sicherer. Es ist viel einfacher zu überprüfen, ob dieser Wert numerisch ist (mit der Funktion isNum().), als einen String zu parsen und zu überprüfen, ob er sicher ist oder nicht.

4) sonstige Sachen:
- Verwende immer folgenden Code am Anfang des Adminbereichs der Infusion:
if (!checkrights("IP")) fallback(BASEDIR."index.php");

- Verwende immer folgenden Code am Anfang des Infusion-Scripts (Panel):
if (!defined("IN_FUSION")) { header("Location:../../index.php"); exit; }

- Verwende immer folgenden Code am Anfang der Include-Dateien:
if (!defined("IN_FUSION")) { header("Location:../index.php"); exit; }

- Erstelle eine leere index.php im Ordner deiner Infusion.

- Überprüfe hochgeladene Bilder immer mit der Funktion verify_image().

- Hinterlasse keine e_notice Warnungen. Vergesse nicht, Variablen mit einem Standard-Wert zu deklarieren.

Beispiel ohne Deklaration:

$otherdata = 'a';
$data = array('b', 'c', 'd');
for ($i=0;$i
if ($otherdata==$data[$i]) $result = "OK";
}
$final_result = $result;

Das obere Script würde eine e_notice Warnung hervorrufen: Variable $result not defined at line XXX.
Bei folgendem Code würde keine e_notice Warnung auftauchen:

$otherdata = 'a';
$data = array('b', 'c', 'd');
$result = "DEFAULT VALUE"; //diese Zeile fixt die Warnung
for ($i=0;$i
if ($otherdata==$data[$i]) $result = "OK";
}
$final_result = $result;


Dieser Artikel umfasst nicht alle sicherheitsrelevanten Schreibweisen, aber er soll helfen sichere Infusionen und Modifikationen für PHP-Fusion zu schreiben.

Falls noch Fragen auftauchen, bitte im Forum stellen!

Englische Urversion geschrieben von Wooya, von mir übersetzt und erweitert ;-)
Kommentare
Dieser Beitrag wurde noch nicht kommentiert.
Kommentar schreiben
Nur Mitgliedern ist das Kommentieren gestattet.
Bewertungen
Aktuelle Bewertung: (Insgesamt: 0 Bewertungen)  
Aktuelle Durchschnittsbewertung: 0 Sterne
Share this article
URL:
BB-Code:
HTML:
AddThis:
Share |
Login
Benutzername

Passwort



Noch kein Mitglied?
Registriere dich jetzt.

Passwort vergessen?
Jetzt ein neues Passwort zuschicken lassen.
Sprachen
Sponsor
Shoutbox
Gästen ist das schreiben von Mitteilungen nicht erlaubt.


User Avatar
Mix Explosion Andy
11.05.2012 10:01
Ich kenne mich mit PHP Fusion leider nicht so aus. Von daher suche ich immer Leute, die mir bereit sind meine Radioseite aufzubauen.

User Avatar
Mix Explosion Andy
11.05.2012 10:00
Ich muss jetzt mal ein riesen Lob an den Pagebetreiber los werden. Echt HAMMER die Page

No User Avatar
Data
07.04.2012 17:18
Frohes Osterfest Grin

User Avatar
Basti
31.03.2012 11:01
Gästebuch wurde aufgeräumt Smile

User Avatar
zoc
05.03.2012 19:39
Tja Janni. Hab ihn schon angeschrieben, aber noch keine Reaktion. Ab und an räum ich mal ein bisschen auf, aber mehr nicht ;-)

No User Avatar
Janilein
28.02.2012 19:44
Basti, du solltest dich echt mal um dein Gästebuch hier auf der Seite kümmern. Shock

No User Avatar
reggeraktion
19.12.2011 14:14
also auf meiner webseite habe ich mittels einer htaccess datei alle chinesischen ips geblockt, seitdem war schluss Smile

User Avatar
zoc
10.11.2011 14:14
Und wieder spammt China, diesmal 124.160.102.138. Basti, tu was ... China einfach komplett sperren. Ist eh ne Diktatur, das macht nix Smile

User Avatar
DJ_Nightlife68
24.10.2011 16:09
tach leute Wink

User Avatar
Dobermann
18.10.2011 20:17
Auch mal Nabend sagen und danke Basti, deine Infos und Downloads haben mir sehr geholfen , weiter so und LOB für deine Arbeit

Seitenaufbau: 0.17 Sekunden - 56 Queries 3,889,187 eindeutige Besuche