Kategorien
- [-]Developer (104)
- API (15)
- Backend (17)
- Extensions (29)
- HTML & CSS (4)
- Typoscript (33)
- [-]Redaktionelles (21)
- Anleitungen (9)
- Tipps (8)
- [-]Sonstiges (50)
- SEO (8)
Schlagwortwolke
« | September 2023 | » | ||||
---|---|---|---|---|---|---|
S | M | T | W | T | F | S |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Letzte Nachrichten
- DSGVO
- 26.05.2018 18:39
- Trackingtools und Datenschutzerklärung
- 14.03.2014 23:07
- 1:n und n:1 Relationen in Extbase
- 06.12.2013 12:04
- Erste Abmahnungen wegen Google Analytics
- 04.10.2013 12:11
Letzte Kommentare
- Das liegt daran, dass die captcha.php versucht, das halbe...
- 05.12.2017 00:41
- Hallo, danke für den tollen Beitrag. Kann man die...
- 22.10.2015 10:05
- Vielen Dank für den Austausch guter Artikel. Es ist eine...
- 17.08.2015 10:58
- Hallo Peter, danke für die Extension. Ich habe sie auf...
- 27.08.2014 12:51
In eigener Sache
Peter Linzenkirchner, Lisardo EDV Beratung in Augsburg. Freelance und Partner für Design- und Webagenturen in Augsburg und München. Pixelgenaue Templates, valides HTML, barrierearm. TYPO3-Projekte, Extension-Programmierung und mehr ...
Zur Zeit wird gefiltert nach: security
Filter zurücksetzen
TYPO3 Security Checklist
Martin Sauter hat eine neue Fassung seiner »TYPO3 Security Checklist« online gestellt (Version 0.9.3). Auf 24 Seiten listet er viele Tipps auf, wie eine TYPO3-Installation gegen Angriffe abgesichert werden kann. Nicht alles halte ich für praktikabel, die meisten Tipps und Hinweise sind allerdings unbedingt zu beherzigen. Trotz des englischen Titels ist das PDF übrigens in Deutsch abgefasst.
Hier gehts zu seiner Download-Seite mit dem PDF und das hier ist der direkte Download-Link (700 KB).
Sichere Extensions
Tipps zum Absichern eigener Extensions
Unsicher Programmierung in Extensions ist eine der größten Gefahren bezüglich der Sicherheit einer TYPO3-Installation. Während der Core regelmäßig geprüft wird und Sicherheitsmängel zügig behoben werden, gilt das für viele Extensions nicht. Die wichtigsten EXtensions werden einem regelmäßigen Audit unterworfen, aber bei weitem nicht alle, dazu sind es zuviele. Und Extensions, die ihren Weg nie ins TER finden, werden natürlich auch nie geprüft.
TYPO3-API für Datenbank-Zugriffe
Generell sollte die TYPO3-API für alle Datenbankzugriffe verwendet werden. Diese sorgt unter anderem für das nötige Quotieren der Eingaben.
Wichtig sind hier vor allem diese beiden Methoden:
- $GLOBALS['TYPO3_DB']->fullQuoteStr($str,$table)
- $GLOBALS['TYPO3_DB']->fullQuoteArray($arr,$table,$noQuote=FALSE);
Näheres im Abschnitt Datenbankabfragen.
Einige Methoden der Klasse t3lib_div
Die Methoden der Klassse t3lib_div werden statisch aufgerufen.
- // Entfernt gefährlichen Code, Rückgabewert der bereinigte String
- t3lib_div::removeXSS($string)
- // Gültige E-Mail: Rüpckgabewert true/false
- t3lib_div::validEmail($email)
- // Testet auf gültige URL, Rückgabewert tru/false
- t3lib_div::isValidUrl($sanitizedUrl)
Übergabeparameter
Alle GET- und POST-Variablen sollten über die entsprechenden Funktionen der TYPO3-API angesprochen werden:
- // Übernahme der Parameter mit Namensindex der Extension:
- $this->piVars['parameter'];
- // Wenn das nicht möglich ist, dann so:
- t3lib_div::_GP($var);
- // oder getrennt nach GET / POST
- t3lib_div::_GET($var);
- t3lib_div::_POST($var);
Wichtige PHP-Befehle
- // Kürzen eines UTF-8-Strings
- // Länge eines UTF-8-Strings prüfen
- // Integer erzwingen
- // Alle Tags aus einem String entfernen:
- // einige Tags erlauben (Achtung: die erlaubten Tags können Parameter enthalten!)
- // Tags in Entities umwandeln:
Datenfilter – neue Möglichkeiten mit PHP5
Diese Datenfilter werden in TYPO3 seit einigen Versionen ebenfalls eingesetzt. Einige kleine Anwendungsbeispiele:
- // Test auf korrekte URL
- $url='http://www.lisardo.de';
- if ( @filter_var($url,FILTER_VALIDATE_URL) ===FALSE){
- }else{
- }
- // oder ein Test auf korrekte E-Mail:
- if(!filter_var("someone@lisardo...de",FILTER_VALIDATE_EMAIL)){
- }
- else{
- }
- // Oder ein Test ob eine POST-Variable namens "mail" eine gültige E-Mail enthält:
- if (!filter_input(INPUT_POST,'email',FILTER_VALIDATE_EMAIL)){
- echo"E-Mail ist falsch";
- }
- else{
- echo"E-Mail korrekt";
- }
Ein schöner Überblick über alle Filter mit Beispielcode ist bei w3schools, PHP Filter Functions zu finden. eine genaue Erläuterung im offiziellen PHP-Manual, Datenfilterung
Weiterführende Links