针对站点单独的Session管理方案

lyiply

问题描述

我用的最新版的webman,用了多应用组件配置了不同域名,但我只有一两个网站有用户登陆功能,其他站点纯展示信息,现在遇到的问题是一堆黑产刷站点,看LOG日志就是刷session、cookie、request之类,想要针对站点单独的session控制开关,像FPM是需要初始化才能用,CLI能否加配置项

为此你搜索到了哪些方案及不适用的原因

只是搜索到了SESSION怎么使用,没有关闭session的方案,系统框架启动默认了启用session组件,只要在用户端传了session_id值就会在服务端有反应,实际上很多站点不需要启用session,就能避免很多安全日志,现在大量的日志是与session相关,cookie我没用,request做了安全处理

156 1 0
1个回答

webman里单个请求是否开启session完全是看这个请求的代码是否操作了session,如果当前请求的业务代码没有操作session,webman就不会给这个请求开启session。

比如B C站点业务代码里没有session相关的业务逻辑,那么B C站点的请求就不会有session相关的任何操作,即使传递session_id也不会有。

  • lyiply 7天前

    我要的就是你回答的效果,现在的情况是刷了一堆日志

  • walkor 7天前

    发下日志

  • lyiply 7天前

    Workerman\Protocols\Http\SessionException: session_id fce067e8bcdad94194ab37db091f1446GYvnECxE' OR 492=(SELECT 492 FROM PG_SLEEP(15))-- is invalid in /app/vendor/workerman/workerman/Protocols/Http/Session.php:446
    Stack trace:

    0 /app/vendor/workerman/workerman/Protocols/Http/Session.php(151): Workerman\Protocols\Http\Session::checkSessionId('fce067e8bcdad94...')

    1 /app/vendor/workerman/workerman/Protocols/Http/Request.php(275): Workerman\Protocols\Http\Session->__construct('fce067e8bcdad94...')

    2 /app/vendor/hsk99/webman-statistic/src/Middleware.php(157): Workerman\Protocols\Http\Request->session()

    3 /app/vendor/workerman/webman-framework/src/App.php(341): Hsk99\WebmanStatistic\Middleware->process(Object(support\Request), Object(Closure))

    4 /app/vendor/workerman/webman-framework/src/App.php(560): Webman\App::Webman{closure}(Object(support\Request))

  • walkor 7天前

    vendor/hsk99/webman-statistic/src/Middleware.php
    这个中间件里使用了session导致的。你可以只在需要这个中间件的应用中配置它

  • lyiply 7天前

    收到,,谢谢

×
🔝