クッキーとセッションを使ったPHPのセキュリティに関して、これは私が攻撃を防ぐためにこれまで行ってきたことです。私は間違った/安全でないことをしましたか?
login.php
if ($username==$dbusername&&$hashed_password==$dbpassword){
setcookie('username[0]',$username,time()+(60*60*24*365));
setcookie('username[1]',$userid,time()+(60*60*24*365));
setcookie('password',$hashed_password,time()+(60*60*24*365));
if($admin=='1') {
setcookie('username[3]',$admin,time()+(60*60*24*365));
}
$_SESSION['logged-in']=1;
logout.php
$time = time()-(60*60*24*365);
setcookie('username[0]', '',$time);
setcookie('username[1]', '',$time);
setcookie('username[2]', '',$time);
setcookie('username[3]', '',$time);
setcookie('password', '',$time);
unset($_COOKIE['username']);
unset($_SESSION['logged-in']);
すべてのページでsession_regenerate_id()を呼び出しますが、セッション固定/ハイジャックを停止するのは正しいですか?
<?php session_start(); session_regenerate_id();
これが私のPHP.iniです。セッションとCookieにセキュリティを提供する他の方法は何ですか。
session.use_trans_sid = 0
session.user_only_cookies = 1
私は例でよりよく学ぶので、どんな例/改善も歓迎しました。