Closed. This question needs to be more focused。它当前不接受答案。
                        
                    
                
            
        
            
        
                
                    
                
            
                
                    想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                
                    5年前关闭。
            
        

    

坦白地说,我之前从未部署过快速应用程序,我不熟悉开发人员在部署Web应用程序之前必须采取的一些安全预防措施。

1)我的网站很简单,不需要用户登录
2)我只会在用户提交表单后存储用户IP
3)我使用mongolab

我认为我没有实施任何安全系统,因为我主要在线上遵循“基本”教程。我非常感谢一些专家提供的一些技巧和“必须/必须-不能-要做”的信息。

谢谢

最佳答案

只是为了使球滚动:


您需要在服务器端执行输入/表单验证,以防止sql注入(在数据存储区执行恶意sql代码)。在您的情况下,您不使用RDBMS,但仍要考虑将用户输入的值传递到mongolab世界时的假设。
此外,在将用户输入的数据输出回html时,请执行输出清理操作,以防止XSS(跨站点脚本编写-当某人成功让您将有效的JavaScript输出到html页面上时,他可能会查看,也可能不会查看)


https://github.com/ctavan/express-validator似乎是一个很好的中间件,可以帮助您在服务器端进行表单验证。

其他一般安全注意事项:


如果您通过网络传递敏感信息,请考虑通过https进行。通过HTTP以纯文本格式发送的密码容易受到中间人攻击。
仅打开需要的端口,并在可能的情况下过滤服务器的源流量。
拒绝服务(DoS)攻击是指太多同时请求使服务器不堪重负,并常常导致服务器崩溃或对其他用户的有效请求失去响应。没有针对此问题的明确解决方案。如果来自日志的攻击源似乎是少数IP,则可以阻止这些IP。否则,如果僵尸网络精心策划的攻击对您不利,那么您在谈论的是启发式算法,有可能防止此类攻击。但是,除非您是一个很大的目标或打错了一个错误的人,否则这实际上并不重要:)。


还有更多要考虑的因素,但是不同的考虑因素可能取决于您的特定体系结构和需求。不想让您不知所措,而是从服务器端验证开始,尤其是在JavaScript等弱类型语言中。另外,远离eval()。

保留访问+错误日志,并随学而学。

如果您想进一步了解当前的Webapp安全性,请从OWASP Top 10开始

09-20 23:26