Jump to content

FlexFellovic

Uživatel
  • Příspěvků

    9
  • Registrován

  • Aktivní

Reputace

0 Na nule
  1. Pokud poskytujeme návštěvníkům prostředím MySQL chyb nebo PHP chyb informace, možná si myslíte, že jediná nevýhoda je nevzhledný web. Opak však pravdou. Pokud poskytnete návštěvníkovi, který je zkušený v hackování, výpis chyb, může si udělat hacker přehled o vašem webu a tak najít díru. Mimochodem, této chyby se dopouští i PHP-Fusion, který má na začátku souboru maincore.php řádek, který zařídí výpis všech chyb.: error_reporting(E_ALL); Možná se divíte, proč to PHP-Fusion tým nezabezpečil a nedal výpis chyb pouze pro administrátory. Odpověď je myslim si jednoduchá. Pomocí výpisu chyb neumí jen tak někdo hacknout web, ale jde to. Pokud si ovšem myslíte, že se někdo ve vašem okolí, kdo by to svedl, zabezpečení je jednoduché. Na konec souboru maincore.php stačí přidat řádek: if (!iADMIN) {error_reporting(0);} Poté stačí ještě každou funkci mysql_error() v echu obalit podmínkou: if (iADMIN) {echo mysql_error();} Upozornění: Z chyb v PHP dovedou web hacknout opravdoví profesionálové a neznamená, že pokud máte chybu na webu, hackne vám někdo web. Odhaduji, že tak 95% běžných chyb nic nenapoví ani profesionálovi, a proto je toto opatření opravdu už nad standart. Vytvořeno pro RS Php fusion ! Pokud vy jste chtěli další návod.. napište ohledně čeho.. kouknu na to a napíšu další tut !
  2. Sql injection je druh napadení webu, kdy může útočník přes nezabezpečené formuláře posílat příkazy databázi, kteár je poté vykoná.Webová aplikace neochráněná proti SQL Injection je před úžotčníkem rovnou odsouzená k "smrti. Protože útočník se pomocé této díry může nejen přihlásit jako jakýkoli uživatel , ale také může smazat celou databázi Takže to by bylo k úvodu na SQL injection.. tady vám dám jednoduchou ukázku SQL Injeciton útoku : Pokud webová aplikace nepodporuje při přihlašování hashování hesel nebo odstranění nebezpečných řetezců pomocí php funkce mysql_real_escape_string ... tudíž stačí zadat libovolné přihlašovací jméno a jako heslo vyplnit např.. x' or 'a' = 'a Nezabezpečený sql dotaz teda bude vypadat takto : ELECT * FROM fusion_users WHERE user_name='FlexFellovic' AND user_password='x' or 'a' = 'a'; Při tomto dotazu se PHP ptá MySQL databáze, jestli existuje uživatel s tímto jménem a heslem. útočník ovšem přidal podmínku že 'a' = 'a' , což je logicky vždy pravdivé a proto dotaz vrátí pravdivou hodnotu a přihlásí vás. Horší útok je ovšem, pokud přes nezabezpečený script útočník maže web. Pokud tedy například do políčka hesla přidá následující : '; DROP TABLE fusion_users; -- (místo fusion_users může být jakákoliv tabulka v mysql) , SQL dotaz se vykoná a výsledek je ten, že sice není útočník přihlášen jako administrátor, ale smaže tabulku obsahující informace o uživatelích. Ochrana proti tomuto útoku Nejjednodušší ochranou, jak jsem již psal, je použití funkce mysql_real_escape_string . Tato funkce je přizpůsobena tak, aby odstranila z dat veškerý nebezpečný obsah. Zabezpečený SQL dotaz v PHP (PHP-Fusionu) tedy poté vypadá například takto: $result = dbquery("INSERT INTO ".DB_BLAH." VALUES (NULL, ".mysql_real_escape_string($uzivatelsky_vstup).")"); Další dobrou ochranou je omezit práva pro MySQL uživatele na změny, které používáte. Pokud tedy na webu nikde nepoužíváte mazání tabulek, je dobré MySQL uživateli tuto funkci zakázat a tak zabezpečit web proti smazání DB při útoku. stavěno pro php fusion !
  3. FlexFellovic

    pomoc Html Rada

    skus nastavit hash
  4. Skus všem souborům dát přípony .php
  5. Pokud vím tak nesmíš mít PHP soubor pojmenovaný .html a opačně ne? skus opak.. Já vím jen to že v čistém HTML (kromě html5) Přihlášení respektive databázový login neuděláš..
×
×
  • Create New...