Exemple #1
0
 /**
  * @return $this
  */
 public function createNewToken()
 {
     $byteLength = 32;
     $token = bin2hex(openssl_random_pseudo_bytes($byteLength));
     $this->session->set($this->tokenFieldName, $token);
     return $this;
 }
 public function testCreateTokenCreatesNewTokenInSession()
 {
     $newToken = $this->csrfHandler->createNewToken()->getCurrentToken();
     $this->assertNotEmpty($newToken);
     $this->assertEquals($newToken, $this->csrfHandler->getCurrentToken());
     $this->assertEquals($newToken, $this->session->get('_csrf'));
     $anotherToken = $this->csrfHandler->createNewToken()->getCurrentToken();
     $this->assertNotEmpty($anotherToken);
     $this->assertNotEquals($newToken, $anotherToken);
 }
 public static function createMockSession(\PHPUnit_Framework_TestCase $testCase)
 {
     $keyValueStore = new KeyValueStore();
     $sessionWrapper = $testCase->getMockBuilder(SessionWrapper::class)->getMock();
     $sessionWrapper->method('getValues')->willReturn([]);
     $sessionWrapper->method('sessionStart')->willReturn(true);
     $sessionWrapper->method('sessionName')->willReturn('Test Session');
     /** @var SessionWrapper $sessionWrapper */
     $session = new Session($sessionWrapper, $keyValueStore);
     $session->start();
     return $session;
 }
Exemple #4
0
 private function __construct()
 {
     $this->user = null;
     $this->token = null;
     $this->privs = null;
     $this->users = User::app();
     $this->sessions = Session::app();
 }
Exemple #5
0
 /**
  * hatalı alanları dizi değişkene set eder
  *
  * @return void
  */
 public static function setFormError($fieldName, $message = 'Lütfen alanı boş geçmeyiniz!')
 {
     Session::createSession([self::ERROR_FORM_MESSAGE_NAME => [$fieldName => $message]]);
 }
Exemple #6
0
 /**
  * token oluşturur
  * @return void
  */
 public static function createTokenSession()
 {
     if (!Validate::_isset('token', $_SESSION)) {
         Session::createSession(['token' => self::createToken(6, 6)]);
     }
 }
Exemple #7
0
 /**
  * toplu validate yapan method
  *
  * <code>
  * $VALIDATE = new Validate();
  * $VALIDATE->add(new ValidateAdd("mail", array(Validate::CHECKISEMAIL), array('Lütfen mail adresinizi doğru giriniz!')));
  * $VALIDATE->add(new ValidateAdd('username',array(Validate::CHECKISNOTNULL,5,10), array(
  *                              'Lütfen kullanıcı adınızı giriniz',
  *                              'Lütfen en az %s karakter giriniz',
  *                              'Lütfen kullanıcı adı ksımına en fazla %s karakter giriniz')));
  * $returnArr = $VALIDATE->checkValidate($_GET);
  * </code>
  *
  * @param array $paramArr Girdi dizisi (POST, GET, vb.)
  * @param boolean $setFieldMessage Form alanlarina hata mesaji eklensin mi?
  *            true olarak seçildiğinde otomatik olarak form elemanlarına
  *            hata mesajlarını set eder
  * @param bool $canBeNull CHECKISNOTNULL disindakilerin bos birakilmasina musade edilsin mi?
  * @return array
  */
 public function checkValidate(array $paramArr, $setFieldMessage = false, $canBeNull = false)
 {
     try {
         $keyArr = array();
         $validateArr = $this->getData();
         if (is_array($validateArr)) {
             /** @var ValidateAdd $obj */
             foreach ($validateArr as $obj) {
                 $valueArr = $obj->getValidateData();
                 $keyArr[] = $valueArr[0];
                 if (isset($paramArr[$valueArr[0]])) {
                     $checkNeeded = !($canBeNull && $this->isEmpty($paramArr[$valueArr[0]]));
                     switch ($valueArr[1][0]) {
                         case 'checkIsNotNull':
                             $check = $this->checkIsNotNull($paramArr[$valueArr[0]], $valueArr[1][1], $valueArr[1][2]);
                             if ($check != 3) {
                                 $this->returnArr[$valueArr[0]] = sprintf($valueArr[2][$check], $valueArr[1][$check]);
                             }
                             break;
                         case 'checkLength':
                             if ($checkNeeded) {
                                 $check = $this->checkIsCharacterLength($paramArr[$valueArr[0]], $valueArr[1][1], $valueArr[1][2]);
                                 if ($check != 3) {
                                     $this->returnArr[$valueArr[0]] = sprintf($valueArr[2][$check], $valueArr[1][$check]);
                                 }
                             }
                             break;
                         case 'checkSelectionIsNotNull':
                             if (!$this->checkSelectionIsNotNull($paramArr[$valueArr[0]])) {
                                 $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                             }
                             break;
                         case 'checkIsEmail':
                             if ($checkNeeded) {
                                 if (!$this->checkIsEmail($paramArr[$valueArr[0]])) {
                                     $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                 }
                             }
                             break;
                         case 'checkIsCepTel':
                             if ($checkNeeded) {
                                 if (!$this->checkIsTel($paramArr[$valueArr[0]], true)) {
                                     $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                 }
                             }
                             break;
                         case 'checkIsTel':
                             if ($checkNeeded) {
                                 if (!$this->checkIsTel($paramArr[$valueArr[0]], false)) {
                                     $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                 }
                             }
                             break;
                         case 'checkIsString':
                             if ($checkNeeded) {
                                 if (!$this->checkIsString($paramArr[$valueArr[0]])) {
                                     $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                 }
                             }
                             break;
                         case 'checkIsNumeric':
                             if ($checkNeeded) {
                                 if (!$this->checkIsNumeric($paramArr[$valueArr[0]])) {
                                     $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                 }
                             }
                             break;
                         case 'checkIsArray':
                             if ($checkNeeded) {
                                 if (!$this->checkIsArray($paramArr[$valueArr[0]])) {
                                     $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                 }
                             }
                             break;
                         case 'checkIsInteger':
                             if ($checkNeeded) {
                                 if (!$this->checkIsInteger($paramArr[$valueArr[0]])) {
                                     $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                 }
                             }
                             break;
                         case 'checkIsFloat':
                             if ($checkNeeded) {
                                 if (!$this->checkIsFloat($paramArr[$valueArr[0]])) {
                                     $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                 }
                             }
                             break;
                         case 'checkIsIp':
                             if ($checkNeeded) {
                                 if (!$this->checkIsIpAddress($paramArr[$valueArr[0]])) {
                                     $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                 }
                             }
                             break;
                         case 'checkIsAlphaNumeric':
                             if ($checkNeeded) {
                                 if (!$this->checkIsAlphaNumeric($paramArr[$valueArr[0]])) {
                                     $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                 }
                             }
                             break;
                         case 'checkIsHourOfMinuts':
                             if ($checkNeeded) {
                                 if (!$this->checkIsHourOfMinuts($paramArr[$valueArr[0]])) {
                                     $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                 }
                             }
                             break;
                         case 'checkIsIntegerMinMax':
                             $check = $this->checkIsIntegerMinMax($paramArr[$valueArr[0]], $valueArr[1][1], $valueArr[1][2]);
                             if ($check < 2) {
                                 $this->returnArr[$valueArr[0]] = $valueArr[2][$check];
                             }
                             break;
                         case 'checkIsTcKimlikNo':
                             if ($checkNeeded) {
                                 if (!$this->checkIsTcKimlikNo($paramArr[$valueArr[0]])) {
                                     $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                 }
                             }
                             break;
                         case 'checkIsSorguKisitlama':
                             if (!$this->checkIsSorguKisitlama($this->sorguKisitlamaIpBazlimiOlacak($valueArr[1]))) {
                                 $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                             }
                             break;
                         case 'checkIsDate':
                             if ($checkNeeded) {
                                 # girilen tarihi büyüktür küçüktür kontrolü yapılacak
                                 if ($valueArr[1][1] instanceof \model\validate\ValidateDate) {
                                     $check = $this->checkIsDate($paramArr[$valueArr[0]], $valueArr[1][1]->getSeperator(), $valueArr[1][1]->getEnAzZaman(), $valueArr[1][1]->getEnCokZaman());
                                     if (is_integer($check)) {
                                         $this->returnArr[$valueArr[0]] = $valueArr[2][$check];
                                     }
                                     if (!$check) {
                                         $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                     }
                                 } else {
                                     if ($valueArr[1][1] != '') {
                                         $check = $this->checkIsDate($paramArr[$valueArr[0]], $valueArr[1][1]);
                                     } else {
                                         $check = $this->checkIsDate($paramArr[$valueArr[0]]);
                                     }
                                     if (!$check) {
                                         $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                                     }
                                 }
                             }
                             break;
                         default:
                             throw new \Exception('Bilinmeyen bir array ');
                             break;
                     }
                 } else {
                     if ($valueArr[0] == '_max' && $valueArr[1][0] == 'checkIsSorguKisitlama') {
                         if (!$this->checkIsSorguKisitlama($this->sorguKisitlamaIpBazlimiOlacak($valueArr[1]))) {
                             $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                         }
                     } else {
                         $this->returnArr[$valueArr[0]] = $valueArr[2][0];
                     }
                 }
             }
         }
     } catch (\Exception $error) {
         throw new \Exception($error->getMessage());
     }
     # kombo bax'lardaki değerlerden farklı bir değer set edilirse
     #######################################################################################
     /*$CACHE =& \model\cache\Cache::factory(Config::CACHE_CLASS);
     		//Debug::dump($paramArr);
     		foreach ($paramArr as $formInputKey=>$formInputVal){
     		    $cacheArr = $CACHE->getCache(\model\form\FormGenerator::getCacheId($formInputKey));
     		    if(is_array($cacheArr)){
     		        $combodakiDegerHaricindeBirDegerMiSetEdildi=true;
     		        foreach ($cacheArr as $key=>$val){
     		            
     		            if($key==$paramArr[$formInputKey]){
     		                $combodakiDegerHaricindeBirDegerMiSetEdildi=false;
     		                break;
     		            }
     		        }
     		        if($combodakiDegerHaricindeBirDegerMiSetEdildi){
     		            if($paramArr[$formInputKey]!=''){
     		                  $this->returnArr[$formInputKey]=self::COMBOBOX_ERROR_MESSAGE.'<!--'.$formInputKey.'-->';
     		            }
     		        }
     		    }
     		}*/
     #########################################################################################
     if ($setFieldMessage) {
         $ERRORMESSAGE = new ErrorMessage($this->getLanguageFile());
         foreach ($this->returnArr as $fieldName => $value) {
             $ERRORMESSAGE->addFieldError($fieldName, $value);
         }
         $ERRORMESSAGE->setErrorField();
         $formValueArr = [];
         foreach ($paramArr as $name => $value) {
             if ($value != '') {
                 $formValueArr[$name] = $value;
             }
         }
         Session::createSession([self::FORMVALUENAME => $formValueArr]);
     }
     $returnArr = $this->returnArr;
     $this->returnArr = array();
     return $returnArr;
 }
Exemple #8
0
 /**
  * bir önceki session verilerinden bilgileri birleştirerek session'a set eder
  *
  * @return void
  */
 public function set()
 {
     if (Validate::_isset(self::FORMDATANAME, $_SESSION)) {
         $sessionArr = (array) Request::_session(self::FORMDATANAME);
         $this->dataArr['page'] = Request::_get('page');
         Session::createSession([self::FORMDATANAME => array_merge($sessionArr, $this->dataArr)]);
     } else {
         Session::createSession([self::FORMDATANAME => $this->dataArr]);
     }
     return $this;
 }
Exemple #9
0
 /**
  * dil dosyası set eder
  * @return void
  */
 private function setLang()
 {
     if (Validate::_isset('lang', $_GET)) {
         $lang = Request::_get('lang');
         if (is_dir(Config::ROOT_PATH . '/language/' . $lang)) {
             Session::createSession(['language' => $lang . '.UTF-8']);
             $paramArr = array();
             foreach ($_GET as $key => $value) {
                 if ($key != 'page' && $key != 'lang') {
                     $paramArr[$key] = $value;
                 }
             }
             Header::redirect(URL::setURL($paramArr));
         }
     }
 }