本质上,正是标题所说的。我以前从未列入白名单,也不知道从哪里开始。我需要宝石吗?请帮忙
问问题
173 次
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 回答