Welcome Guest, Not a member yet? Register   Sign In
How to access controller property inside a filter?
#4

(This post was last modified: 04-16-2020, 06:10 PM by Gary.)

I've done something that sounds vaguely similar to what you're wanting to do (this one keeps a log (using another model 'controller') to flag users who are possibly up to no good) using the CI Throttle filter:

Code:
class Throttle implements FilterInterface
{
        public function before(RequestInterface $request)
        {
                $throttler = Services::throttler();

                // Restrict an IP address to no more than set requests per MINUTE across the site
                if ($throttler->check($request->getIPAddress(), THROTTLER_REQUESTS_PER_MIN_LIMIT, MINUTE) === FALSE) {

                        $userAuditModel = new \App\Models\UserAuditModel();
                        $userAuditModel->audit_throttle_count_increment();    // keep a record of this user's throttling

            return Services::response()->setStatusCode(429);    // will result in a Server Time-Out Error modal being shown
                }
        }
...

... not sure if this helps?
Reply


Messages In This Thread
RE: How to access controller property inside a filter? - by Gary - 04-16-2020, 05:53 PM



Theme © iAndrew 2016 - Forum software by © MyBB