首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有PHP安全框架可以保护电话号码和密码?

有没有PHP安全框架可以保护电话号码和密码?
EN

Stack Overflow用户
提问于 2008-09-23 13:27:01
回答 3查看 630关注 0票数 1

当涉及到站点安全框架时,我理解“不要自己滚”的咒语。

不管怎么说,对于大多数情况来说。

我将在一个将文本消息集成到系统中的站点上进行协作。

我想使用现有的、经过良好测试的安全框架来保护用户数据,但我也需要它来保护用户的电话号码。

我不想成为一个对用户手机号码列表负责的人,这些用户的手机号码被劫持和发送垃圾邮件。

社区可以提供什么建议?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-09-23 13:46:22

请注意,应用于密码的技术在这里不适用。您可以存储一个加盐和散列的密码(尽管这样做的价值可能有争议),但这不适用于电话号码。

如果有人插孔你的服务器,他们可以做服务器能做的任何事情。这必须包括恢复电话号码,但不包括恢复密码,如果它被很好地散列。因此,电话号码只是保护机密数据的一种特殊情况。

如果手机号码确实是应用程序中唯一的敏感数据,那么你可以考虑隔离应用程序发送短信的部分,并对手机号码进行非对称加密。在不同的进程中(或在不同的机器上)运行一个应用程序,该应用程序具有解密电话号码的密钥。这个应用程序的界面可能只有一个函数,接受加密的no和要发送的消息。保持这个应用程序简单,并测试和审计它的鼻烟。要么对外界隐藏它,要么使用身份验证来证明请求确实来自你的主应用程序,或者两者兼而有之。

数据库和应用程序的主要部分都不能解密手机号码(例如,你不能搜索它们),但它们可以加密它们,以便添加到数据库中。

一般的技术被称为“特权分离”,上面只是一个例子。

请注意,在加密之前,通常需要用随机数据填充电话号码(如在散列密码中加盐)。否则,可以在不知道私钥的情况下回答“加密的电话号码是X吗?”的问题。从垃圾邮件发送者窃取你的分发列表的POV来看,这可能不是问题,但从声称你的电话号码被安全存储的POV来看,这可能不是一个问题,因为这意味着暴力攻击变得可行:只有数十亿个电话号码,而且对于给定的用户,可能会大幅缩小范围。

抱歉,这并没有直接回答你的问题:我不知道是否有一个PHP框架可以帮助实现特权分离。

修改为add:事实上,在我看来,在“保持特权应用程序简单”的标题下,你可能根本不想使用框架。这在某种程度上取决于你是否认为你更有可能在你真正需要的少量代码中留下bug,而不是框架作者在他们编写的大量(但更广泛使用的)代码中留下bug。但这是一个巨大的过于简单化。

票数 7
EN

Stack Overflow用户

发布于 2008-09-23 13:42:22

由于您需要能够检索电话号码,因此您真正能做的唯一一件事是保护它们(除了保护您的数据库的正常操作之外)就是加密它们。这意味着您需要:

  • 确保在您无意中泄漏数据库转储时密钥不会泄漏。
  • 确保当有人设法将SQL注入您的系统时,您的系统不会对电话号码进行有用的解密。

当然,不滚动您自己的建议仍然适用,使用AES或其他具有合理密钥长度的备受推崇的密码。

票数 1
EN

Stack Overflow用户

发布于 2010-11-04 03:06:25

我很高兴地宣布PHP的漏洞安全系统的发布

这个项目代表为PHP带来Spring security在Java中提供的那种安全性,Spring Security以前是Acegi Security System for Spring。它的设计目的是吸引Spring Security用户,因为它们的理念是相同的。这是为PHP站点增加安全性的一种不太显眼的方式。配置是使用底层IoC/DI作为Spring Security使用Spring IoC/DI进行的。

该框架附带了一个示例配置,可以像这样使用:

代码语言:javascript
运行
复制
$context = new substrate_Context(
    './path/to/hole-security/hole-security-config.php'
);

$context->execute();

$hole_Security = $context->get('hole_FilterChainProxy' );
$hole_Security->doFilter();

只需确保框架的引导程序代码在您选择的MVC的引导程序之前执行。

WebSite:http://code.google.com/p/hole-security/

文档:目前您可以在适用的地方使用Spring Security的参考文档。您可以使用Acegi Security参考文档了解大致情况,因为漏洞安全性使用相同的配置方式,但请记住,它是基于Spring Security的。

许可:它是在Apache许可版本2.0下发布的。

特点:漏洞安全带来了一个可插拔的安全系统,您可以在其中采用您的环境的安全需求。目前有一个非常简单的安全系统,因为它是在第一个版本上,但有了它带来的基础,你可以建议或请求将新功能添加到项目中。

目前的特点:

  1. In memory dao身份验证作为概念证明,您可以切换到从数据库或存储用户数据的任何位置获取用户数据的首选dao或实现。在未来版本中,基于PDO的实现将是应用于url模式的created.
  2. Configured过滤器。网址路径匹配器可以被插入,目前它附带了一个ant样式的路径matcher.
  3. Authorization管理器可以在你的应用程序中用来决定在哪里做一些事情,总是从底层context.
  4. Shared安全上下文中获取引用,如果应用了hole_HttpSessionContextIntegrationFilter,可以从你的应用程序的任何代码中访问。您可以使用此上下文保存与会话相关的信息,而无需使用会话对象。directly.
  5. You可以使用定制登录页并根据hole_AuthenticationProcessingFilter配置进行定制,也可以根据您的定制登录页对hole_AuthenticationProcessingFilter进行定制。
  6. 默认的口令编码器为纯文本,不带编码。未来的版本将实现MD5、基于Sha、Base64和其他相关编码。你可以创建你自己的密码编码器并获取configured.
  7. All,对象会根据需要加载,如果像过滤器这样的东西不用于请求,就不会加载。这提高了应用程序的性能,还有其他与漏洞安全相关的功能。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/120977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档