基本上,正是标题所说的内容。我以前从来没有列入白名单,也不知道从哪里开始。我需要宝石吗?请帮助
答案 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
始终在黑名单上方应用白名单逻辑。