---
title: "wt_doorman: Vorstellung der Sicherheitsklasse"
url: "https://www.typo3.net/d/82044-wt-doorman-vorstellung-der-sicherheitsklasse"
source: "typo3.net"
tags: ["Extensions","Vorstellung","Frage","PHP","Sicherheit"]
created: "2008-09-22"
last_reply: "2010-07-06"
replies: 5
solved: false
page: 1
pages: 1
lang: "de"
---

# wt_doorman: Vorstellung der Sicherheitsklasse

Extensions › Vorstellung · 5 Antworten · gestartet 2008-09-22

## Eröffnungsbeitrag

**einpraegsam.​net** · 2008-09-22 · [Beitrag #1](https://www.typo3.net/d/82044-wt-doorman-vorstellung-der-sicherheitsklasse/1)

wt_doorman ist eigentlich nur für Entwickler interessant - alle anderen schnell zum nächsten Thema weiterspringen...

**Anforderungen:**
Damit piVars besser vor XSS und SQL Injections geschützt sind, ist es sinnvoll diese ausführlich zu filtern. Habe hier auch erst Mal durch Schaden lernen müssen :D
Infos wie man sich vor XSS und SQL Injections schützen kann:
<http://www.php.de/beitragsarchiv/5621-php-und-xss.html>

**Idee:**
Da ich eine Sicherheitsklasse, die mehr oder weniger immer das gleiche macht, in powermail, wt_directory, etc... einsetze, bin ich auf den Gedanken gekommen, diese zu veröffentlichen.
Damit lassen sich auch ältere Extensions abriegeln.

In einem Array soll definiert werden, welche piVars erlaubt sind und was diese beinhalten dürfen:
Integer (nur Zahl), Alphanum (nur Zahlen, Buchstaben, Leerzeichen), Text (Filterung auf Anführungszeichen, etc...) oder ein bestimmter Wert
Nach einer Definition werden die piVars einer Sicherheitsklasse übergeben und diese gibt ein gefiltertes Array zurück.

**Beispiel:**
tx_wtdirectory_pi1[show] darf nur Zahlen beinhalten
tx_wtdirectory_pi1[filter][name] Darf keine verbotenen Zeichen beinhalten
[Bild: design-and-style.de/…/wt_doorman.jpg](http://www.design-and-style.de/temp/typo3/wt_doorman.jpg)

**Umsetzung:**
TYPO3 Extension wt_doorman installieren damit die Klasse zur Verfügung steht.

Beispieleinbindung:

```php
if(t3lib_extMgm::isLoaded('wt_doorman', 0)) require_once(t3lib_extMgm::extPath('wt_doorman').'class.tx_wtdoorman_security.php'); // load security class

class tx_yourextension_pi1 {
	
    // main function of your extension
    function main($content,$conf) {
        $this->secure(); // Security options for piVars
        
        return $this->pi_wrapInBaseClass($this->piVars['uid'].$this->piVars['description'].$this->piVars['filter']['name']);
    }
	
	
	// Function secure() uses wt_doorman to clear piVars
	function secure() {
		if (class_exists('tx_wtdoorman_security')) {
			$this->sec = t3lib_div::makeInstance('tx_wtdoorman_security'); // Create new instance
			$this->sec->secParams = array ( // Allowed piVars type (int, text, alphanum, "value")
				'uid' => 'int',
				'description' => 'text',
				'filter' => array (
					'name' => 'alphanum'
				)
			);
			$this->piVars = $this->sec->sec($this->piVars); // overwrite piVars piVars from doorman class
		} else die('Extension wt_doorman not found!');
	}
}
```

Grüße, Alex

## Antworten

### [#2](https://www.typo3.net/d/82044-wt-doorman-vorstellung-der-sicherheitsklasse/2) · Ledoux · 2009-01-19

Hi Alex

Ich wollte deine Extension wt_gallery aussprobieren, bin dann aber an der wt_doorman gescheitert  :x

Ich sehe in deinem HowTo nicht, wo ich den Code in der Extension, TER, TypoScript oder wo auch immer einfügen soll  #angry#

Ich war so glücklich mal eine gute und schöne Gallerie zu finden, hilf mir noch, dass sie bei mir auch funzt  #paralyzed#

LG Mathieu

### [#3](https://www.typo3.net/d/82044-wt-doorman-vorstellung-der-sicherheitsklasse/3) · einpraegsam.​net · 2009-01-19

Hä?

Wo ist das Problem?
Du musst überhaupt nichts per Typoscript einbinden!

### [#4](https://www.typo3.net/d/82044-wt-doorman-vorstellung-der-sicherheitsklasse/4) · fragile74 · 2009-03-26

Hi,

kann ich Variablen wie "[filter][name]" auch über den Extension Manager Config-Dialog im Feld "Global Check - Vars definition" einstellen ?

Bei Variablen der "ersten Ebene" (z.b. tx_wtdirectory_pi1|filter = ...) funktioniert wt_doorman .
Ich muss dazu sagen, daß ich alle dort nicht konfigurierten Variablen "clearen" lassen möchte.

Jedenfalls funktioniert bei mir ein Konstrukt ala "tx_wtdirectory_pi1|filter|name = " in diesem Dialog nicht, die entsprechende Variable(n) wird trotzdem ausgefiltert...

Any tipps ?
TYPO3 Version 3.2.6 mit PHP 5.2.6 und der neuesten wt_doorman-Version....

### [#5](https://www.typo3.net/d/82044-wt-doorman-vorstellung-der-sicherheitsklasse/5) · einpraegsam.​net · 2009-03-26

Eventuell ein Bug in doorman - müsste ich mir nochmal genau ansehen...

### [#6](https://www.typo3.net/d/82044-wt-doorman-vorstellung-der-sicherheitsklasse/6) · srtypo3 · 2010-07-06

> **einpraegsam.net schrieb:**
>
> Eventuell ein Bug in doorman - müsste ich mir nochmal genau ansehen...

Auch wenn der Beitrag schon sehr alt ist:
gibt es jetzt eine Möglichkeit Variablen wie "[filter][name]" auch über den Extension Manager im Feld "Global Check - Vars definition" einzustellen?
Das wäre super!

Viele Grüße
Sebastian

---

Quelle: „wt_doorman: Vorstellung der Sicherheitsklasse“, typo3.net, https://www.typo3.net/d/82044-wt-doorman-vorstellung-der-sicherheitsklasse
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
