<?php /** * Created by SaphirAngel * User: SaphirAngel */ include 'Request.php';
/* ******** * FLAG * ******** NOT_EMPTY ok NOT_NULL ok CHECK ok NUMERIC ok
***************** * SECURITY FLAG * ***************** HTML_SECURE ok
////// CHECK FLAG ok
************** * CHECK MODE * ************** i integer ok ip positive integer ok in negative integer ok f float ok fp positive float ok fn negative float ok s string ok c character ok b boolean ok m mail ok d date ok
*********************** * ADVANCED CHECK MODE * *********************** ir integer_range => array(min, max) nok fr float_range => array(min, max) nok sr string_regex => '/regex/' nok
////// get_type | is_type METHOD nok
********* * TYPES * ********* integer nok float nok string npk boolean nok character nok
*/
// For test $_POST['titre'] = '<script type="text/javascript">alert("ok");</script><br />Salut<p>ok</p>'; $_POST['x'] = 'test'; $_POST['x_empty'] = ''; $_POST['ND'] = "2"; $_POST['age'] = "50"; $_POST['hidden'] = "false"; $_POST['test'] = "ok"; $_POST['contenu'] = "del"; $_POST['password'] = "b"; $_POST['date'] = "2012/06/12$2013/07/12";
$post = new REQUEST('POST', 'default'); $get = new REQUEST('GET'); $request = new REQUEST('ALL');
/***NORMAL FLAG***/
echo 'Securisation HTML';
$post->shield_off();
echo '<br />Valeur inexistante'; $userDataTest_1 = $post(['x', 'y'], NOT_EMPTY | NOT_NULL)->isValid(); if (!$userDataTest_1) var_dump($post->get_errors_list()); else var_dump($userDataTest_1);
echo '<br />Donnée vide'; $userDataTest_2 = $post(['x_empty'], NOT_EMPTY)->isValid(); if (!$userDataTest_2) var_dump($post->get_errors_list()); else var_dump($userDataTest_2);
echo '<br />Valeur existante'; $userDataTest_3 = $post(['x'], NOT_EMPTY)->isValid(); if (!$userDataTest_3) var_dump($post->get_errors_list()); else var_dump($userDataTest_3);
echo '<br />Valeur numérique'; $userDataNumeric = $post(['ND', 'age'], NUMERIC)->isValid(); if (!$userDataNumeric) var_dump($post->get_errors_list()); else var_dump($userDataNumeric);
// Default flag echo '<br />Valeur avec flag par défaut'; $userDataTest_default = $post(['ND', 'age', 'test'])->isValid(); if (!$userDataTest_default) var_dump($post->get_errors_list()); else var_dump($userDataTest_default);
// CHECK FLAG echo '<br />Check integer ok'; $userDataTest_4 = $post('ND', CHECK, 'i')->isValid(); if (!$userDataTest_4) var_dump($post->get_errors_list()); else var_dump($userDataTest_4);
echo '<br />check positive integer avec echec'; $userDataTest_5 = $post(['ND', 'age'], CHECK, 'pi')->isValid(); if (!$userDataTest_5) var_dump($post->get_errors_list()); else var_dump($userDataTest_5);
echo '<br />check valeur booléenne'; $hidden = $post('hidden', CHECK, 'b')->isValid(); if (!$hidden) var_dump($post->get_errors_list()); else var_dump($hidden);
echo '<br />check simulation post ajout news basique (echec car contenu vide)'; $dataNews = $post(['ND', 'titre', 'contenu'], NOT_EMPTY | CHECK, ['pi', 's', 's'])->isValid(); if (!$dataNews) var_dump($post->get_errors_list()); else var_dump($dataNews);
echo '<br />Check avancée';
$post->shield_on(HTML_SECURE, ['titre', 'contenu']);
$post->shield_on(HTML_SECURE | SQL_SECURE); try { $actionAllowed = ['list', 'update', 'add', 'del']; if ($post(['ND', 'age', 'titre', 'contenu', 'password'], DEFAULT_FLAG | CHECK, ['pi', 'pi', 's', 's', 's'])->isValid()) {
$ND_AGE = $post(['ND', 'age'])->check(['i_range' => [0, 60]], 5); $titre = $post('titre')->validate(['size' => [5, 255]]); $contenu = $post['contenu'];
$action = $post('contenu')->check(['in' => $actionAllowed], 'list');
echo var_dump($ND_AGE); echo ':'.$titre; echo '<br />contenu : '.$action;
} else { var_dump($post->get_errors_list()); }
} catch (PersonalException $e) { echo $e->getShortMessage().' : '.$e->getMessage(); }
try { $date = $post('date')->validate(['date_interval' => '\$']); var_dump($date);
/*
$news_id = $post('ND')->validate('sql_exist' => ['conf1', 'table', 'keyField', 'more']]);
$login = $post('login')->validate(sql_exist' => ['conf1', 'users', 'login', 'activ = 1']);
$paiement = $post('paiement')->validate('json_decode');
json_decode
//NEXT $date = $post('date')->validate(['date_interval' => ['-']], ['date_format' => 'Y/m/d 00:00:00', 'date_format' => 'Y/m/d 23:59:59']);
//$date = $post('date')->format(['date_format' => ['yyyy-mm-dd']]); //$date = $post('date')->format(['date_format' => 'yyyy-mm-dd']);
//$prix = $post('prix')->format(['f_format' => 4]); //$prix = $post('prix')->check(['f_range' => [0, 60]], 4, ['f_format' => 4]); */ } catch(PersonalException $exp) { echo 'problem'; }
?>
|