- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我读过一篇couple的related questions对此,但他们没有直接回答我的问题。 Firebug 等开发人员工具允许任何人在发送表单之前查看和操作表单数据。一个很好的例子是调整隐藏的“成员 ID”字段的值,以便将表单提交记入另一个用户的帐户。
防止此类篡改的最佳方法是什么?我的研究建议将敏感的表单输入移至服务器端脚本,但还有其他选择或注意事项吗?
我熟悉 PHP 和 jQuery,因此我理想的解决方案将使用其中一种或两种语言。
最佳答案
您不能使用 jQuery 来确保安全,因为它都是在客户端处理的。
在您的示例中,只需在隐藏的输入字段中使用 PHP session ,因为正如您正确地指出的那样,这可以被操纵。
使用 session 将如下所示:
登录页面
<form action="login.php" method="post">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" name="submit" value="submit">
</form>
登录.php
// you have to include this on every page to be able to user sessions.
// also make sure that you include it before any output
session_start();
//Always sanitize the user input before doing any db actions.
//For example by using: `mysql_real_escape_string()` ( http://php.net/manual/en/function.mysql-real-escape-string.php ).
// check user credentials against db
$_SESSION['user'] = $dbresult['username'];
page-where-userid-is-required.php
session_start();
if (!isset($_SESSION['user'])) {
// user is not logged in!
} else {
// use user info to place order for example
}
session 将一直处于事件状态,直到用户关闭浏览器/直到 session 过期(这是 PHP 设置)
以上只是一些示例代码,供您引用。
它适用于较小的项目,但是随着项目变得越来越复杂,我建议采用 MVC(模型、 View 、 Controller )方式。 (http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)
但这只是另一个故事了:)
关于security - 保护表单数据免受恶意用户使用 Firebug 侵害的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6116234/
这个问题在这里已经有了答案: The Bash command :(){ :|:& };: will spawn processes to kernel death. Can you explain
这个恶意 javascript 代码到底在做什么? (function () { var qk = document.createElement('iframe'); qk.src =
我的 JavaScript 代码是否可以在运行时被(恶意)用户编辑,即使它已上传到网络托管站点? 例如,如果我在脚本中声明一个变量,如下所示: var myvalue = 2; 我想知道是否可以编辑为
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
例子: if($('#' + untrusted_js_code).length) > 0 ....` 通常“untrusted_js_code”应该是表示项目 ID 的简单字符串。变量的值来自
我不确定这是 StackOverflow 还是更多的程序员问题,但这里的其他几个人也提出了类似的问题。 在扫描我的 Google Analytics 帐户时,我注意到一些退出链接标记有查询字符串: ?
我正在开发一个 servlet(在 tomcat 上运行),它接收包含 Java 脚本代码的请求,并使用 java 脚本 API 框架评估/运行代码并将答案返回给用户。 由于我们处理的是用户生成的代码
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我是一名优秀的程序员,十分优秀!