<?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';
}
?>
|