强制/保护 POST 参数

2023-12-07

我的标题可能含糊不清,所以请检查下面我的情况。

我有一个网络应用程序来管理员工列表。该应用程序采用中心辐射模式设置,单击员工列表中的员工会重定向到一个新窗口,显示所选员工的个人详细信息以进行可能的更新。

该应用程序使用 HTTPS。通过 GET 检索员工列表和详细信息,同时通过 POST 更新详细信息。该应用程序使用 HTTPS,所有用户(只有我们几个人)都有权检索和更新员工详细信息。

我的问题是,在更新/发布操作期间是否仍然需要或建议检查员工 ID(主键)?理论上,经验丰富的用户可以在 POST 之前更改员工 ID 并更新另一名员工的详细信息,甚至无需提取第二名员工的记录。尽管如此,即使该用户以某种方式欺骗了界面,他的任何“黑客”行为都是可以接受的,因为用户无论如何都可以检索和更新任何员工。

因此,就我而言,您是否仍然认为有必要强制执行一种机制,以便只有当前显示的记录可更新?如果是,实施这一点的公认做法是什么?谢谢


许多基于网络的系统被设计为无状态的。主要原因是允许多个会话/窗口。

您可以将当前编辑的员工 ID 存储在会话变量中,并且只允许更改该员工 ID,但是,如果用户在同一会话中打开两个浏览器窗口怎么办?现在,您必须保留每个窗口当前编辑的员工 ID。好吧,您没有这些信息,因此您必须将员工 ID 存储在表单本身中,而这一切都可以由客户编辑。

因此,只需在服务器上强制执行规则,如果他们有权编辑该员工,就让他们编辑。

确保您的系统使用 HTTPS 来防止中间人攻击、转义所有输出以防止跨站点脚本 (XSS)、要求所有更新都使用 POST 以及使用会话和表单令牌来防止跨站点请求伪造 (CSRF) 。完成此操作后,任何员工 ID 操纵都可能是自己造成的,而您的工作并不是保护用户免受自身伤害。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

强制/保护 POST 参数 的相关文章

  • ActiveMQ发送ObjectMessage

    我正在使用 ActiveMQ 在我当前的项目中实现消息系统 我需要发送和接收 Java 对象 而不是简单的文本或二进制消息 Java 对象 我的消息对象 根据需要实现了 Serialized 接口 ActiveMQ 的最新版本添加了一些安全
  • JavaScript 中的安全数据

    我必须为 Web 测试创建生成器 使用 HTML 和 JavaScript 测试必须离线和在线进行 正确答案和分数评估必须是生成的测试的一部分 最终用户的分数仅发送到服务器 无法在服务器上进行评估 并且服务器对问题一无所知 它只保存最终分数
  • 如何在使用cmake完成make后打印消息?

    我正在尝试使用 CMake 完成构建过程后打印消息 我只是想在之后通知用户make命令已完成 没有任何错误 我该怎么做 我试过add custom target 但我无法选择何时跑步 另外 我尝试过add custom command 它再
  • Jquery POST 获取建议列表

    我有下一个代码 它运行良好 问题是当用户写完单词时 脚本不断创建后调用并不断更改建议列表 我想做一些事情 如果用户继续写一个单词 脚本会停止所有的 post 调用 只执行最后一个 inputString keydown function l
  • MS Access 执行 POST Web 请求

    在我的 MS Access 应用程序中 我需要定期向我的网络服务器发送一批信息 我不需要任何花哨的东西 比如 SOAP XML RPC 或任何东西 只需一个简单的 POST 页面请求就足够了 我用谷歌搜索了一下 但找不到任何真正有用的东西
  • iOS NSURLSession,如何在didCompleteWithError中重试

    我想在我的服务器上尝试一次调用 直到成功为止 我想每 30 秒尝试一次 所以我使用 NSURLSession 进行通话 NSURLSessionDownloadTask task self session downloadTaskWithR
  • C# 构建一个 webservice 方法,它接受 POST 方法,如 HttpWebRequest 方法

    我需要一个接受 POST 方法的 Web 服务 访问我的服务器正在使用 POST 方法 它向我发送了一个 xml 我应该用一些 xml 进行响应 另一方面 当我访问他时 我已经使用 HttpWebRequest 类进行了管理 并且工作正常
  • 如何在 iOS 上固定证书的公钥

    在提高我们正在开发的 iOS 应用程序的安全性时 我们发现需要对服务器的 SSL 证书 全部或部分 进行 PIN 操作以防止中间人攻击 尽管有多种方法可以做到这一点 但当您搜索此内容时 我只找到了固定整个证书的示例 这种做法会带来一个问题
  • 受信任的 1.5 小程序可以执行系统命令吗?

    如果是的话 这个能力有什么限制吗 具体来说 我需要以 Mac OSX 为目标 我以前用过这个在 Windows 系统上启动东西 但从未在 Mac 上尝试过 public void launchScript String args Strin
  • python:API 令牌生成及其危险

    我正在按照 Flask Web Development 一书来实现基于令牌的身份验证 基本上 用户使用 HTTP 基本身份验证对其进行身份验证 并为其生成令牌 s Serializer app config SECRET KEY expir
  • 无法将 POST 方法与 Feign 一起使用

    我正在尝试为 stockfigher 游戏 api 编写包装器 只是为了了解 feign 的工作原理 但我对第一个 POST 方法有疑问 RequestMapping method RequestMethod POST value venu
  • 访问被拒绝(“java.io.FilePermission”“执行”)

    我是初学者 这是我写的第一个小程序 我想用小程序运行 exe 应用程序 java代码 package appletexample import java io import java awt import java applet Apple
  • 使用python将json和文件发送到flask

    我遇到这个问题 我试图在单个函数中向 Flask API 发送 接收一些文件和 JSON 在我的客户端 发件人 上我有 my json to be sent datas var1 var1 var2 var2 my file to be s
  • Ruby on Rails 服务器在 HTTPS POST 请求期间崩溃

    我正在尝试与你沟通城市飞艇API http urbanairship com docs push html broadcast使用 ROR Web 应用程序 在我的控制器中 我有以下代码 require net http require n
  • 以下 Android HTTP 示例/教程 - 为网络活动实现异步任务的问题

    我正在尝试遵循有关发布 HTTP 数据的教程 但是由于 IO 线程上的网络活动 它强制关闭主线程 因此我尝试实现 AsyncTask 正如其他几个有用的 SO 用户所建议的那样 但是我已经屠宰了代码 整个辣酱玉米卷饼的力量就向我逼近了 ht
  • 通过 URL 指定控制器类与为每个控制器编写一个脚本相比,有何优缺点?

    今年夏天我安装了两个不同的 PHP 系统 每个都使用两种不同的方法 方法 1 每个任务一个 PHP 文件 该方法需要一个PHP为每个主要任务创建文件 例如 我的上传脚本可以通过http www domain com upload php O
  • md5() 是做什么用的?

    我正在阅读本教程简单的PHP登录系统 http www phpeasystep com workshopview php id 6 最后它建议你应该使用 md5 加密您的密码 http www phpeasystep com worksho
  • iOS SecItemCopyMatching RSA 公钥格式?

    我正在尝试从已生成的密钥对 两个SecKeyRefs 以便通过线路发送 我所需要的只是一个简单的 modulus exponent 对 它应该正好占用 131 个字节 模数为 128 指数为 3 但是 当我获取关键信息时NSData对象 我
  • .NET 中安全身份的本地化

    我想在 NET 中实现一个用于服务 客户端通信的命名管道 并遇到了这段代码 http code msdn microsoft com windowsdesktop CSNamedPipeCommunication 33b2485c view
  • 如何使用公共客户端颁发的令牌查询keycloak资源权限

    我有一个受 keycloak 保护的前端 Javascript 客户端 前端应用程序的 Keycloak 客户端类型为Public并打电话给blog gui 我还有一个受保护的 APIConfidential客户端名为 blog api 其

随机推荐

  • 从BackgroundWorker内的剪贴板获取数据

    我有一个后台工作者 在 DoWork 方法中我有以下内容 var clipboardData Application Current Dispatcher Invoke new Action gt Clipboard GetData Dat
  • 如何将操作栏选项卡向右对齐?

    我以编程方式添加了操作栏选项卡 我不知道如何将操作栏选项卡向右对齐 ActionBar bar getActionBar bar setNavigationMode ActionBar NAVIGATION MODE TABS instan
  • Google Apps 脚本中的 Cookie 处理 - 如何在标头中发送 Cookie?

    我正在尝试编写一个简单的脚本 从网页中获取文本并处理该字符串 但是 该网站要求我登录 我成功登录该网站 这是我登录的方式 var payload name1 val1 name2 val2 var opt payload payload m
  • 如何格式化 Winform 中 LostFocus 事件的所有文本框值

    我需要在失去焦点事件时向任何相关文本框值中每个数值的千位添加逗号 我创建了以下函数 public static void FormatNumerical this Control control if control is TextBox
  • 递归函数的复杂性 - 时间和空间

    我有兴趣知道如何计算递归函数的时间和空间复杂度 如排列 斐波那契 描述here 一般来说 我们可以在很多地方进行递归 而不仅仅是排列或递归 所以我正在寻找通常遵循的方法来计算时间和空间复杂度 谢谢 看一眼http www cs duke e
  • 带有 if 语句的函数中的全局变量

    好吧 我目前正在做一个用 python 制作二十一点游戏的项目 但遇到了一些麻烦 我的问题之一是我不知道何时将变量定义为全局变量 特别是在带有 if 语句的函数中 如果我在 if 语句之外有一个全局变量 我是否必须声明该变量在 if 语句内
  • 使用“import __main__”是个好习惯吗?

    我正在开发一个相对较大的 Python 应用程序 并且我希望将一些资源保留为可在多个不同模块中访问的全局变量 这些值包括版本号 版本日期 全局配置和一些资源的静态路径 我还包括了一个DEBUG由命令行选项设置的标志 以便我可以在调试模式下运
  • 需要有关流程的帮助

    当我开始像这样的过程时process Runtime getRuntime exec gnome terminal 它启动 shell 执行 我想停止 shell 执行并想从进程重定向 I O 有人能告诉我如何做到这一点吗 我的代码是 pu
  • 从 MFC 应用程序连接到 SQL Server Compact Edition (.sdf)

    我正在 Visual Studio 2008 中构建一个对纹理进行分类的 MFC 应用程序 我需要某种轻量级数据库来保存特征 只是一些双精度和字符串 这些特征可以是 在不同的计算机上携带该应用程序 能够从应用程序对其执行查询 搜索 更新 插
  • Cygwin 看到一个 Windows 看不到的文件——我想从 python 访问这个文件

    我有一个连接到 USB 的设备 它创建一个名为 Tpolling log 的日志文件 我可以通过 Cygwin 看到它 但通过 Windows 看不到它 隐藏文件设置为始终显示 我也无法从 python 访问它 我希望能够在 python
  • 在 GWT Web 应用程序中调用外部应用程序(即 Windows 计算器)

    当用户单击 GWT Web 应用程序中的按钮时 我尝试调用外部 Windows 应用程序 即 calc exe 有没有办法如何做到这一点 以下是我迄今为止已经尝试过的 1 尝试了 Runtime exec 和 ProcessBuilder
  • 使用 OpenMP 进行缩减:线性合并或日志(线程数)合并

    我有一个关于 OpenMP 缩减的一般性问题 这个问题困扰了我一段时间 我的问题是关于将部分金额合并到归约中 它可以线性地完成 也可以作为线程数的对数完成 假设我想减少一些功能double foo int i 有了 OpenMP 我就可以这
  • 是否可以覆盖表单助手?

    使用文档 我可以为我的字段的布局设置自己的助手 但我也想个性化游戏给出的一些字段 主要原因是 Twitter Bootstrap 2 我需要更改 在 checkbox scala html 中 input field args id nam
  • ReplayKit:从未进入 startRecording() 完成处理程序

    问题描述 尽管显示了 允许在 AppName 中进行屏幕录制 弹出窗口 但永远不会输入 startRecording 完成处理程序 偶尔会出现 允许在 AppName 中进行屏幕录制 弹出窗口 当我删除应用程序 重新启动设备并对项目进行清理
  • Oracle SQL - 回合 - 半场

    Oracle ROUND 函数默认 向上舍入 select 3 674 my number round 3 674 2 round on number from dual union select 3 675 my number round
  • Excel VBA 中 ExportAsFixedFormat 的 PDF 输出大小错误

    我使用 Excel 2010 和 VBA 我有以下代码 mySh PageSetup PaperSize xlPaperLetter mySh ExportAsFixedFormat Type xlTypePDF Filename file
  • 如何修复“ConnectionString 属性尚未初始化”

    当我开始我的应用程序时 我得到 ConnectionString 属性尚未初始化 网页配置
  • Phonegap Build:将图像下载到应用程序的文件夹之一

    如果我直接指定路径 我就可以下载图像 文件 存储 sdcard0 如何将图像保存到应用程序中的文件夹之一 我试过this设置应用程序路径的方法 但它对我不起作用 这是我到目前为止所使用的 如果您想将图像保存到 SD 卡 它可以工作 var
  • 有没有一种惯用的方法来缓存 Spark 数据帧?

    我有一个大型镶木地板数据集 正在使用 Spark 读取 读取后 我会筛选行的子集 这些行在应用不同转换的许多函数中使用 以下与我想要完成的逻辑相似但不完全逻辑 df spark read parquet file special rows
  • 强制/保护 POST 参数

    我的标题可能含糊不清 所以请检查下面我的情况 我有一个网络应用程序来管理员工列表 该应用程序采用中心辐射模式设置 单击员工列表中的员工会重定向到一个新窗口 显示所选员工的个人详细信息以进行可能的更新 该应用程序使用 HTTPS 通过 GET