abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

    Ladislav Hagara | Komentářů: 1
    dnes 04:11 | Nová verze

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | IT novinky

    Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.

    Ladislav Hagara | Komentářů: 4
    včera 16:11 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 20
    včera 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 28
    včera 13:33 | Komunita

    Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 718 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    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: 402×
    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: 44 | 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: 68 | 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: 68 | 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: 68 | 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: 68 | 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: 49 | 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-DK, Relational pipes
    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.