答案 0 :(得分:5)
答案 1 :(得分:3)
答案 2 :(得分:0)
答案 3 :(得分:0)
密码应存储为salted哈希。每种都使用独特的盐。对于散列,有更好的选择,但SHA1可用于许多目的(可通过DBMS_CRYPTO获得)。更好的是使用SHA256(使用http://jakub.wartak.pl/blog/?p=124)。
用户注册确认实际上取决于网站。如果您希望快速吸引用户,则可以在注册后的有限时间内允许他们进入,直到他们点击激活链接。所有激活确实让您获得与用户关联的真实电子邮件地址。还要考虑使用captcha来防止自动/脚本化注册。
登录应在一些无效尝试后强制执行临时锁定(并在连续锁定命中时提醒管理员)。也强制实施密码复杂性。
OWASP对安全网络应用程序设计有非常好的一般建议。 维基百科有关于Oracle Apex Security的一些信息。另一条评论提出了一个网络测试工具,如Acunetix或NTO Spider(我建议改为Burp),还有一个工具,通过分析源(ApexSec)来测试Apex应用程序的安全性 - (披露,我为这家公司工作)。
您还可以考虑针对您的应用程序的第三方视图,即渗透测试或代码审查。 Web应用程序防火墙可以根据您的上下文提供一些值。