php - 就地编辑更新脚本安全性

标签 php jquery ajax security edit-in-place

我正在使用就地编辑 jquery 插件,该插件需要将数据发布到将执行实际数据库更新的脚本。

此更新脚本的 URL 可以在 html 源以及 Firebug 中轻松查看,因此我需要在处理更新之前添加某种身份验证检查。当然,这样用户就不能只传递他们想要的任何旧用户 ID/字段/值并弄乱其他人的记录。

我最初也传递了他们的用户名和密码,但这并不理想,因为它是在 GET 请求中,所以全部都在 URL 中。该网站本身至少是 SSL,但无论如何仍然不是最佳实践。

验证此类更新的最佳方式是什么?

FWIW,更新脚本是 PHP 语言,就地编辑插件是:jeditable .

编辑:澄清一下:实际的数据负载已发布到脚本,但就地编辑插件没有明确的身份验证方法,因此我将身份验证作为 URL 的一部分传递给更新脚本,然后通过 GET 获取这些变量并使用它们进行检查。

编辑 2: 是的,我可以从更新脚本访问 session 信息,因此我决定只提取之前保存的用户 ID 并在数据库更新语句中使用它。这似乎是最安全的方法。

最佳答案

我认为您最好将脚本切换为 POST 方法,因为大多数就地编辑用途太大而无法实际使用 GET。您永远不应该使用 SessionId 或密码作为 URL 参数,并且除了查看公共(public)个人资料之外,我不会使用用户名进行任何其他操作。如果您的 AJAX URL 是 PHP 文件,我相当确定它应该能够访问 session ,而无需在 GET 或 POST 数组中传递它。另请注意,请确保在更新数据库之前验证并清理所有信息。

关于php - 就地编辑更新脚本安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/241953/

相关文章:

jQuery 音频淡出和暂停,onclick 淡入音频和恢复

javascript - REACTJS getDOMNode 未定义的动态引用错误

javascript - 如何防止 getJSON 或类似的 ajax 请求解析为 JSON

php - laravel4 数据未插入单个字段

php - 404 页面未找到 - CodeIgniter 相关

php - 调整图像的宽度和高度

javascript - jScrollPane 鼠标中键点击不起作用

javascript - 在构建 ajax 应用程序时放弃 <form> 标记是否合适?

php - 如何在不刷新页面的情况下根据选择框值从 codeigniter 中的数据库中获取值?

PHP - 获取特定时区的当前时间