存储用户消息

时间:2012-07-31 16:29:11

标签: php mysql database

将用户聊天消息作为纯文本存储在数据库中是否安全?

另一个问题:在哪里存储页面内容 - 在数据库中还是在文件中? Wordpress在数据库中保存博客条目,但它需要25个数据库请求来显示页面,因此网站性能会降低。

5 个答案:

答案 0 :(得分:3)

评论摘要:

  • 考虑到应用程序的性质(互联网上的聊天室),我觉得将聊天记录保存为纯文本是可以接受的,假设用户不聊聊私人/敏感/机密信息。
  • 上述假设可以在人类中给予一些信念和乐观(即:它足够聪明地认识到聊天室或PM会话不是提供密码的时间或地点,SIN,信用卡数字等。)。
  • 关于,围绕着一个人背叛上述假设的情况的担忧,我相信对于最聪明的傻瓜来说,任何数量的万无一失都是不够的。虽然加密聊天绝对是更多安全,但加密每个聊天的成本与加入聊天的附加好处的适用性相反(即,除非聊天包含敏感信息,否则无论如何都是如此) ,这是一个罕见的案例充其量)几乎没有激励加密这些聊天。一个更简单的解决方案是简单地免除对聊天中泄露的私人信息的任何责任。
  • 处理敏感信息的最后一点(这是针对各地互联网用户的信息):不要通过电子邮件,聊天或任何不安全的连接来处理。尽量避免将敏感信息放在记录的位置,除非您绝对放心不会破坏日志。

答案 1 :(得分:2)

单独的问题确实应该作为单独的问题发布......

除了最广泛的答案之外,这两个问题都没有足够明确的定义......

但是我们走了:

  1. 某些内容是否“安全”取决于您的威胁模型(即您对“安全”的定义)。但是有哪些替代品可供您使用?如果您对邮件进行加密,您将在何处存储解密密钥?

  2. 存储数据的位置取决于此类数据的结构以及您打算如何使用它。如果它是“静态的”并且将始终以可预测的方式查询,则文件系统可以提供足够的结构以获得良好的性能;但是,如果数据是“动态的”(即您的应用程序将对其进行修改),则数据库可以提供更大的灵活性或更好的性能。与计算中的大多数问题一样,您采取的设计决策是权衡取舍,最佳答案取决于您自己的要求(实际上,您的“最佳”指标)。

答案 2 :(得分:1)

只要您保证数据库凭据安全,就可以将它们保存在数据库中。我认为没有理由对它们进行加密。

您在谈论什么样的网页内容?如果它是CMS类型的东西,如果您将页面内容保留为页面,您将保留多少页面。上帝!!!!

您应该使用数据库来保存这些内容。它使得将来更新内容变得更容易。您无需担心查询数据库。找出没有经常更新的项目并将其缓存。当您的页面需要这些内容时,请从缓存层而不是数据库表中获取它。

答案 3 :(得分:1)

  

将用户聊天消息作为纯文本存储在数据库中是否安全?

取决于信息的合理程度以及数据库本身的安全性。示例:可以从外部访问数据库还是仅从localhost访问数据库?但是,如果您觉得需要额外的安全层,那么使用一些简单的混淆方法并没有什么坏处。


  

在哪里存储html页面内容 - 在数据库中还是在文件中?

大多数情况下,访问文件比访问数据库更快。

数据库应该用于以结构化的方式存储/访问信息,实现详细的搜索,数据更改等...静态HTML可能更好地保存在文件系统中。但是,有时最好将html内容存储在数据库中。 例子:

在数据库中存储使得更改管理页面中的数据库信息变得更容易,而不是更改文件系统(同样,它更安全)。因此,对于动态创建的页面或CMS(例如Drupal或Wordpress),最好在数据库中存储内容和“布局”。

论坛帖子包含“内容”以及标记(样式)。你通常不会将一个与另一个分开。

答案 4 :(得分:0)

数据库存储也以文件结尾。压缩正在使用中 - 最终节省了更少的内存。