Autor | Zpráva | ||
---|---|---|---|
Jirka ze Slezska Profil * |
#1 · Zasláno: 14. 10. 2012, 15:20:28
Zdravím, implementoval jsem tento Secure login do CMS. Všechno funguje skvěle do té doby, než přejdu na nějakou stránku, kde mám již implementován nějaký kod k editaci a spojením s databází. Pokaždé se to stává se stránkou pro úpravu článků. Přihlásím se -> kliknu na editaci článku -> kliknu na něco jinýho a už jsem venku ze systému (loggout). Kód stránky s editací článku níže:
<?php include "includes/db_connect.php"; include "includes/functions.php"; sec_session_start(); $page = $_SERVER['REQUEST_URI']; if(login_check($mysqli) == true) { include "includes/admin-header.php"; $dotaz = new mysqli(HOST, USER, PASSWORD, DATABASE); if(empty($_GET['id'])){ $stmt_articles = $dotaz->prepare("SELECT id, title, text FROM articles ORDER BY id DESC LIMIT 1"); $stmt_articles->execute(); $stmt_articles->store_result(); $stmt_articles->bind_result($id_article, $title, $text); $stmt_articles->fetch(); } else { $id=$_GET['id']; if($stmt_articles = $dotaz->prepare("SELECT id, title, text FROM articles WHERE id = ? LIMIT 1")) { $stmt_articles->bind_param('i', $id); $stmt_articles->execute(); $stmt_articles->store_result(); $stmt_articles->bind_result($id_article, $title, $text); $stmt_articles->fetch(); } } ?> <div id='editation'> <div class='edit-title'> EDITACE: <a href="#" class='active'>ČLÁNKY</a> / <a href="#">NASTAVENÍ</a> <a href="#">NÁHLED</a> </div> <div class='edit-submenu'> <?php $dotaz2 = new mysqli(HOST, USER, PASSWORD, DATABASE); if($stmt_vypis = $dotaz2->prepare("SELECT id, title, text FROM articles ORDER BY id DESC LIMIT 0,8")) { //do prepare se imho pouzije limit ?,? a pak se to bude bindovat pokazde jinymi cisly pro scrollovani? //$stmt_articles->bind_param('i', $id); $stmt_vypis->execute(); $stmt_vypis->store_result(); $stmt_vypis->bind_result($id_a, $titulek, $s_text); while($stmt_vypis->fetch()){ echo "<a class='item' href=\"clanky.php?id=".$id_a."\"> <img src=\"http://25.media.tumblr.com/avatar_6feb8634e3d0_128.png\"/> <p class='item-title'>".substr($titulek, 0, 20)."</p> <p class='item-author'>Admin</p> <div> <p class='item-teaser'>".substr(strip_tags($s_text), 0, 20)."</p> <p class='item-time'>Před 2 dny</p> </div> </a>"; } } ?> </div> <script type="text/javascript"> $(document).ready(function(){ $(".edit-submenu").niceScroll({cursorcolor:"rgba(0, 0, 0, 0.6)"}); }); </script> <form action="clanky.php" method="post"> <input type="text" size="80" name="title" value="<?php echo "$title"; ?>" /> <textarea name="text" cols="100" rows="30"><?php echo "$text"; ?></textarea> </form> </div> <?php include "includes/admin-footer.php"; } else { if(!headers_sent()){ header('Location: ./index.php?error=1'); } } ?> |
||
Tori Profil |
#2 · Zasláno: 14. 10. 2012, 18:57:41
Startujete na všech stránkách session? Není to odlišností funkce sec_session_start od standardní session_start - např. to přenastavení session.name?
|
||
Jirka ze Slezska Profil * |
#3 · Zasláno: 14. 10. 2012, 19:11:39
Já nevím, implementoval jsem to tak, jak je popsáno. V komentářích nikdo nepíše, že by s tím měl problém... Session na každé stránce startuji.
|
||
Tori Profil |
Jirka ze Slezska:
„Session na každé stránce startuji.“ Čím, session_start, nebo tou sec_session_start? edit: Aha, už to vidím, že všude používají tu svou funkci, takže zřejmě i vy. Tím to tedy nebude. |
||
Jirka ze Slezska Profil * |
#5 · Zasláno: 14. 10. 2012, 20:16:53
Jo, přesně tak tu funkci používám i já ... nemůže to dělat nějak to mysqli stmt? protože na stránkách, kde nic ještě nemám, mě to z cms nevyhazuje ...
|
||
peta Profil |
Nedavno jsem resil odlogovani session (cookies) v IE stranky ve frame. IE takovou stranku nepovazoval za dostatecne duveryhodnou, pokud mu to tam extra neposles pomoci header.
header('P3P: CP="CAO PSA OUR"'); // aby session fungovala spravne v iframe v IE session_start(); Zkus ten kod ulozit nekam bokem a radek po radku to kopiruj do ciste stranky a testuj. Zjistis, kterym radkem problem vznika. |
||
Časová prodleva: 12 let
|
0