使用 JavaScript 加密字符串并从服务器端 (Java) 解密
Encrypt A String With JavaScript And Decrypt It From Server Side (Java)
我需要在客户端加密一个字符串并将其发送到服务器。到达那里后,我需要解密它。
使用基于密码的加密是最佳解决方案吗?
我需要它,因为我有一个投票机制,我发送 ajax 帖子来投票一个条目。此机制使用当前用户的 Facebook ID。我的目标是从客户端加密FB id,以避免他们通过发送具有不同ID的请求来破解它。如果发送具有相同ID的第二个帖子,我将阻止投票。
一旦id被解密,我将使用图表检查它是否是真正的FB用户。
Javascript加密在这里无济于事。 任何优秀的侦探/黑客都可以看到客户端上是如何完成的,并查看数据在加密之前是什么,并查看它是如何加密的。
防止用户多次投票的唯一方法是将投票绑定到一个帐户或令牌,您可以在服务器上验证该帐户或令牌,也可以将其绑定到特定用户,这对于用户来说不容易创建许多不同的帐户。 一般来说,你可能无法完全停止它,但你可以让它变得足够麻烦,大多数人不会通过让它需要足够的步骤(包括某种验证码,所以它不能自动化(。
SSL 将保护客户端/服务器通信,但不会阻止客户端执行您不希望它们执行的操作。
加密"在这里没有任何意义,正如您已经被告知的那样(因为在加密之前可以操纵客户端加密的值(,SSL当然也不能解决这个问题。
而是将用户的访问令牌发送到服务器。然后要么使用它(/me
(发出用户数据请求,要么对其进行调试 - 然后您将知道该请求是真实的,因为用户不能"伪造"其他用户的访问令牌。
考虑到没有身份验证,可以使用HTTP指纹来检查具有不同userID的请求是否来自同一用户。
指纹将从HTTP请求数据创建,例如:
-用户代理
-语言
-知识产权
-字符集
以及 HTTP 请求中存在的其他数据。
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Java服务器端验证
- Web浏览器上Java,ReactJS代码的服务器端渲染
- 使用 JavaScript 加密字符串并从服务器端 (Java) 解密
- 服务器端JavaScript相对于Java的优势
- 获取Java Script返回到服务器端的值
- 客户端Java服务器与Javascript之间的套接字通信
- 服务器端Javascript是否有类似Java类路径的功能
- 如何从HTML/JS和android调用Java服务器端方法
- 如何编写客户端Java脚本以在NodeJS服务器上运行
- 无法在 java 中从应用程序的服务器端获取/设置 cookie
- 用JAVA在服务器端使用javascript指令处理XSLT
- Java html5 websocket服务器端和客户端示例
- 从 java 脚本调用 asp.net 中的服务器端事件
- 使用Java服务器端在iFrame上显示生成的PDF文件
- 如何使用服务器发送的事件广播到多个用户使用javascript在客户端和java在服务器端
- 什么是服务器端java脚本?我们可以在服务器端使用java脚本吗?对于前端开发人员来说,需要知道哪种类型的java脚本
- 向用户显示服务器端 [Java] 的问题
- 如何保持服务器端Java和客户端JS DTO属性的一致性
- 混合服务器端java和客户端javascript图表库