- 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/
我正在构建一个单页应用程序,前端使用 vue js,后端使用 laravel。 我有几张供客人使用的联系表格。我编写了一个脚本来向 laravel api 端点发出带有数据的 post 请求。 如何防
好吧,我已经学习了一些 PHP 并尝试制作一个简单的应用程序,但我不确定我的网页是否安全,不会受到 xss 和其他此类攻击。 我的 PHP 代码 和我的 HTML 表单 "> Your Title
我是一名优秀的程序员,十分优秀!