A webes alkalmazásoknál nagyon fontos, hogy megfelelően álljunk hozzá a biztonsághoz, főleg, ha értékes, bizalmas adatokat tárolunk, legyen szó egy blogról, webáruházról, fórumról vagy bármilyen weboldalról. Nézzük meg, hogy a CodeIgniter milyen belső biztonsági szolgáltatásokat nyújt.

URL

A keretrendszer erősen korlátozza, hogy milyen karakterek szerepelhetnek az url-ben. Engedélyezve van:

  • Alfa-numerikus szöveg (csak latin betűkkel)
  • Tilda: ~
  • Százalékos jel:%
  • Pont: .
  • Kettőspont: :
  • Alulvonás: _
  • Gondolatjel: –
  • Szóköz

register_globals

A rendszer kikapcsol minden szuper globális változót: $_GET, $_POST, $_REQUEST, $_COOKIE.

Ez az eljárás ugyanazt eredményei mintha beállítanánk a register_globals = off.

display_errors

A display_errors = 0 beállítás letiltja a natív PHP-hibák kimenetként történő megjelenítését, ami potenciálisan érzékeny információkat tartalmazhat.

magic_quotes_runtime

magic_quotes_runtime direktíva ki van kapcsolva a rendszer inicializálásakor.

Adatok ellenőrzése

Mielőtt bármilyen adatot fogadna be az alkalmazásba, függetlenül attól, hogy az űrlapküldésről, a COOKIE-adatokról, az URI-adatokról, az XML-RPC-adatokról vagy akár a SERVER-tömbről származó adatokról van-e szó, akkor ezt a háromlépéses megközelítést kell alkalmazni:

  1. Ellenőrizze az adatokat annak biztosítására, hogy megfelel a megfelelő típusnak, hossznak, méretnek stb.
  2. Szűrje az adatokat.

XSS szűrés

A CodeIgniter Cross Site Scripting szűrővel rendelkezik. Ez a szűrő a leggyakrabban használt technikákat keresi a rosszindulatú JavaScript beillesztésére az adatokba, vagy olyan más típusú kódokra, amelyek megkísérlik a cookie-k eltérítését vagy egyéb rosszindulatú dolgokat.

CSRF védelem

A CodeIgniter védelmet nyújt a Cross-Site Request Forgery támadások ellen is.

Jelszókezelés

Nagyon fontos, hogy a jelszavakat megfelelően kezeljük és tároljuk.

  • A jelszavakat sose tároljuk titkosítatlanul az adatbázisban.
  • NE használjon Base64-et vagy hasonló kódolást jelszavak tárolására.
  • NE használjon gyenge vagy törött titkosítási algoritmusokat, például MD5 vagy SHA1. Ezek az algoritmusok régiek, bizonyítottan hibásak, és nem elsősorban a jelszótitkosításra tervezték.
  • Csak olyan erőteljes jelszó-hasító algoritmusokat használjon, mint a BCrypt, amelyet a PHP saját Password Hashing funkcióiban használnak.

Érvényesítse a bemeneti adatokat

A CodeIgniternek van Form Validation Library, amely segíti Önt az adatok érvényesítésében, szűrésében és előkészítésében. A Form Validation osztály használata nagyon egyszerű és kényelmes.

Szűrjük az adatokat mielőtt az adatbázisba insertálnánk

Soha ne insertálj adatokat adatbázisba anélkül, hogy szűrést nem végzel rajta.

Válaszolj

Az e-mail címed nem publikáljuk.