Skip to main content

PHP, Magic_Quotes. Getting rid of magic quotes issues

This is how i get rid of magic quotes issues on my PHP projects.


 function array_map_r( $func, $arr )  
 {  
   $newArr = array();  
   foreach( $arr as $key => $value )  
   {  
     $newArr[ $key ] = ( is_array( $value ) ? array_map_r( $func, $value ) : ( is_array($func) ? call_user_func_array($func, $value) : $func( $value ) ) );  
   }  
   return $newArr;  
 }  
 
 if (get_magic_quotes_gpc()) {  
   // Yes? Strip the added slashes  
   $_REQUEST = array_map_r('stripslashes', $_REQUEST);  
   $_GET = array_map_r('stripslashes', $_GET);  
   $_POST = array_map_r('stripslashes', $_POST);  
   $_COOKIE = array_map_r('stripslashes', $_COOKIE);  
 } else {  
   $_REQUEST = array_map_r('addslashes', $_REQUEST);  
   $_GET = array_map_r('addslashes', $_GET);  
   $_POST = array_map_r('addslashes', $_POST);  
   $_COOKIE = array_map_r('addslashes', $_COOKIE);  
 }  



Popular posts from this blog

Yii, return to previous url after login or logout

If you want to return to your previous url after login or logout try this : <?php $this -> redirect (Yii :: app () -> request -> urlReferrer ); ?> To set the return url to be the url that was before the login page or registeration page was called you can put following code in views/layouts/main.php file : <?php //this checks id the controller action is not 'login' then it keeps the current url in returnUrl if (CController :: getAction () -> id != 'login' ) { Yii :: app () -> user -> setReturnUrl (Yii :: app () -> request -> getUrl ()); } ?>

Yii2: Using csrf token

Yii2: Using csrf token First, if you do not understand what is the CSRF token? and why should we use it, please refer to the following link : https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF) One of the new features of Yii2 is CSRF validation enabled by default. If you use ajax or basic form as follows : <form action='#' method='POST'> ........... </form> You will get an error exception : Bad Request (#400): Unable to verify your data submission That is because you do not submit csrf token. The easiest way if you dont care about csrf just disable it in main config : 'components' => [ 'request' => [ .... 'enableCsrfValidation'=>false, ], ..... ], Or in Controller : public function beforeAction($action) { $this->enableCsrfValidation = false; return parent::beforeAction($action); } So how to use Csrf Validation for your strong security website: * Wi