测试 Rails 中的敏感信息(参数)过滤

发布于 2025-01-07 15:09:35 字数 365 浏览 0 评论 0原文

我有一个 Rails 3.0.x 应用程序,我更改了通过表单提交的信用卡号。在进行更改之前,过滤已正确设置并正在过滤号码:

grep 'parameters' config/application.rb 
config.filter_parameters += [:password, :password_confirmation, :sin, :credit_card_number, :verification_value]

我更改了字段名称,并且不再过滤号码......但是,没有测试捕获此情况。

有没有一种简单的方法来验证我的参数过滤在我的自动化测试中是否有效?如果重要的话,我们使用 shoulda 和 testunit。

I have a Rails 3.0.x app that I changed the credit card number that was submitted via a form. Before I made the change, the filtering was set up correctly and was filtering the number:

grep 'parameters' config/application.rb 
config.filter_parameters += [:password, :password_confirmation, :sin, :credit_card_number, :verification_value]

I changed the name of the field and the number was no longer filtered... however, no test caught this.

Is there a simple way to verify that my parameter filtering is working in my automated tests? We use shoulda and testunit, if that matters.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

〃温暖了心ぐ 2025-01-14 15:09:35

应该有一个控制器匹配器:

should filter_param(:credit_card_number)

Shoulda has a controller matcher for this:

should filter_param(:credit_card_number)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文