DDoS(分布式拒绝服务攻击)通常在服务器级别被阻止吗?
有没有办法在PHP级别阻止它,或者至少减少它?
如果没有,阻止DDoS攻击的最快和最常见的方法是什么?
据说,不应该将所有域添加到CORS,而应该只添加一组域.然而,添加一组域有时并非易事.例如,如果我想公开公开API,那么对于想要调用该API的每个域,我需要联系以将该域添加到允许的域列表中.
我想在安全影响和减少工作之间做出有意识的权衡决定.
我看到的唯一安全问题是DoS攻击和CSRF攻击.使用IMG元素和FORM元素已经可以实现CSRF攻击.可以通过阻止对引用者头部的请求来克服与CORS相关的DoS攻击.
我错过了安全隐患吗?
===编辑===
Access-Control-Allow-Credentials
未设置标头我很确定这个错误今天才出现,以前从未发生过。当我创建一个新的 React 应用程序时,该过程发现了 1 个高漏洞:
高: 拒绝服务
包: http-proxy
已打 补丁:无可用补丁
依赖: react-scripts
路径: react-scripts > webpack-dev-server > http-proxy-middleware > http-proxy
更多信息: https : //npmjs.com/advisories/1486
(我的“ react-scripts
”版本是3.4.1)。当然,“ npm audit fix
”不起作用。
我该怎么办?有什么需要关心的,或者我可以正常工作吗?
目前我有以下代码供阅读InputStream
.我将整个文件存储到StringBuilder
变量中,然后处理该字符串.
public static String getContentFromInputStream(InputStream inputStream)
// public static String getContentFromInputStream(InputStream inputStream,
// int maxLineSize, int maxFileSize)
{
StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String lineSeparator = System.getProperty("line.separator");
String fileLine;
boolean firstLine = true;
try {
// Expect some function which checks for line size limit.
// eg: reading character by character to an char array and checking for
// linesize in a loop until line feed is encountered.
// if …
Run Code Online (Sandbox Code Playgroud) 我正在寻找在服务实现中检测和防止DOS的最佳实践(而不是外部网络监控).该服务处理用户,组和属性信息的查询.
您最喜欢的DOS处理信息来源是什么?
这可能更适合Serverfault,但许多只来这里的网络开发人员可能会从这个问题的可能答案中受益.
问题是:您如何有效地保护自己免受针对您的网络服务器的拒绝服务攻击?
读完这篇文章后我问自己这个问题
对于那些不熟悉的人,这是我记忆中的事情:DoS攻击将通过反复向您的服务器发送虚假标头来尝试占用您的所有连接.
通过这样做,您的服务器将达到可能的同步连接的限制,因此,普通用户将无法再访问您的站点.
维基百科提供了更多信息:http://en.wikipedia.org/wiki/Denial_of_service
Django检测和防止DoS攻击的最佳做法是什么?是否有任何可用的应用程序或中间件可以防止网站访问和扫描僵尸程序?
目前,我正在使用Route53来管理我的域名,子域名等.但我想为我的终端添加DDoS保护.所以我也想使用Cloudflare.但我找不到同时使用其中两个的方法,我可以将Cloudflare dos保护放在AWS r53前面吗?
denial-of-service amazon-web-services cloudflare amazon-route53
我正在编写一个在PHP中使用XML API的Web应用程序,我担心三个特定的漏洞,都与内联DOCTYPE定义有关:本地文件包含,二次实体爆炸和指数实体爆炸.我喜欢使用PHP的(5.3)内置库,但我想确保我不会受这些影响.
我发现我可以使用libxml_disable_entity_loader消除LFI,但这对内联ENTITY声明没有帮助,包括引用其他实体的实体.
SimpleXML库(SimpleXMLElement,simplexml_load_string等)很棒,因为它是一个DOM解析器,我的所有输入都很小; 它允许我使用xpath并非常容易地操作DOM.我无法想象如何停止ENTITY声明.(如果可能,我很乐意禁用所有内联DOCTYPE定义.)
XML Parser库(xml_parser_create,xml_set_element_handler等)允许我使用xml_set_default_handler设置包含实体的默认处理程序.我可以破解它,因此对于无法识别的实体,它只返回原始字符串(即"&ent;").这个库令人沮丧:因为它是一个SAX解析器,我必须编写一堆处理程序(多达9 ..).
那么是否可以使用内置库,获取类似DOM的对象,并保护自己免受这些各种DoS漏洞的影响?谢谢
这个页面描述了三个漏洞,并提供了一个解决方案...如果我只使用.NET:http://msdn.microsoft.com/en-us/magazine/ee335713.aspx
更新:
<?php
$s = <<<EOF
<?xml version="1.0?>
<!DOCTYPE data [
<!ENTITY en "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa....">
]>
<data>&en;&en;&en;&en;&en;&en;&en;&en;&en;&en;&en;&en;.....</data>
EOF;
$doc = new DOMDocument();
$doc->loadXML($s);
var_dump($d->lastChild->nodeValue);
?>
Run Code Online (Sandbox Code Playgroud)
我也试过loadXML($s, LIBXML_NOENT);
了.在这两种情况下,我最终倾销300多MB.有什么东西我还在遗失吗?
我正在编写一个小型Web应用程序,因为我正在学习使用Parse.com的功能.
由于application_id和javascript_key都是公共的(如文档中所述),这意味着任何人都可以自由运行代码,如下面的代码段所示:
function sendRequest(){
var query = new Parse.Query(Parse.User);
query.find({
success: function(results) {
console.log("Request sucessful");
},
error: function(error) {
console.log("Request error: " + error.code + " " + error.message);
}
});
}
setInterval(sendRequest, (1000 / hitsPerSecond));
Run Code Online (Sandbox Code Playgroud)
我认为它可以很容易地导致"DOS"攻击 - 任何愿意将这个应用程序关闭的人只需要恢复公钥并发送大量请求.
编辑帐户有一个请求/限制,免费计划从30开始,但使用这个简单的脚本可以使任何订阅计划饱和.
考虑到这是正确的 - 对此有什么好的做法吗?任何模式适用?
提前致谢,
security ×5
php ×2
cloudflare ×1
cors ×1
ddos ×1
django ×1
doctype ×1
html5 ×1
http-proxy ×1
java ×1
javascript ×1
protection ×1
python ×1
reactjs ×1
readline ×1
webserver ×1
xml-parsing ×1