我建设有不同程度的一个RoR应用程序的“级别”一个RoR应用程序“的困难。”该网站被故意设计为可破解,以教会学生如何更好地保护他们的网络应用程序。发展困难
在困难的每个水平日益提高,消毒/安全检查将是更高级一些。对于SQL注入的例子:
- 初级 - 只需插入
'
和你打出来到原始SQL - 中级 - 插入
'
断裂成原始SQL,但某些关键字(如DROP,ALTER等)是“封杀” ... - 高级 - 用户名密码&完全消毒,但是从不同的字符集容易受到攻击,等...
什么是在干燥方式实现代码的最佳方式?现在,我使用的是(可怕的)模式,如:。
if level == 1
# code for beginner
elsif level == 2
# code for intermediate
else
# code for advanced
end
这发生多次:(什么是最好的方式来实现这种模式的
Seth,你的问题是如何重构if/else块,或者如何重新设计整个程序来不需要它?您是否特别担心您的模型,控制器或视图 - 或以上所有内容?根据您提供的信息很难提出重构建议。 – Andrew 2011-03-28 15:24:28