Example #1
0
 /**
  * Called before the test functions will be executed
  * this function is defined in PHPUnit_TestCase and overwritten
  * here.
  *
  * @since 1.0
  */
 protected function setUp()
 {
     $config = ConfigProvider::getInstance();
     $config->set('session.provider.name', 'Alpha\\Util\\Http\\Session\\SessionProviderArray');
     $this->blacklistedClient = new BlacklistedClient();
     $this->blacklistedClient->rebuildTable();
     $this->blacklistedClient->set('client', $this->badAgent);
     $this->blacklistedClient->save();
     $this->blacklistedIP = new BlacklistedIP();
     $this->blacklistedIP->rebuildTable();
     $this->blacklistedIP->set('IP', $this->badIP);
     $this->blacklistedIP->save();
     $this->badRequest1 = new BadRequest();
     $this->badRequest1->rebuildTable();
     $this->badRequest1->set('client', $this->badAgent);
     $this->badRequest1->set('IP', $this->badIP);
     $this->badRequest1->set('requestedResource', '/doesNotExist');
     $this->badRequest1->save();
     $this->badRequest2 = new BadRequest();
     $this->badRequest2->set('client', $this->badAgent);
     $this->badRequest2->set('IP', $this->badIP);
     $this->badRequest2->set('requestedResource', '/doesNotExist');
     $this->badRequest2->save();
     $this->badRequest3 = new BadRequest();
     $this->badRequest3->set('client', $this->badAgent);
     $this->badRequest3->set('IP', $this->badIP);
     $this->badRequest3->set('requestedResource', '/doesNotExist');
     $this->badRequest3->save();
 }
 /**
  * {@inheritdoc}
  */
 public function process($request)
 {
     $client = $request->getUserAgent();
     // if no user agent string is provided, we can't filter by it anyway to might as well skip
     if ($client == null) {
         return;
     }
     if (!empty($client)) {
         $badClient = new BlacklistedClient();
         try {
             $badClient->loadByAttribute('client', $client);
         } catch (RecordNotFoundException $bonf) {
             // client is not on the list!
             return;
         }
         // if we got this far then the client is bad
         self::$logger->warn('The client [' . $client . '] was blocked from accessing the resource [' . $request->getURI() . ']');
         throw new ResourceNotAllowedException('Not allowed!');
     }
 }