php加变量div隐藏,php-如何隐藏GET变量?

我正在创建自动电子证书的想法.使用fpdf PHP类创建自定义证书非常容易.我的设置方法是给定URL

http://www.example.com/makepdf.php?name=myname&class=classname

您会从$_GET变量中获得包含学生姓名和他们上课的PDF证书.当然,这意味着任何人都可以操纵URL来轻松创建自定义证书. (他们无论如何都可以在Photoshop中执行此操作,但是这样做的目的是使证书的处理不完全是琐碎的.)一旦课程结束,我想向所有人发送邮件合并,并为其证书提供一个唯一的URL.

您将如何解决这个问题?我应该只创建一组随机数并将其与数据库中的学生/车间对关联吗?是否有解决此问题的标准方法?

解决方法:

几个解决方案脱颖而出:

>存储名称&数据库中的类,并使用数字ID引用它们,而不是在请求中传递数据

>将信息保留在请求中,但添加安全的哈希,以防止篡改数据

哈希机制将如下所示:

生成证书的链接时,您具有$name和$class.您将创建第三个GET变量,该变量是$name,$class和仅程序知道的秘密字符串的哈希.像这样:

$salt = "this is my secret";

$hash = md5($name . $class . $salt);

$url = "http://www.mysite.com/certificate.php?name=" . urlencode($name) . "&class=" . urlencode($class) . "&hash=" . $hash;

现在,当用户点击您的证书生成页面时,您必须验证哈希:

$salt = "this is my secret";

$expected = md5($_GET['name'] . $_GET['class'] . $salt);

if ($expected != $_GET['hash']) {

die("You are not authorized");

} else {

// User is OK; generate the certificate

}

标签:get,php

来源: https://codeday.me/bug/20191023/1916026.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值