考虑(通常情况)您拥有一个购物车网站并托管在 Internet 上,现在,您的托管公司为您提供数据库来存储您的数据。如果谈论安全性,我们需要它:
- 保护服务器上的文件和文件夹(访问权限)。
- 数据库:使用密码保护数据库。
- 编程:保护购物车(保护 Web 应用程序)。
- 传输中的数据:当客户端发送到服务器时以及服务器向客户端发送响应时(表单、订单历史记录、用户资料等),保护传输中的数据,例如(用户注册、付款、发票等)
最大的问题:如何确保完整性?
- 确定修改或试图修改数据的未经授权的访问?
- 确定尝试或执行未授权操作的授权访问?
- 确定整个系统的完整性
DB 例如,保存在 MySQL 和 MSSQL 等数据库中的数据没有加密,它在 DB 服务器上被认为是安全的,对于拥抱行也是如此,加密会降低性能,如果攻击者访问 DB 服务器,他也可以获得私钥.
文件和文件夹假设我们加密了所有执行关键操作(如访问控制、数据保存等)的文件,现在,无论如何,如果攻击者可以访问服务器,他可以添加一行来发送所有文件($ _POST、$_SESSION、$_COOKIE 和 $_GET)发送到电子邮件。
传输中的数据 考虑实现 SSL,但中间人攻击可以获得流量的副本(这是可能的)。现在我和 stackexchange.com 之间有多少个网络?数千!Me -> My ISP (Clients -> Core -> Border Routers -> Foreign ISP -> Foreign ISP -> Stackexchange Data Center -> Some Cluster or any other model -> Stackexchange) 我们如何确保这些网络之间的数据不修改的?
只看这张图!目前可用的不仅仅是想法:

在这一点上:我问是否有任何机制可以为始终依赖于传输中数据的 Web 应用程序提供更好的安全性?我希望得到一些答案,让我对安全感到悲伤:(