FRED™  3.0
FRED™: Framework for Rapid and Easy Development
UserAgent.php
Go to the documentation of this file.
1 <?php
2 
4 
5 class UserAgent extends \Rsi\Fred\Security\Check{
6 
7  public $illegal = ['<script','{','}']; //!< Array containing illegal characters / snippets (reg-ex).
8 
9  public function check($expected = false){
10  if($user_agent = $this->component('client')->userAgent){
11  $user_agent = preg_replace('/\\d+/','*',$user_agent);
12  if(preg_match('/(' . implode('|',$this->illegal) . ')/i',$user_agent)) return false;
13  $orig = $this->session->userAgent;
14  if($orig !== null) return $user_agent === $orig;
15  $this->session->userAgent = $user_agent;
16  }
17  return true;
18  }
19 
20 }
Rsi\Fred\Security\Check
Definition: Csrf.php:3
Rsi\Fred\Component\component
component($name)
Get a component (local or default).
Definition: Component.php:81
Rsi\Fred\Security\Check\UserAgent\check
check($expected=false)
Perform the check.
Definition: UserAgent.php:9
Rsi\Fred\Security\Check\UserAgent
Definition: UserAgent.php:5
Rsi\Fred\Security\Check\UserAgent\$illegal
$illegal
Array containing illegal characters / snippets (reg-ex).
Definition: UserAgent.php:7