0

本质上,正是标题所说的。我以前从未列入白名单,也不知道从哪里开始。我需要宝石吗?请帮忙

4

1 回答 1

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

在可能的情况下,始终在黑名单之上应用白名单逻辑。

于 2011-07-10T06:08:13.363 回答