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 | IT novinky

    Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.

    Ladislav Hagara | Komentářů: 1
    dnes 10:22 | Zajímavý software

    Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Zajímavý software Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Humor

    Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.

    NUKE GAZA! 🎆 | Komentářů: 8
    včera 14:33 | Nová verze

    Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.

    Ladislav Hagara | Komentářů: 6
    včera 14:22 | Zajímavý projekt

    Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    včera 13:55 | Zajímavý software

    PCIem je linuxový framework, který vytváří virtuální zařízení PCIe pomocí technik, které umožňují hostitelskému operačnímu systému rozpoznat tyto syntetické 'neexistující' karty jako fyzické zařízení přítomné na sběrnici. Framework PCIem je primárně zamýšlen jako pomůcka pro vývoj a testování ovladačů bez nutnosti použít skutečný hardware. Dle tvrzení projektu si fungování PCIem můžeme představit jako MITM (Man-in-the-Middle), který se nachází mezi ovladači a kernelem.

    NUKE GAZA! 🎆 | Komentářů: 1
    včera 05:33 | Bezpečnostní upozornění

    Byla nalezena vážná bezpečnostní chyba v telnetd z balíčku GNU InetUtils. Týká se verzí GNU InetUtils od 1.9.3 z 12. května 2015 až po aktuální 2.7 z 14. prosince 2025. Útočník může obejít autentizaci a získat root přístup, jelikož telnetd nekontroluje předaný obsah proměnné prostředí USER a pokud obsahuje "-f root"…

    Ladislav Hagara | Komentářů: 5
    20.1. 17:22 | Komunita

    Stanislav Aleksandrov předložil patch rozšiřující KWin (KDE Plasma) na 3D virtuální desktopové prostředí (videoukázka v mp4).

    Ladislav Hagara | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (5%)
     (0%)
     (10%)
     (21%)
     (3%)
     (5%)
     (2%)
     (11%)
     (36%)
    Celkem 565 hlasů
     Komentářů: 16, poslední 20.1. 17:04
    Rozcestník

    Dotaz: PHP a problém se session

    20.2.2011 20:37 FOi
    PHP a problém se session
    Přečteno: 897×
    Ahoj, Zruším session pomocí unset($_SESSION['user']); a pro ověření ji ještě vypíšu echo "Start - Hodnota proměnná SESSION['user'] je: " . $_SESSION['user'] . "
    "; a opravdu neexistuje! Vrátim se tlačítkem zpět na stránky, dám F5 a okamžitě se všechny session vytvoří bez požádání hesla nebo čehokoliv jiného. Fakt tomu nerozumím :( poradí prosím někdo s tímto zapeklitým poblémem? Děkuji všem za pomoc

    Řešení dotazu:


    Odpovědi

    Řešení 1× (MaFy)
    21.2.2011 06:44 zZ
    Rozbalit Rozbalit vše Re: PHP a problém se session
    .
    21.2.2011 09:06 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP a problém se session
    Na jistotu:
    session_start();
    
    session_unset();
    session_destroy();
    $_SESSION = array();
    
    a trochu číst manuál :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    21.2.2011 13:02 FOi
    Rozbalit Rozbalit vše Re: PHP a problém se session
    Ahoj, tak ani tohle nepomohlo, když se vrátím zpet na stránku ze které jsem se odhlásil a dam f5 tak se session zase vytvori aniz by user zadaval heslo.. :(
    21.2.2011 15:01 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP a problém se session
    Chtělo by to lépe popsat, protože pokud se session zničí, tak se smažou její kompletní data (smaže se soubor jehož obsahem jsou ta data), takže se sice vytvoří session ale již nová a nemůže obsahovat data, bo ta byla smazána.
    Jestli se ovšem odkazujete jen na 'session_id', tak to klidně může opakovaně vznikat stejné. Nebo pokud tím 'zpět' znovu odešlete formulář obsahující přihlášení, tak se znovu přihlásíte (namáte-li to ohlídáno).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    21.2.2011 16:24 FOi
    Rozbalit Rozbalit vše Re: PHP a problém se session
    - Uložím údaje do session a smažu veškeré proměnné POST
    $_SESSION['user'] = $_POST['user'];
    $_SESSION['user-login'] = time();
    unset($_POST);
    
    - Zkontoluji jestli může user do systému
    if (!empty($_SESSION['user'])) {
    ..... kod po přihlášení .....
    }
    
    - Odhlásím usera
    http://domain.ltd/logout/
    a v souboru logout je
    session_unset();
    session_destroy();
    $_SESSION = array();
    echo "Odhlášení proběhlo v pořádku";
    
    teď se vrátím tlačítkem back na předchozí stánku a když dám f5, tak se okamžitě vytvoří obě dvě session. Když nedám f5 ale zadám tuto 
    stejnou adresu do url a dam enter tak se session nenačte ale zobrazí se formulář pro přihlášení(toto je v pořádku) ale to f5 nechápu.
    
    Děkuji za pomoc
    poky74 avatar 21.2.2011 17:11 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
    Rozbalit Rozbalit vše Re: PHP a problém se session
    - Uložím údaje do session a smažu veškeré proměnné POST

    Když dáš reload tak se samozřejmě ten post odešle znovu, tudíž tě to opětovně přihlásí ne?

    Chcete Linuxové samolepky nebo Tuxe na klíče? ->
    21.2.2011 17:50 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP a problém se session
    No je, to tak, že session sice zničíte se všemi daty, ale vrácením na stránku a obnovením odešlete znovu přihlašovací stránku a vytvoříte novou session ze stejnými údaji - prostě prohlížeč to jméno a to heslo má a odešle ho na server. To není vlastnost session ale cache prohlížeče.
    Nevytváříte 2 session ale máte jednu session reprezentovanou 'session_id' a v rámci této session máte uloženy dvě proměnné. Uložené je to v souboru na serveru v čitelné podobě (název souboru obvykle odpovídá session_id).
    Zaručeným způsobem cache prohlížeče nevyprázdníte (proto při ukončení práce s důležitým zdrojem např. bankou, je vhodné uzavřít okno prohlížeče a pokud jste mimo, tak i promazat cache prohlížeče).
    Můžete si ovšem při načítání login stránky uložit do db nějaký ticket (třeba MD5 něčeho s časem), který předáte formuláři a při přihlášení kontrolujete jejich shodu. Při odhlášení, nebo rovnou při přihlášení jej změníte a tím pádem se nebude možné opětovně přihlásit, bude to možné jen ze stránky která vygeneruje nový ticket, protože ticket obsažený ve formuláři je neplatný (způsobů je více a lze je různě kombinovat).
    Pokud lze fungovat na stránkách bez přihlášení i s přihlášením, tak po přihlášení změňte session_id pomocí session_regenerate_id().
    PS: unset($_POST); je divné, raději $_POST = array();, i když nevím proč to :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    21.2.2011 19:53 FOi
    Rozbalit Rozbalit vše Re: PHP a problém se session
    Tak jsem to poradne prosel a opravdu porad existuje $_POST ale at napisu co chci tak to proste nejde zusit.. nevi nekdo jak znicit vsechny promenne POST?

    Timto ji testuji

    if (isset($_POST['name'])) { echo "Ha, ha, porad ziju, me neznicis :-)"; }

    a porad se mi vysmiva.. :)

    Diky za pomoc
    21.2.2011 19:55 FOi
    Rozbalit Rozbalit vše Re: PHP a problém se session
    Jeste mozna doplnim, ze

    vypis

    print_r($_POST);

    vraci tohle.. ale podminka je porad splnena

    Array ( )
    poky74 avatar 21.2.2011 19:59 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
    Rozbalit Rozbalit vše Re: PHP a problém se session

    Však kódem

    $_POST = array();

    To tam dosazujete

    Chcete Linuxové samolepky nebo Tuxe na klíče? ->
    21.2.2011 20:22 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP a problém se session
    Otočme to, proč chcete ničit obsah pole $_POST ?, tím nic nezískáte, to nedává smysl.
    Zamyslete se nad tím co pole $_POST obsahuje!, obsahuje totiž to co odeslal klient (prohlížeč) na server a tím, že to zničíte nic nezískáte - klient si to klidně pošle znovu.
    print_r($_POST);
    if (isset($_POST['name'])) { echo 'Ha, ha, porad ziju, me neznicis'; }
    print "
    \n"; $_POST = array(); if (isset($_POST['name'])) { echo 'Ha, ha, porad ziju, me neznicis'; } print_r($_POST);
    Výpíše něco jako:
    Array ( [name] => Send ) Ha, ha, porad ziju, me neznicis 
    Array ( ) 
    
    Přičemž v prvním řádku je to co došlo z formuláře a v druhém, obyčejně zbytečně, vyprázdněné pole.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    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.