您必须拥有针对常见网络攻击的防御方法,例如 XSS , Sql Injection ,拒绝服务等?
修改:我根据Wikipedia的说明收集了您的回复。我添加了一些额外的问题以获得完整的参考。
Sql Injection
SQL注入是代码注入 利用安全性的技术 漏洞发生在 应用程序的数据库层。该 用户存在漏洞 输入被错误地过滤 用于字符串文字转义字符 嵌入在SQL语句或用户中 输入不是强类型的 从而意外地执行。它是 一个更一般的类的实例 可能发生的漏洞 无论何时编程或编写脚本 语言嵌入另一个语言中。
跨站点脚本(XSS)
跨站点脚本是一种类型 计算机安全漏洞 通常在Web应用程序中找到 允许代码注入 恶意网络用户进入网页 其他用户查看。示例 这样的代码包括HTML代码和 客户端脚本。被剥削了 跨站点脚本漏洞可以 被攻击者用来绕过访问 控件如同源 政策。
拒绝服务攻击
拒绝服务攻击(DoS 攻击)或分发 拒绝服务攻击(DDoS攻击) 是试图制作电脑 其预期的资源不可用 用户。虽然是携带的手段 DoS的出局,动机和目标 攻击可能会有所不同,一般包括 一致的,恶意的努力 一个人或多个人阻止 互联网站点或服务 有效运作或根本运作, 暂时或无限期地。
我知道似乎无法以编程方式避免拒绝服务攻击,但您的想法是什么?
暴力攻击
在密码分析中,蛮力攻击 是一种打败的方法 加密方案系统地 尝试了大量的 可能性;例如,一个大的 密钥中可能的密钥数 空间以解密消息。 在大多数方案中,理论上 蛮力攻击的可能性是 认可,但它是在这样的 它的计算方式 不可行的。
一些额外的问题:
您如何看待尝试根据您的内容发布输入的网络漫游器?例如,SO正在使用图像验证。
您如何看待javascript eval 功能?
有没有办法访问服务器上没有暴露给外部的内容。例如,我有一个页面,将一些重要的记录插入到我的数据库中,只有我知道它的URL。有没有办法获得这种文件?我知道你可以为它设置一些安全规则。
(注意:目录列表已停用,我托管此文件。)
感谢您的回复!
答案 0 :(得分:7)
您的问题涵盖范围很广。我会试着给你一些指示。如果您更清楚地指出问题,我可以为您提供更具体的信息。
答案 1 :(得分:3)
对于XSS和SQL注入:永远不要逐字输出或执行用户提交的内容。
答案 2 :(得分:2)
答案 3 :(得分:1)
验证!
答案 4 :(得分:1)
最重要的是防止暴力破解密码。通过在输入密码时添加延迟,这很简单。
答案 5 :(得分:1)
我们使用名为fortify的工具扫描我们的软件http://www.fortify.com/(对不起商业产品,但可能还有更多)
它捕获未经验证的用户输入,字符串连接而不是参数等等。
只需尝试此产品,您就可以了解如何编程安全。
答案 6 :(得分:0)
您如何看待尝试根据您的内容发布输入的网络漫游器?例如,SO正在使用图像验证。
图像验证称为CAPTCHA。它可以防止自动机器人填写表单,并有助于验证人员是否实际提交了表单。这些通常用于您想要控制对表单的访问的任何位置。垃圾邮件机器人会尝试填写联系表单以绕过垃圾邮件过滤器,因此您可能需要为此类事情添加一些保护。在大多数情况下,表单滥用很少,但在某些情况下您会看到它。
您如何看待javascript eval功能?
这取决于你如何使用它。像其他任何东西一样,不要相信用户输入。如果您要通过eval()运行他们的输入,请确保它首先通过一个体面的卫生过程。如果您将其输入存储在数据库中并将其显示出来以供其他用户查看,则这非常重要。这适用于SQL,HTML和JavaScript。如果有人可以通过对网站工作方式的充分了解来执行JS代码,他们可以做各种疯狂的事情并模仿登录用户,更改密码等。
有没有办法访问服务器上没有暴露给外部的内容?
正如其他人提到的那样,这将是通过默默无闻的安全性,不推荐。任何敏感都需要放在安全登录区域后面。不要单独依赖“隐藏的URL”。如果有人猜到了您的特殊网址,或者它最终存在于Google可以访问的日志文件中,您可能永远不会知道是否有人设法进入。请对此类内容进行一些身份验证。