abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 11:00 | Zajímavý software
Na Good Old Games je v rámci aktuálních zimních slev zdarma k dispozici remasterovaná verze klasické point&click adventury Grim Fandango, a to bez DRM a pro mainstreamové OS včetně GNU/Linuxu. Akce trvá do 14. prosince, 15:00 SEČ.
Fluttershy, yay! | Komentářů: 4
dnes 07:22 | Pozvánky

Konference InstallFest 2018 proběhne o víkendu 3. a 4. března 2018 v Praze na Karlově náměstí 13. Spuštěno bylo CFP. Přihlásit přednášku nebo workshop lze do 18. ledna 2018.

Ladislav Hagara | Komentářů: 0
včera 20:22 | Nová verze

Před měsícem byla vydána Fedora 27 ve dvou edicích: Workstation pro desktopové a Atomic pro cloudové nasazení. Fedora Server byl "vzhledem k náročnosti přechodu na modularitu" vydán pouze v betaverzi. Finální verze byla naplánována na leden 2018. Plán byl zrušen. Fedora 27 Server byl vydán již dnes. Jedná se ale o "klasický" server. Modularita se odkládá.

Ladislav Hagara | Komentářů: 6
včera 10:22 | Zajímavý článek

Lukáš Růžička v článku Kuchařka naší Růži aneb vaříme rychlou polévku z Beameru na MojeFedora.cz ukazuje "jak si rychle vytvořit prezentaci v LaTeXu, aniž bychom se přitom pouštěli do jeho bezedných hlubin".

Ladislav Hagara | Komentářů: 13
včera 07:22 | Komunita

Od 26. do 29. října proběhla v Bochumi European Coreboot Conference 2017 (ECC'17). Na programu této konference vývojářů a uživatelů corebootu, tj. svobodné náhrady proprietárních BIOSů, byla řada zajímavých přednášek. Jejich videozáznamy jsou postupně uvolňovány na YouTube.

Ladislav Hagara | Komentářů: 0
11.12. 19:22 | Nová verze

Ondřej Filip, výkonný ředitel sdružení CZ.NIC, oznámil vydání verze 2.0.0 open source routovacího démona BIRD (Wikipedie). Přehled novinek v diskusním listu a v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
11.12. 09:22 | Pozvánky

V Praze dnes probíhá Konference e-infrastruktury CESNET. Na programu je řada zajímavých přednášek. Sledovat je lze i online na stránce konference.

Ladislav Hagara | Komentářů: 2
9.12. 20:11 | Nová verze

Byl vydán Debian 9.3, tj. třetí opravná verze Debianu 9 s kódovým názvem Stretch a Debian 8.10, tj. desátá opravná verze Debianu 8 s kódovým názvem Jessie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 9 a Debianu 8 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 6
9.12. 00:44 | Nová verze

Po 6 měsících vývoje od vydání verze 0.13.0 byla vydána verze 0.14.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 88 vývojářů. Přibylo 1 211 nových balíčků. Jejich aktuální počet je 6 668. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 4
8.12. 21:33 | Nová verze

Po půl roce vývoje od vydání verze 5.9 byla vydána nová stabilní verze 5.10 toolkitu Qt. Přehled novinek na wiki stránce. Současně byla vydána nová verze 4.5.0 integrovaného vývojového prostředí (IDE) Qt Creator nebo verze 1.10 nástroje pro překlad a sestavení programů ze zdrojových kódů Qbs.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 974 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

    Dotaz: PHP jak zakázat odeslání formuláře mimo stránky

    7.9.2011 18:16 ztc89
    PHP jak zakázat odeslání formuláře mimo stránky
    Přečteno: 355×
    Ahoj, poradí prosím, jak udělat to, že můžu odeslat formulář jen ze stránek na které ten formulář je? Děkuji za pomoc

    Řešení dotazu:


    Odpovědi

    MMMMMMMMM avatar 7.9.2011 18:39 MMMMMMMMM | skóre: 42 | blog: unstable | Valašsko :-)
    Rozbalit Rozbalit vše Re: PHP jak zakázat odeslání formuláře mimo stránky
    Napadá mne kontrola refereru při zpracování toho formuláře serverem, ale referer se dá snadno podvrhnout. Tak mne ještě napadá, co vytvořit session (v cookies) na stránce, kde je formulář vytvořený a potom kontrolovat planost této session během zpracování odeslaného formuláře? Pokud by žádná session nebyla vytvořena, znamenalo by to, že byl formulář odeslán z jinama nebo že má dotyčný zakázány Cookies. :-)
    bazil avatar 7.9.2011 18:51 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: PHP jak zakázat odeslání formuláře mimo stránky
    cookies taky ne, uživatel by musel navštívit stránku (aby se vytvořila session a cookies) a až po té by musel kliknout na link s formulářem >> neřeší situaci, když přijde uživatel na server přímo na stránky s formulářem

    řešením by mohlo být generování náhodného ID formuláře, které by se ukládalo na serveru a přikládalo jako skrytá hodnota formuláře. pokud by náhodné id nebylo nalezeno uloženo na serveru, tak by to znamenalo neplatné odeslání formuláře. vylepšením by mohla být časová platnost formuláře jen na určitou dobu (smazat po určité době ID) ... btw ty ID se stejně musí nějakým způsobem časem mazat.

    PS: ony i ty session cookies se dají podvrhnout
    bazil avatar 7.9.2011 18:53 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: PHP jak zakázat odeslání formuláře mimo stránky
    teda vkládat přímo jako náhodnou hodnotu, nejlépe pomocí JS, páč ten se blbě simuluje (ale stejně nezabráníte vložení stránky do iframu)
    7.9.2011 18:54 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: PHP jak zakázat odeslání formuláře mimo stránky
    Není problém si to náhodné ID z formuláře přečíst a pak vložit do svého formuláře.
    7.9.2011 18:47 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: PHP jak zakázat odeslání formuláře mimo stránky
    Nijak, protože nic takového jako „formulář je ve stránkách“ neexistuje – to je jen lidská představa, že když to má stejnou doménu a vypadá to podobně, tvoří to nějaký celek. Technicky to ale nijak propojené není. Nanejvýš můžete udělat nějaké kontroly, příklady popsal kolega výše – ale ty mohou bránit použití oprávněným uživatelům a naopak „záškodník“ je více či méně snadno obejde. Přinejhorším bude programově simulovat práci uživatele s prohlížečem.
    7.9.2011 19:37 l4m4
    Rozbalit Rozbalit vše Re: PHP jak zakázat odeslání formuláře mimo stránky
    Lze zajistit přijetí dat pouze od autentizovaného klienta, což ve většině praktických případů splňuje tazatelův požadavek.

    Nemá samozřejmě smysl se zabývat obcházením na straně klienta, protože jak to přesně udělá, že se autentizuje, dostane formulář a odešle ho (autentizovaně), je implementační detail na jeho straně.
    7.9.2011 20:18 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: PHP jak zakázat odeslání formuláře mimo stránky
    Lze zajistit přijetí dat pouze od autentizovaného klienta, což ve většině praktických případů splňuje tazatelův požadavek.
    Nesplňuje, to je něco úplně jiného. Je možné, že tazatel ve skutečnosti chce to, co popisujete – bohužel jsou tady časté dotazy, kde se někdo ptá na něco úplně jiného, než co potřebuje vyřešit.
    7.9.2011 21:18 l4m4
    Rozbalit Rozbalit vše Re: PHP jak zakázat odeslání formuláře mimo stránky
    Jak už jsi napsal, brát doslovně ,odeslat ze stránek` je nesmysl - formulář odesílá klient. Tak proč to bereš doslovně?

    Je to zkratkovité vyjádření požadavku na vazbu mezi klientem a těmi stránkami, tedy že platně může formulář odeslat pouze na základě toho, že ho získal z těch stránek a vazba, která mu to umožnila, stále trvá. A to je přesně ono.
    8.9.2011 08:21 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: PHP jak zakázat odeslání formuláře mimo stránky
    IDOS se kdysi snažil zabránit tomu, aby si někdo jiný mohl dát na svůj web formulář s předvyplněnými hodnotami (odkud, kam) a ten pak odeslat do vyhledávání IDOSu. Asi jim to jedno zobrazení reklamy na formuláři navíc stálo za to nutit uživatele, aby názvy stanic vyplnil, i když mohly být předvyplněné. Snažili se tedy kontrolovat právě to, zda byl dotaz poslán z „jejich“ formuláře. Tazatel se podle mne ptal právě na tohle. Ovšem vzhledem k tomu, že tazatel se zatím vůbec neobtěžoval upřesnit, co vlastně chce, asi to měl být jenom podnět pro nás k diskusi a ve skutečnosti to tazatele vůbec nezajímá…
    xkucf03 avatar 7.9.2011 19:32 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše CSRF, XSRF, CAPTCHA, nejde to
    Tvůj problém se jmenuje CSRF a typicky se řeší tak, že formulář obsahuje skryté pole a v něm náhodnou hodnotu vygenerovanou na serveru (CSRF token) a při odeslání formuláře se kontroluje tato hodnota – pokud byl formulář odeslán ze stránek útočníka, tato hodnota chybí nebo je nesprávná.

    Pak je ještě možnost, že nechceš předejít útokům na uživatele, ale chceš uživatelům zabránit odesílání formuláře odjinud (třeba vlastním skriptem) a to nejde. Skript/program může simulovat chování prohlížeče (včetně všech tokenů, hlaviček, cookies atd.) a na serveru nepoznáš, jestli to posílal uživatel vyplněním formuláře na webu nebo nějaký jeho skript (pak leda CAPTCHA, ale ani ta často nefunguje – dá se např. roboticky rozpoznávat text – OCR atd.).
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    8.9.2011 00:21 Kit
    Rozbalit Rozbalit vše Re: PHP jak zakázat odeslání formuláře mimo stránky
    Jak už tady psali mnozí: Ochrana je obtížná, ale při běžných nárocích se vcelku úspěšně dá využít session, předvyplněné skryté pole, nevyplněné skryté pole a případná kontrola IP v session. Když k tomu přidám povinný náhled jako např. na abclinuxu.cz, dostanu sice ne 100%, ale jinak vcelku solidní ochranu proti nevhodným požadavkům.

    Kdysi mi stačilo, abych testoval políčko s dnem rezervace na hodnotu 1-31. Tenkrát to kupodivu vyfiltrovalo značné množství spamu. Velmi oblíbení je skryté pole "nick", které roboti velmi rádi vyplňují.

    Správná odpověď na původní otázku zní: Kontroluj hlavičku Referrer. Ovšem všichni víme, jak snadno se dá podvrhnout a jak snadno je možné odmítnout paranoidního uživatele. Proto vznikla Captcha, což je vlastně Turingův test.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.