- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
如果我不在我的表单中使用 csrf token ,我将面临哪些风险?我不是在寻找简单的风险标签或名称,因为这些可能会造成混淆。我需要用通俗易懂的语言了解攻击者究竟可以做什么,以及只有在什么情况下他们才能这样做。
最佳答案
CSRF 漏洞允许恶意用户(或网站)让毫无戒心的用户在您的网站上执行他们不希望发生的操作。
一些现实世界的例子是,如果您允许用户通过 GET 而不是 POST 删除帐户,那么有人可以在您的网站上发表以下评论(假设该网站有某种方式发表评论或其他输入等.)
I thought I'd make a comment on your site. Check out this cool image!
<img src='http://example.com/delete_my_account.php" />
现在只要登录用户加载该页面,他们的帐户就会被删除。如果它是通过 POST 而不是 GET 完成的,那么有人可以制作一个表单并诱使用户提交它,并且会发生相同的结果。而如果您使用 CSRF token ,则这是不可能的。
另一个例子是,外部站点可以制作一个表单,该表单可以 POST 到您的站点,并执行不受欢迎的操作。因此,假设您的网站有一个不使用 CSRF token 的购物车。恶意网站可能会创建一个带有“单击此处注册”按钮的表单,但实际上会从您的网站订购 1000 件商品。如果您站点的登录用户访问此恶意站点并单击该按钮,他们将在邮件中收到一份惊喜。
显然还有其他情况,这些只是几个例子。 Google 搜索应该会显示大量文章和教程,其中许多可能还有一些其他示例。 Wikipedia page还有一些您可能会感兴趣的示例。
这些示例的主要思想是有人可以欺骗您的网站执行某项操作,就好像该操作来自用户一样,而实际上用户并不知道它正在发生或不想发生。如果您在您的网站上有任何破坏性的操作(即可以从用户帐户中删除内容,注销用户等)或关键的(即处理金钱),您应该使用 CSRF token 。如果您的网站只是 friend 的相册等,那么您可能不需要为 CSRF token 操心(尽管在构建需要它们的网站时练习总是好的)。
除非您添加 token 以确保请求来自您的网站有意呈现给用户的表单,否则您实际上没有办法知道用户是否打算执行该操作。
因此,您始终希望在生成的每个 POST 表单上使用唯一 token ,并验证任何发布到您站点的请求是否对当前用户具有有效 token 。还要确保 token 在一段时间后过期,以免它们永远存在。
关于php - 没有 CSRF token 的表单 : what are the risks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4732024/
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 3 年前。 Improve
我正在尝试制作一个函数来给出风险游戏中一掷骰子的赢/输率。 对于那些不知道的人,在 Risk 中有一个攻击者和防御者,攻击者的最大死亡数与防御者的最大死亡数进行比较,并且对每一对骰子重复这种情况,直到
我在 Objective-C 库的回调中收到其中一个:UnsafeMutablePointer 我能够解析它。我也可以创建一个将其送回图书馆,但是:使用“不安全”类型有什么风险?我该如何避免这些风险?
在测试 Adyen 库/SDK 的集成时,即使使用 Adyen Test cards 付款也可能会被拒绝. 设置和代码正确,但风险评分为 100 或更高。 是否可以控制/禁用风险规则,以便在不受风险因
在 ARM 汇编中 bic r0, r0, #0x1f 工作正常。现在我想要 #define MODE 0x1f并将上面的代码更改为 bic r0,r0, #MODE . 这里有风险。如果您忘记在 #
我正在使用 survminer 软件包,并且我想更改风险表的“风险数字”标题的字体大小。尺寸太大了。 library(survminer) p=6"), risk.
我正在开发的一款旧版应用程序让用户填写大量问题,并在问卷的最后批量保存答案。这个过程很长,一个典型的用户可能会在某个时候超时。 团队想出了一个无休止的 session 来绕过这个问题的想法。经过一番谷
我是数据库的新手,我希望您能回答我的问题:我有一个带有 ID 的表,该 ID 是主键,而不是 null 和自动递增。它的数据类型是 int,限制为 50 位。该表将不断接收新行,所以我想知道由于数字限
我还有一个关于我之前的帖子的问题 Processing array in Go parallel : 假设我的数组非常大,例如 a1 := []int{0, 1, 2, 3, 4...1000} a2
在谈到 Vega 时,我是一个新手,非常感谢任何帮助。我目前正在创建一个风险矩阵,其中包含“潜在损害”和“风险暴露”两个维度。最终目标是在 PowerBI 中使用。 我的当前状态可以在这里看到:htt
Rattle R 数据挖掘包中的风险和权重属性角色有什么区别? 最佳答案 拨浪鼓界面的帮助部分对此进行了解释, 风险变量在创建风险图表时在评估选项卡中使用,权重属性用于为观测值赋予权重并在创建模型时使
假设我有一个类 SuperClass 和两个继承自 SuperClass 的子类 SubClassA 和 SubClassB。 abstract class SuperClass{ ...
默认情况下,浏览器不允许跨站点 AJAX 请求。 我知道,设想不当的跨域请求可能会带来安全风险。如果我使用外部站点的 html 或 javascript 并将其“呈现”到我的网站中,那就有问题了。该外
如果我不在我的表单中使用 csrf token ,我将面临哪些风险?我不是在寻找简单的风险标签或名称,因为这些可能会造成混淆。我需要用通俗易懂的语言了解攻击者究竟可以做什么,以及只有在什么情况下他们才
根据 Passing Functions to Spark ,它声称: accessing fields of the outer object will reference the whole ob
我正在开发一款有点像 table 游《RISK》或《全面 war 》系列的战役部分的游戏。我目前已经实现了区域系统,但由于性能不佳,游戏在某些命令后挂起。我确信可以做得更好。 我想做什么 我希望能够呈
我有一个 jQueryMobile 应用程序,其中有多个链接在一起的单页面。其中一些页面使用常见的 javascript 文件。因此,我目前仅在需要它们的页面中导入这些 JavaScript。例如:
不要将此问题作为其他问题的重复项来关闭,因为我没有问同样的事情。他们也一岁左右了。也就是说,请参阅这些链接: http://db.apache.org/jdo/jdo_v_jpa.html http:
如果你看this MSDN 文档中有一个示例,代码如下: // Define a change interceptor for the Products entity set. [ChangeInte
我有一个使用 Yammer“embedFeed”API 嵌入 Yammer 源的应用程序。该应用程序在 SSL 下托管(通过 HTTPS)。 在运行 IE9 的 PC 上,它会导致 IE 显示一个对话
我是一名优秀的程序员,十分优秀!