nknk 3 Denunciar post Postado Agosto 18, 2008 Alguém já ouviu falar de Session hijacking ? É uma questão de segurança importante ? Se sim, Quais seriam as soluções? Compartilhar este post Link para o post Compartilhar em outros sites
rabusky 0 Denunciar post Postado Agosto 18, 2008 xx Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Agosto 18, 2008 Então, o Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Agosto 18, 2008 Então, o que li em alguns sites na era este artigo. Dai pensei que alguem tivesse um código pronto. Eu não entendi como é que se gera um id longo se os ids da session normalmente contém 32 caracteres. O único jeito que eu consigo pensar sobre criptografia seria em ssl, e como ficaria sem ssl? Teria que fazer uma especie de md5 para cada variavel/campo de um $_POST ? Essa função session_regenerate_id() está em vias de extinção? Ou pretende continuar no php6? Pq qdo uso aqui no dreamweaver ela não fica azul. Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Agosto 19, 2008 http://forum.imasters.com.br/index.php?showtopic=301264 :D Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Agosto 21, 2008 valeu, vou testar Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Agosto 22, 2008 Eu fiz algumas modificações pq estava dando erro, mas não sei se estão corretas. Alguém pode verificar? Eu coloquei o session_start() antes session_set_save_handler para funcionar e outras mudanças não fizeram tanta diferença... <?php function sessie_regenerate_id() { $randlen = 32; $randval = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; $randvallen = strlen($randval); $random = ""; for ($i = 1; $i <= $randlen; $i++) { $random .= substr($randval, rand(0,($randvallen - 1)), 1); } if (session_id($random)) { return true; } else { return false; } } function open($save_path, $session_name) { global $conec; $old_sessionid = session_id(); sessie_regenerate_id(); $new_sessionid = session_id(); if (ini_get('session.use_cookies') == 1) setcookie(session_name(), session_id(), ini_get("session.cookie_lifetime"), "/"); $sql = "UPDATE ".$dtabela." SET session_id = '".$new_sessionid."' WHERE session_id = '".$old_sessionid."'"; mysql_query($sql, $conec); return(true); } function close() { global $conec; return mysql_close($conec); } function read($id) { global $conec; $ssnmysqlid = mysql_real_escape_string(session_id(),$conec); $sql = "SELECT session_data FROM ".$dtabela." WHERE session_id = '".$ssnmysqlid."'"; if ($result = mysql_query($sql, $conec)) { if (mysql_num_rows($result)) { $record = mysql_fetch_assoc($result); return strrev($record['session_data']); } } return(""); } function write($id, $sess_data) { global $conec; $ssnmysqlid = mysql_real_escape_string(session_id(),$conec); $sql = "REPLACE INTO ".$dtabela." VALUES('".$ssnmysqlid."', '".time()."', '".strrev(mysql_real_escape_string($sess_data,$conec))."')"; return mysql_query($sql, $conec); } function destroy($id) { global $conec; $ssnmysqlid = mysql_real_escape_string(session_id()); $sql = "DELETE FROM ".$dtabela." WHERE session_id = '".$ssnmysqlid."'"; return mysql_query($sql, $conec); } function gc($maxlifetime) { global $conec; $ssnmysqlid = mysql_real_escape_string(session_id(),$conec); $sql = "DELETE FROM ".$dtabela." WHERE session_expires < '".(time() - $maxlifetime)."'"; return mysql_query($sql, $conec); } $localhost=""; // Session MySQL Host $usuaro=""; // Session MySQL User $password=""; // Session MySQL Password $dbanco=""; // Session MySQL Database $dtabela=""; // Session MySQL Table in $dbanco; // Conecta-se ao banco de dados $conec = mysql_connect($localhost, $usuaro, $password); mysql_select_db($dbanco, $conec); session_start(); session_set_save_handler("open", "close", "read", "write", "destroy", "gc"); ?> Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Agosto 24, 2008 Eu não consegui utilizar este script, acho q a session está se perdendo. Por causa disso gostaria de saber se ele é necessário em um sistema que está em https. Compartilhar este post Link para o post Compartilhar em outros sites