代码之家  ›  专栏  ›  技术社区  ›  guigui42

我的网站数据库中的用户安全

  •  1
  • guigui42  · 技术社区  · 14 年前

    在这个网站上,我有一个带有用户表的oracle数据库,它将存储mysite.com用户的登录名和密码

    我有几个问题:

    注册的过程应该是什么?发邮件确认真的有必要吗?

    作为参考,我使用的是Oracle APEX

    4 回复  |  直到 14 年前
        1
  •  5
  •   Sander Marechal    14 年前

    你正在存储与银行有关的敏感个人数据。不要自作主张。使用现有的、经验证的解决方案。在处理此类数据时,您很可能还会遇到各种安全和隐私法律、法规和责任。找一个了解这些规则的人,他可以帮助你并给你建议。

    不要自己动手。”任何人都可以建立一个他们自己无法打破的安全系统。”—我想这是布鲁斯·施耐德的名言。注意它。

    编辑以对评论作出反应:

    像OpenID和Oracle SSO这样的系统只涉及身份验证。法规还规定了最低限度的安全措施,包括如何在数据库中存储数据、如何处理备份、如何与访问数据库的人员(如开发人员)打交道等等。如果你不遵守这些,出了问题,你就要承担责任。

    我真的强烈要求你向这个领域的专家寻求帮助。向他们解释你想做什么,你想储存什么,等等。他们可以告诉你什么(如果有的话)规定适用。只有这样,您才能开始了解如何实现这一点,以及可以使用哪些现成组件。

        2
  •  3
  •   rook    14 年前

    cryptographic nonce . 当考虑到您所依赖的其他安全系统时,身份验证系统非常简单。

    你一定是 非常小心 以确保您的系统没有SQL注入。我建议获得Acunetix($)ntospider($$)或wapiti(开源)的副本。在任何情况下,参数化的quires都是可行的。

        3
  •  0
  •   Community Neeleshkumar S    7 年前
        4
  •  0
  •   foob    13 年前

    密码应存储为咸散列。每种都用一种独特的盐。对于散列,有更好的替代方法,但是SHA1可以用于许多目的(它可以通过DBMS\u CRYPTO获得)。最好使用SHA256(使用 http://jakub.wartak.pl/blog/?p=124 ).

    在一些无效的尝试之后,登录应该强制执行临时锁定(并在连续发生锁定时通知管理员)。还要强制执行密码复杂性。

    OWASP 维基百科有一些关于 Oracle Apex Security . 另一个评论建议使用一个web测试工具,比如Acunetix或ntospider(我建议 Burp ApexSec )—(披露,我在这家公司工作)。

    您还可以考虑应用程序的第三方视图,即渗透测试或代码评审。Web应用程序防火墙可以根据您的上下文提供一些价值。