Úvodní stránka › Fórum podpory WordPressu › Problémy s WordPressem › Zaheslovaná stránka přístupná bez hesla po opětovném otevření
Štítky: Cookies, Cookies for Comments, heslo, Log Out Password Protected Posts, Příspěvek, setcookie(), vstup bez hesla, WP, Zaheslovaná stránka
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á 15 let, 2 měsíce.
-
AutorPříspěvky
-
11. listopadu 2010 (8:57) #79111. listopadu 2010 (18:37) #7489
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.
12. listopadu 2010 (7:00) #7490Tak 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 ?
12. listopadu 2010 (15:36) #7491Aha, 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…
13. listopadu 2010 (14:16) #749215. listopadu 2010 (13:30) #7493V 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)…19. listopadu 2010 (8:23) #7494tak to přeci jen nefunguje správně. Na tyto stránky po vložení tohoto kodu nelze přidávat jakýkoliv komentář.
22. listopadu 2010 (9:34) #7495To 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() - 31536000pomocí 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).
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.