====== 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) | ---- plugin.info.txt obstaja @license glava v vseh PHP datotekah @author glava z emailom Brez neposrednega $_GET/$_POST dostopa XSS preprečevanje (hsc() uporabljen) ---- //Različica: 2.0 (Split)//\\ //Avtor: Wolfgang van der Stille// Nazaj na [[start|Sklad Kontrolni Seznami]] | [[..:start|Kontrolni Seznami za Preglede]] ~~DISCUSSION:off~~