可能重复:
PHP在cookie中存储密码
在登录系统中,如果用户想要保持登录状态,则需要将密码存储在浏览器cookie中.我之前经历过很多关于SO的问题,并发现将密码存储在浏览器cookie中并不安全.我想知道我是否喜欢
$string = 'snfcikkfbnvekrew';
$salt = md5($passwrod.$string);
$password = md5(sha1(md5("$salt$string$salt"))); //or some other random sequence of encryption functions
Run Code Online (Sandbox Code Playgroud)
我只是想知道如果有人访问cookie会发生什么样的攻击?
我有一个mysql表,我想检查是否存在columnA = $ a和$ columnB = $ b的行.我不需要从那里选择任何东西.什么应该是有效的查询?目前我喜欢,
if ($stmt = mysqli->prepare("SELECT * FROM TABLE WHERE columnA=? && columnB= ? LIMIT 1")) {
$stmt->bind_param("ss", $a, $b);
$stmt->execute();
$stmt->store_result();
$count=$stmt->num_rows;
$stmt->close();
}
return ($count > 0 ? true : false);
Run Code Online (Sandbox Code Playgroud) 我想从mysql中选择与特定ID匹配的行。如果ID匹配,我想获取结果;如果数据库中不存在ID,则不应执行任何操作。
我像这样跑:
$q = "SELECT * FROM entries where id= '1'";
$result = mysql_query($q) or die(mysql_error());
if($result){
$row = mysql_fetch_array($result) or die(mysql_error());
$name = $row['name'];
}
echo "hello".$name;
Run Code Online (Sandbox Code Playgroud)
如果在数据库中存在id'1',它应该获得名称,否则什么也不是,至少它应该给出错误,但是当我使用它时,它仅显示此代码之后的页面内容。我做错了什么?
我在上一个关于S O的问题中找到了以下代码.在下面的代码中,如果用户提供的用户名和密码正确,则user_id和username存储在会话中以保持记录.我的问题是,为什么需要在会话中保留user_id?是不是只有一件事(例如,用户名)足以存储在会话中?如果启用了记住,则仅设置用户名的cookie.现在我的问题是,只有用户名cookie足够吗?任何人都不能只在浏览器中编辑或添加cookie并登录系统吗?
谢谢你的回复.
<?
public function login($username, $pass, $remember) {
// check username and password with db
$result = $conn->query("select * from login where
username='".$username."' and
password=sha1('".$pass."')");
if (!$result) {
throw new depException('Incorrect username and password combination. Please try again.');
}
if ($result->num_rows>0) {
$row = $result->fetch_assoc();
$_SESSION['user_id'] = $row[user_id];
$_SESSION['username'] = $username;
// start rememberMe
$cookie_name = 'db_auth';
$cookie_time = (3600 * 24 * 30);*/ // 30 days
// check to see …Run Code Online (Sandbox Code Playgroud)