- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
背景故事:我的网站上运行着一个电子请愿类型的服务,我通过电子邮件向人们发送一个链接,他们可以在其中“同意”请愿书。此链接仅包含发送者的“petitionID”和“用户名”。
这些信息并不是特别敏感,但我仍然要求它是防篡改的,因为我希望他们能够在不登录或在数据库中存储值的情况下接受。
我想到使用Java的String.hashCode()函数。
也许 URL 为:用户名、PetitionId,然后是哈希
www.website.com/accept.jsp?user='username'&id='petid'&token='1039678106'
token 可以由用户名 + id(来自链接)+ datePetitionStarted(如未在网址中公开的盐)组成,如下所示:
String test = "mike.Who@petitionwebsite.com+1524+09/02/2016";
System.out.println(test.hashCode());
这会给我一个哈希值“1039678106”,这意味着服务器端,我可以获取 ID 参数、该人的用户名并使用 datePetitionStarted,获取哈希码并比较它们。
您认为这是防止篡改的有效方法吗?
我真的很想要一种接受请愿的 token 类型的方法,所以如果有人有任何其他想法那就太棒了。
谢谢
迈克
最佳答案
这就是我所做的(实际上是防篡改的)。我不使用java脚本,因为用户无论如何都可以禁用它。我只需创建一个 UUID(存储在用户详细信息旁边的数据库中),然后创建一个在注册过程中通过电子邮件发送的链接。
http://my_domain_name/Activate?key=6faeecf5-9ab3-46f4-9785-321a5bbe2ace
当用户单击上面的链接时,服务器端代码会检查该 key 是否确实存在于数据库中,在这种情况下,它会激活用户帐户。
关于java - 验证 'confirm' 电子邮件链接的防篡改方法以及预防篡改措施?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35290070/
大家好,我是沙漠尽头的狼。 本文首发于 Dotnet9 ,介绍使用 Lib.Harmony 库拦截第三方 .NET 库方法,达到不修改其源码并能实现修改方法逻辑、预期行为的效果,并
我有Helm Applciations使用 Terraform 的 helm_release 资源与 Terraform 一起部署。 有时由于以下一个或多个原因,我的 Kubernetes Pod 将
我有Helm Applciations使用 Terraform 的 helm_release 资源与 Terraform 一起部署。 有时由于以下一个或多个原因,我的 Kubernetes Pod 将
我们开发了一个 Javascript 文件供客户使用。 Javascript 片段对其运行的网站进行屏幕截图,然后通过 jQuery.post() 将其发送回我们的服务器 我们行业的性质意味着我们必须
我在本地主机上运行我的测试站点。 当我用 URL 加载它时: localhost/projects/forums/index.php 它看起来像这样(符合预期) 但是当 我给 URL: localho
我正在 中共同开发一个简单的网络应用程序 rails 3.0.9 我已经意识到可能通过恶意请求篡改 session_id。请注意,这是我的第一个 RoR 应用程序,所以我的概念可能完全错误。 当前的应
我返回了以下 JSON 数据,但由于某种原因,Javascript 或 jQuery ajax 似乎重新组织了项目列表。服务器返回按item.title字母顺序排序的数据(已验证)... 下面的 JS
背景 我是一名经验丰富的 Web 开发人员(主要使用 Python 和 CherryPy),之前从头开始实现过安全 session 管理,现在正在学习 Rails。我正在调查 session 暴露的
我正在使用 MVC3、.NET4.5、C#、Razor。 我在 Codeproject 之外重用了 Albin 的一些非常有用的代码,通过添加哈希来防止 URL 篡改。主要运行良好。 然而…… 我现在
我是一名优秀的程序员,十分优秀!