Zaheslovaná stránka přístupná bez hesla po opětovném otevření

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Zaheslovaná stránka přístupná bez hesla po opětovném otevření

Zvolené téma obsahuje celkem 7 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel  admin a poslední změna je stará 8 let, 10 měsíců.

Aktuálně je na stránce zobrazeno 8 příspěvků - 1. až 8. (z celkem 8)
  • Autor
    Příspěvky
  • #791

    Roomm
    Participant
    Web

    Na jedné stránce mám přístup povolen pouze přes heslo. Heslo zadám a otevřou se stránky. Druhý den opět otevřu stránky ale už to po mě žádné heslo nechce a stránky jsou volně přístupné. Je možné toto nějak ošetřit a vstup na stránky bu možný pouze po zadání hesla.

    Děkuji za info

    Roman

    #7489

    admin
    Keymaster
    Web

    Zadané heslo je patrně uloženo v cookies daného uživatele (dokud nevyprší). Nemělo by se tedy stát, že by se někdo dostal na článek bez zadání hesla. Pokud ale někdo správné heslo zadá, uloží se mu v prohlížeči příslušná cookie, aby nemusel heslo zadávat vždy znovu, když se bude chtít na článek vrátit… Vyzkoušet to můžete např. v jiném prohlížeči – tam by to heslo mělo zase chtít, dokud ho nezadáte.

    #7490

    Roomm
    Participant
    Web

    Tak nějak jsem si to myslel. Problém ale je v tom, když na stránky příjde někdo na veřejném pc a zadá heslo. Stránky jsou pak přístupné i ostatním. Jé jsou tedy možnosti odheslovat tuto stránku ?

    #7491

    admin
    Keymaster
    Web

    Aha, tak to je zajímavý problém…

    Zkuste přidat do souboru functions.php (v adresáři se šablonou) následující kód:

    
    add_action( 'wp', 'separatista_neukladat_hesla' );
    function separatista_neukladat_hesla() {
    if ( isset( $_COOKIE ) )
    setcookie( 'wp-postpass_' . COOKIEHASH, '', time() - 31536000, COOKIEPATH );
    }
    

    Pokud to bude fungovat, tak z toho můžeme udělat klidně plugin, případně připravíme článek s vysvětlením…

    #7492

    Roomm
    Participant
    Web

    Funguje :-) skvělé – jak se dělají pluginy ?

    #7493

    admin
    Keymaster
    Web

    V podstatě se uvedený kód nemusí vkládat do souboru functions.php, ale stačí přidat hlavičku a uložit vše do samostatného souboru a hned je z toho plugin :-) Je to ještě trochu složitější, ale stručně řečeno je to tak, zkusíme připravit nějaký návod (anglický manuál)…

    #7494

    Roomm
    Participant
    Web

    tak to přeci jen nefunguje správně. Na tyto stránky po vložení tohoto kodu nelze přidávat jakýkoliv komentář.

    #7495

    admin
    Keymaster
    Web

    To bude asi důsledek použitého řešení. Pomocí této funkce je při přístupu na zaheslovanou stránku vymazána příslušná cookie, takže když chce někdo přidat komentář, tak už si WordPress nepamatuje, že uživatel původně zadal správné heslo a nedovolí mu komentář vložit.

    Další možnosti jsou dvě:

    1) Zkus ve funkci nahradit výraz time() - 31536000 pomocí nuly (0). Potom bude příslušná cookie automaticky vymazána po zavření prohlížeče (viz manuál).

    2) Můžeš vyzkoušet plugin Logout Password Protected Posts, který funguje na principu jakéhosi odhlašování z heslem chráněné stránky. Víceméně tím na úvodu zaheslované stránky připomeneš uživatelům, že by se měli při odchodu z chráněné stránky odhlásit kliknutím na odkaz. Ale bohužel je toto řešení vázáno pouze na akci uživatelů – pokud se sami neodhlásí, tak to fungovat nebude.

    Aktualizace 3.12.2010: A ještě jsem našel jeden zajímavý plugin Cookies for Comments, který se sice nehodí pro naše účely, ale pomocí komentářových cookies odhaluje spam. Jak? Sleduje jak dlouho trvalo po zobrazení stránky vložit komentář (pokud velmi rychle, tak jde patrně o nějakého robota a komentář je vyhodnocen jako spam).

Aktuálně je na stránce zobrazeno 8 příspěvků - 1. až 8. (z celkem 8)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.