如何在php中保护cookie



今天我完成了项目的编程。现在我正试图在我的代码中找到一些错误。我意识到,当我想更改我的信息(像用户一样)时,我可以从篡改数据编辑我的用户id(更改标题数据的广告),我可以通过篡改日期更改我的级别(从用户到管理员):/这个代码我用来设置cookie

setcookie('level',$login['level'],time()+120*120*48);
setcookie('username',$login['username'],time()+120*120*48);
setcookie('uid',$login['uid'],time()+120*120*48);

当用户试图添加评论时,我使用$_COOKIE['uid'],它在数据库中只是一个数字(你知道的)

我想给你这个代码,我用它来启动会话,并在每个文件中启动。

include("cookiesset.php");
ob_start();
session_start();
if($_COOKIE['level'] != 1){
...
}else{
...
}

这是我在头上的cookie

uid=1; level=1; username=asd; PHPSESSID=ldr48bua487pjmtvohp53tr662; LoginForm=r9imqbnj2csfrmsu50i9kn0q54

好的,我该怎么修?我想保护我的网站。

如果没有解决方案,我想问。

感谢大家给我的一切,我试着创建一个新的列,它有一个users键,但它需要更多的时间来创建和编辑项目中的所有文件,我试着学习SESSION及其工作原理http://www.w3schools.com/php/php_sessions.asp它很容易学习,(在过去,我认为它不容易)

现在我用

$_SESSION["level"] = $login['level'];
$_SESSION["username"] = $login['username'];
$_SESSION["uid"] = $login['uid'];

在我从数据库中检查了用户名和密码之后

这个在文件中

ob_start();
session_start();
if($_SESSION['level'] != 1){
...
}else{
...
}

来自篡改数据和另一种工具

PHPSESSID=d4i4itbp8p7ri4juvqd690t9a5

只是我看到了PHPSESSID。

谢谢大家,现在一切都很好,非常感谢@Asfo和@miken32给我的好建议。

我希望如果我的代码有任何错误,你可以编辑它并帮助我:)

编辑

谢谢你所做的一切但我意识到,当我从PHPSSID中删除(d4i4itbp8p7ri4juvqd690t9a5)时,我将出现"文件路径泄露"错误,我通过放置error_reporting(0)修复了它;session_start()之后;对于那些想要他的剧本没有bug的人来说,一切都会好起来的;)

error_reporting(0);
ob_start();
session_start();
if($_SESSION['level'] != 1){
...
}else{
...
}

最新更新