| | |
| Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
Autor | Správa |
---|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 23.04.2007 21:34 | |
|
evTOM ma požiadal o vysvetlenie dvoch funkcií, ktoré som spomenul v nejakej téme. Určite bude dobré, ak si to prečítajú aj ostatní. Takže tu je:
Každá aplikácia sa musí brániť pred útokmi zvonku. Takéto útoky na webové aplikácie sa najčastejšie robia dvomi formami (ak nerátame sociálne inžinierstvo, tj. lákanie citlivých dát od ľudí na falošné emaily a pod): XSS (Cross-site scripting) a SQL Injection.
XSS - útoky sa vykonávajú najčastejšie vložením kúsku Javascriptového kódu. Ten, aby sa vykonal, musí byť uzavretý do značiek <script> a </script>. Preto musíme všetky dáta, ktoré ukladáme do databázy, alebo inak zobrazujeme na stránke (tj. všetky, ktoré nejdú priamo z PHP kódu, ale z formulárových polí, databáz a pod.) "prefiltrovať" a odstrániť z nich nechcené HTML tagy (predovšetkým <script> ale aj iné, škodiť sa dá hociako). Funkcia strip_tags() tieto tagy odstráni (druhým jej nepovinným parametrom sú tagy, ktoré sú povolené, tj. dá sa nastaviť, aby napr. komentujúci mohol vložiť tučný text a pod. Viac v PHP manuáli).
SQL Injection - tieto útoky smerujú pochopiteľne na databázu. Využívajú fakt, že SQL používa znak apostrofu ako hraničný znak v reťazcoch a pod. Akonáhle pri spracúvaní požiadavky SQL narazí na apostrof, spracúva dáta, až kým nenarazí na druhý apostrof. Potom začne vykonávať nasledujúce príkazy v SQL požiadavke. Je veľmi jednoduché do nejakého reťazca vložiť napr: '1; DELETE FROM nejaka_tabulka'. Takáto SQL požiadavka by znamenala vymazanie celej tabuľky. Preto sa používa funkcia addslashes() (pozor, ak máš nastavenú direktívu MAGIC_QUOTES_GPC na "on", funkcia addslashes() sa automaticky aplikuje na všetky dáta pochádzajúce z GET, POST a COOKIE, preto už netreba addslashes používať). Táto funkcia vloží pred každý "problematický" znak (nie len apostrof, ale aj úvodzovky a spätné lomítko) tzv. escape sekvenciu - jedno spätné lomítko. Databázový stroj potom s takto escapovaným apostrofom narába ako s každým iným bežným znakom. Ako som už spomínal, ak máš nastavené magic_quotes_gpc na hodnote "on", netreba addslashes používať. Ale pozor - stačí jeden neohlásený zásah admina a nebezpečenstvo je na svete. Pre úplnosť dodám, že existuje funkcia stripslashes(), ktorá tie escapovacie spätné lomítka z textu odoberie a vráti ho do pôvodného stavu. To sa používa, keď dáta zobrazuješ.
Toto rozhodne nie je všetko, čo by mal človek o bezpečnosti svojich aplikácií vedieť, je toho omnoho viac. Ja sám nie som bohvieaký expert na bezpečnosť. Rozhodne odporúčam si o tom niečo prečítať, či už na nete, alebo napr. v tejto knihe (nie je zbytočne zdĺhavá, autor hovorí jasne a k veci, skutočne to nie sú vyhodené peniaze).
Ak máte ešte nejaké otázky, niečo na doplnenie, prípadne som niečo povedal zle, je tu priestor na diskusiu...
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 22.11.05 Prihlásený: 29.01.23 Príspevky: 712 Témy: 25 Bydlisko: SK-Martin | Napísal mokus: 24.04.2007 9:24 | |
|
p360t píše: ... Preto sa používa funkcia addslashes() (pozor, ak máš nastavenú direktívu MAGIC_QUOTES_GPC na "on", funkcia addslashes() sa automaticky aplikuje na všetky dáta pochádzajúce z GET, POST a COOKIE, preto už netreba addslashes používať). ...
Len predpokladám, že pri nastavení direktívy MAGIC_QUOTES_GPC na "on", sa nič nestane ak pre istotu použijem ešte aj ja funkciu addslashes(),
môžeš mi to potvrdiť?
|
|
Registrovaný: 07.03.06 Prihlásený: 23.01.11 Príspevky: 404 Témy: 2 Bydlisko: Prešov / Pr... | Napísal mylan: 24.04.2007 10:31 | |
|
Stane, budú sa ti to dvojnásobne backslashovať. Preto bude potom text s úvodzovkami napríklad "text" vyzerať takto: \\\"text\\\" namiesto \"text\"
|
|
Registrovaný: 22.11.05 Prihlásený: 29.01.23 Príspevky: 712 Témy: 25 Bydlisko: SK-Martin | Napísal mokus: 24.04.2007 13:06 | |
|
tak ako to mám riešiť, aby som to mal zabezpečené aj v prípade, že admin servera inkriminovanú funkciu vypne (hoci omylom, alebo len dočasne) ?
môžem to riešiť nejakou podmienkou (if) ?
|
|
Registrovaný: 07.03.06 Prihlásený: 23.01.11 Príspevky: 404 Témy: 2 Bydlisko: Prešov / Pr... | Napísal mylan: 24.04.2007 13:20 | |
|
Dá, ja na to používam funkciu: Kód: function add_slashes($str) { return (get_magic_quotes_gpc() ? $str : addslashes($str)); }
|
|
| Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Java Web Service, pouzivanie funkcie v Assembler, C, C++, Pascal, Java | 1 | 297 | 07.05.2014 15:25 matwej | | Hľadáme programátora web stránok a web aplikácií v Ponuka práce | 0 | 737 | 27.02.2013 11:51 artexe | | Web hosting control panel pre free web v Webhosting a servery | 1 | 1066 | 06.04.2019 8:05 rukitinc | | Hľadáme (1.) web dizajnéra a (2.) web kódera - na dlhodobú spoluprácu / práca z domu v Ponuka práce | 0 | 779 | 15.01.2015 9:12 crystalgroup | | funkcie v Assembler, C, C++, Pascal, Java | 5 | 869 | 15.11.2007 9:57 sento | | Excel - funkcie v Ostatné programy | 0 | 424 | 24.02.2016 10:06 mio | | excel - funkcie v Ostatné programy | 5 | 440 | 20.03.2013 15:56 Winnetou | | API funkcie v Assembler, C, C++, Pascal, Java | 21 | 1978 | 12.09.2008 23:05 stopa27 | | Ajaxove funkcie v JavaScript, VBScript, Ajax | 13 | 811 | 11.05.2009 23:01 feko.yxo | | POLYNOMICKE FUNKCIE v Assembler, C, C++, Pascal, Java | 2 | 737 | 17.01.2009 20:48 dianka10 | | web kamera & web v Video programy | 4 | 858 | 29.12.2007 13:22 jablko05 | | Kryptografické hašovacie funkcie v PHP, ASP | 11 | 648 | 27.04.2009 9:34 rooobertek | | Ako includovať funkcie v PHP, ASP | 1 | 350 | 24.03.2012 18:47 shaggy | | uzitocne api funkcie v Assembler, C, C++, Pascal, Java | 4 | 712 | 28.02.2010 14:22 euthanan | | funkcie a premenné v JavaScript, VBScript, Ajax | 6 | 590 | 10.04.2009 9:34 Tominator | | vystup z funkcie v PHP, ASP | 15 | 830 | 13.09.2010 19:56 php30 |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|