白名单的最佳方法是什么?

时间:2011-07-10 05:47:02

标签: ruby-on-rails gem beta whitelist

基本上,正是标题所说的内容。我以前从来没有列入白名单,也不知道从哪里开始。我需要宝石吗?请帮助

1 个答案:

答案 0 :(得分:1)

白名单是关于如何将程序的输入视为有效的基本编程概念。好还是坏。

白名单:检查输入以查找有效条件并继续进行,如果一切正常;除非一切顺利,否则默认中止操作。

黑名单:检查输入是否存在错误输入,如果是,则拒绝;如果是,则中止操作,否则继续操作。

可能的不良输入领域是无限的,因此可能的良好输入领域是有限的:

白名单检查输入

if %w(some valid input).include?(params[:input])
  # proceed with action
else
  # not in whitelist, throw error
end

黑名单:(不要这样做)

if %(some invalid input).include?(params[:input])
  # throw error, detected invalid
else
  # proceed with action
end

始终在黑名单上方应用白名单逻辑。