Inhaltsverzeichnis
Kontrolni Seznam DokuWiki/PHP Varnosti
Različica: 2.0
Obseg: DokuWiki razvoj vtičnikov in PHP-specifično varnostno utrjevanje.
Ta sekcija razširja skupni kontrolni seznam za razvoj DokuWiki vtičnikov.
PHP-Specifična Varnost
| Preveri | CWE | Opis | Rešitev |
|---|---|---|---|
| [ ] XSS Preprečevanje | CWE-79 | Uporabniški vnos v HTML izhodu | hsc(), htmlspecialchars() |
| [ ] SQL Injekcija | CWE-89 | Poizvedbe v bazi | DokuWiki DB abstrakcija, prepared statements |
| [ ] Prečkanje Poti | CWE-22 | Manipulacija poti datotek | cleanID(), resolve_id() |
| [ ] CSRF Zaščita | CWE-352 | Oddaje obrazcev | getSecurityToken(), checkSecurityToken() |
| [ ] Injekcija Ukazov | CWE-78 | Shell ukazi | Izogibaj se exec(), shell_exec(), system() |
| [ ] Nalaganje Datotek | CWE-434 | Zlonamerna nalaganja datotek | MIME validacija, beli seznam razširitev |
| [ ] Odprta Preusmeritev | CWE-601 | URL preusmeritve | Beli seznam dovoljenih domen |
| [ ] Fiksacija Seje | CWE-384 | Ravnanje s sejo | DokuWiki upravljanje sej |
DokuWiki Ravnanje z Vnosi
| Funkcija | Namen | Kdaj Uporabiti |
|---|---|---|
hsc($str) | HTML escape | Vsi uporabniški vnosi v HTML |
$INPUT→str('param') | Varen GET/POST niz | Parametri obrazca |
$INPUT→int('param') | Varen integer vnos | Numerični parametri |
$INPUT→arr('param') | Varen array vnos | Array parametri |
cleanID($id) | Sanitiziraj ID strani | Reference wiki strani |
resolve_id($ns, $id) | Razreši relativni ID | Razreševanje imenskega prostora |
Struktura DokuWiki Vtičnika
| Preveri | Opis | |
|---|---|---|
[ ] plugin.info.txt obstaja | Metapodatki vtičnika | |
[ ] @license glava v vseh PHP datotekah | GPL 2 ali kompatibilno | |
[ ] @author glava z emailom | Pripis | |
[ ] Uporablja $this→getLang() | Lokalizacija | |
| [ ] Uporablja DokuWiki dogodke | Razširljivost | |
[ ] Brez neposrednega $_GET/'$_POST dostopa | Uporabi $INPUT objekt |
| [ ] Brez neposrednega pisanja datotek | Uporabi DokuWiki API |
===== Referenca DokuWiki Varnostnih Funkcij =====
^ Funkcija ^ Namen ^ Preprečen CWE ^
| hsc() | HTML posebni znaki | CWE-79 (XSS) |
| cleanID() | Počisti ID strani | CWE-22 (Prečkanje Poti) |
| resolve_id() | Razreši ID strani | CWE-22 (Prečkanje Poti) |
| getSecurityToken() | Pridobi CSRF token | CWE-352 (CSRF) |
| checkSecurityToken() | Preveri CSRF token | CWE-352 (CSRF) |
| auth_quickaclcheck() | Preveri dovoljenja | CWE-862 (Manjkajoča Avtorizacija) |
| $INPUT→str() | Varen niz vnos | CWE-20 (Validacija Vnosov) |
| $INPUT→int()'' | Varen integer vnos | CWE-20 (Validacija Vnosov) |
<wvds:audit:template> plugin.info.txt obstaja @license glava v vseh PHP datotekah @author glava z emailom Brez neposrednega $_GET/$_POST dostopa XSS preprečevanje (hsc() uporabljen) </wvds:audit:template>
Različica: 2.0 (Split)
Avtor: Wolfgang van der Stille
Nazaj na Sklad Kontrolni Seznami | Kontrolni Seznami za Preglede
Zuletzt geändert: dne 08.01.2026 ob 04:49