CSRF的防御可以从服务端和客户端两方面着手,防御效果是从服务端着手效果比较好,现在一般的CSRF防御也都在服务端进行。
1.服务端进行CSRF防御
服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数。
2024年08月11日
CSRF的防御可以从服务端和客户端两方面着手,防御效果是从服务端着手效果比较好,现在一般的CSRF防御也都在服务端进行。
1.服务端进行CSRF防御
服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数。
2024年08月11日
大家好,我是yangyang,刚刚看到swoole官方有重要更新,赶紧来跟pai huang pian的同学同步这个好消息
2024年08月11日
html简单页面:
index.html代码:
控制器IndexController.class.php代码:
上传结果显示:
2024年08月11日
0x00 背景
近日,360网站卫士安全团队近期捕获一个基于PHP实现的webshell样本,其巧妙的代码动态生成方式,猥琐的自身页面伪装手法,让我们在分析这个样本的过程中感受到相当多的乐趣。接下来就让我们一同共赏这个奇葩的Webshell吧。
2024年08月11日
你可能喜欢的文章
1-1:Nginx+PHP+FastCGI加速模式
1-2:Nginx服务优化(隐藏版本号、修改用户和组、设置链接超时)
1-3:Nginx服务优化(日志切割与设置链接超时)
2-1:Nginx均衡TCP协议服务器案例
2024年08月11日
文章来源:台下言书
前言
每次出去做应急都能碰到各种各样的恶意软件、webshell,有的运气好能在网上遇到大神对该样本的分析文章,这样处理起来就会比较高效。运气不好网上找不到,只能自己去做分析了,比较耗时。而一个恶意软件,就拿碰到最多的挖矿系列来说,基本上都是有下载器、守护程序、释放的主程序、横向程序等多个文件,分布在系统的不同位置。还有就是webshell,找起来同样十分困难。
2024年08月11日
<?php
namespace app\api\service;
use app\api\traits\Singleton;
/**
* 分布式锁
* Class LockService
* @package app\api\service
*/
class LockService extends BaseService
{
private $lockValue;
//有效期,5秒钟
private $expireTime = 5;
//使用场景
private $scene;
//redis连接实例
private $redis;
public function __construct($scene = 'kill', $expireTime = 5)
{
$this->scene = $scene;
$this->expireTime = $expireTime;
$this->redis = RedisService::getInstance()->client();
}
//加锁
public function lock()
{
$this->lockValue = md5(uniqid());
$result = $this->redis->set($this->scene, $this->lockValue,
'EX', $this->expireTime,'NX');
if(empty($result)){
return false;
}
return true;
}
//释放锁
public function unlock()
{
$script = <<<LUA
local key=KEYS[1]
local value=ARGV[1]
if(redis.call('get', key) == value)
then
return redis.call('del', key)
end
LUA;
$this->redis->eval($script, 1, $this->scene, $this->lockValue);
}
}
/*
//调用执行
$lockService = new LockService('kill');
if($lockService->lock()){
//自行相关操作
//释放锁
$lockService->unlock();
}
else{
echo "请求频繁,请稍后再操作\n";
}
*/
2024年08月11日
我们经常可能会用到邀请码,邮件验证码,或者需要使用unique 字符串标记用户属性的情况。
今天我们且不说高深的“全局唯一ID”的生成方案,我们说一个简单的,如何生成一个唯一的,随机的,数组字母组成的字符串。
2024年08月11日
<?php
$appId = AppUtils::getAppId();
$appSecret = AppUtils::getAppSecret();
var_dump($appId,$appSecret);