PHP DDOS是一种利用php写的一款向外部服务器发布数据的一段代码了,几年前自己服务器中过一次php ddos了,phpddos主要作用是黑客利用服务器本身的php环境,然后把代码上传服务器上,再利用外部工具来控制这段代码的执行与攻击外部的那台机器,从而让你机器资源耗尽了,下面我们来看360杀毒PHP-DDOS脚本专杀工具怎么安装使用吧
1、百度搜索 360PHP-DDOS脚本专杀工具 我们进入到360官方去下载这个工具包。
2、下载好工具包之后我们再把 360doskill.php 上传到你的网站根目录了。
3、 然后我们再直接在浏览器输访问360doskill.php,访问地址:http://网站域名/360doskill.php
![360杀毒PHP-DDOS脚本专杀工具怎么安装?服务器中PHP-DDOS怎么查找?](/upload/news/201611/20140822142023342.png)
4、然后我们输入默认的用户名与密码登录。
![360杀毒PHP-DDOS脚本专杀工具怎么安装?服务器中PHP-DDOS怎么查找?](/upload/news/201611/20140822142026823.png)
5、然后我们点击扫描就可以扫描整个目录了,当然也可以指定目录搜索php ddos代码了。
![360杀毒PHP-DDOS脚本专杀工具怎么安装?服务器中PHP-DDOS怎么查找?](/upload/news/201611/20140822142028160.png)
6、如扫描之后会发现所有的php ddos文件所在目录我们只要远程上服务器删除即可。
友情提示,我们的最好对360doskill.php 文件的默认用户名与密码进行修改哦。
我们做的简单评论功能会发现有提交很多的html标签了这些标签会导致页面有一些外连了,下面我们一起来看在Php中过滤表单提交的html标签方法。
近评论中有一些机器人提交的post链接,都是一些垃圾评论。为了减少这种无谓的链接内容出现,其实是可以用php来删除表单POST提交的html标签,这样机器提交的信息也不会得到他们要的结果。而且可以减少来自seo/seo.html" target="_blank">搜索引擎的惩罚。
去掉<br/>标签
某些情况我们需要去掉<br/>标签,可以使用str_replace函数。
//取出br标记
代码如下 |
复制代码 |
$str=str_replace("<br>","",$str);
|
移除html标签
可以使用strip_tags函数搞定。
代码如下 |
复制代码 |
$str= strip_tags($str);
|
封装成一个函数
代码如下 |
复制代码 |
<?php
function removehtml($str){
$str=str_replace("<br>","",$str);
return strip_tags($str);
}
?>
|
CC攻击攻击的原因就是不停的刷新动态页面如php+mysql读写数据库的页面,这样如果刷新比较快可以导致页面卡死或服务器资源使用超量,从而导致服务器挂了,下面给大家整理了一些防止CC攻击的例子。
CC攻击原因
CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。
cc攻击刷新页面对我们没有任何意义,要说有意义就是把我们的网站资源使用尽了。
防御CC攻击可以通过多种方法,禁止网站代理访问,尽量将网站做成静态页面,限制连接数量,修改最大超时时间等。
例子
代码如下 |
复制代码 |
<?php
//代理IP直接退出
empty($_SERVER['HTTP_VIA']) or exit('Access Denied');
//防止快速刷新
session_start();
$seconds = '3'; //时间段[秒]
$refresh = '5'; //刷新次数
//设置监控变量
$cur_time = time();
if(isset($_SESSION['last_time'])){
$_SESSION['refresh_times'] += 1;
}else{
$_SESSION['refresh_times'] = 1;
$_SESSION['last_time'] = $cur_time;
}
//处理监控结果
if($cur_time - $_SESSION['last_time'] < $seconds){
if($_SESSION['refresh_times'] >= $refresh){
//跳转至攻击者服务器地址
header(sprintf('Location:%s', 'http://127.0.0.1'));
exit('Access Denied');
}
}else{
$_SESSION['refresh_times'] = 0;
$_SESSION['last_time'] = $cur_time;
}
?>
|
防火墙是防CC攻击一个非常不错的解决方案了,不但不会对服务器有任何影响同时能有效的防止CC攻击
推荐小站长可使用安全狗来做防CC攻击或使用linux iptalbs来防止CC攻击,同样像我的服务器有机房防火墙会自动拦截这些类型的攻击哦。
防止站长提交表单无非就是对每一次打开表单或提交数据都会需要加一个token来进行验证了,这个其实与验证码做法没什么两样了,下面来看几个防止站外远程提交表单的例子。
例子一,我们每一次打开提交页面生成一个token然后保存在session中,当表单提交时我们来判断当前的token值与session是否一致,如果是的就是正常提交否则就是无效提交了。
代码
代码如下 |
复制代码 |
<?php
session_start();
if ($_POST['submit'] == "go"){
//check token
if ($_POST['token'] == $_SESSION['token']){
//strip_tags
$name = strip_tags($_POST['name']);
$name = substr($name,0,40);
//clean out any potential hexadecimal characters
$name = cleanHex($name);
//continue processing....
}else{
//stop all processing! remote form posting attempt!
}
}
$token = md5(uniqid(rand(), true));
$_SESSION['token']= $token;
function cleanHex($input){
$clean = preg_replace("![\][xX]([A-Fa-f0-9]{1,3})!", "",$input);
return $clean;
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<p><label for="name">Name</label>
<input type="text" name="name" id="name" size="20" maxlength="40"/></p>
<input type="hidden" name="token" value="<?php echo $token;?>"/>
<p><input type="submit" name="submit" value="go"/></p>
</form>
|
还有一种比较明显的做法就是利用验证码了,这种验证码的方式与其它的方式是一样的哦,下面看个简单的例子
增加验证码
表单提交时候增加验证码,可以有效防止灌水机提交数据。但是随着图形图像识别程序变的更加强大,验证码识别也不断的在提高他的难度,有些验证码甚至加入了声音的识别,一些小站点可以采用这样的方式。
代码如下 |
复制代码 |
if($_POST['vcode'] != get_vcode())
{
exit('验证码校验失败,无法入库');
}
|
具体的例子就不介绍了网上很多验证的相关例子。
跨站攻击就是利用程序上的一些细节或bug问题进行的了,那么我们要如何耿防止跨站攻击呢?下面我们费话不说多了来给大家整理一个防止跨站攻击例子,希望对各位有帮助。
代码是最好的语言。。
代码如下 |
复制代码 |
<?php
#demo for prevent csrf
/**
* enc
*/
function encrypt($token_time) {
return md5(‘!@##$@$$#%43′ . $token_time);
}
$token_time = time();
$token = encrypt($token_time);
$expire_time = 10;
if ($_POST) {
$_token_time = $_POST['token_time'];
$_token = $_POST['token'];
if ((time() – $_token_time) > $expire_time) {
echo “expired token”;
echo “<br />”;
}
echo $_token;
echo “<br />”;
$_token_real = encrypt($_token_time);
echo $_token_real;
//compare $_token and $_token_real
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=”content-type” content=”text/html; charset=utf-8″ />
<title>test for csrf</title>
<meta http-equiv=”" content=”" />
</head>
<body>
<form method=”post” action=”">
<input type=”text” name=”text” id=”" value=”hello” />
<input type=”hidden” name=”token” id=”" value=”<?php echo $token ?>” />
<input type=”hidden” name=”token_time” id=”" value=”<?php echo $token_time ?>” />
<input type=”submit” name=”submit” id=”" value=”submit” />
</form>
</body>
</html>
|
通过在你的表单中包括验证码,你事实上已经消除了跨站请求伪造攻击的风险。可以在任何需要执行操作的任何表单中使用这个流程
当然,将token 存储到session更好,这儿只是简单示例下
简单分析:
token防攻击也叫作(令牌)了,我们在用户访问页面时就生成了一个随机的token保存session与表单了,用户提交时如果我们获取到的token与session不一样就可以提交重新输入提交数据了
标签:[!--infotagslink--]