Пример #1
0
 public function guncelle($id, $data)
 {
     $guncelle = DB::where('id=', $id)->update('yonetim', ['username' => $data["username"], 'email' => $data["email"], 'isim' => $data["isim"], 'soyisim' => $data["soyisim"], 'durum' => $data["durum"], 'ban_durum' => $data["ban_durum"]]);
     if (!empty($data["pass"])) {
         $sifreGuncelle = DB::where('id=', $id)->update('yonetim', ['pass' => Encode::super($data["pass"])]);
     }
     if ($guncelle) {
         return true;
     } else {
         return false;
     }
 }
Пример #2
0
 public function forgotPassword($email = "", $returnLinkPath = "")
 {
     if (!is_string($email)) {
         return Error::set(lang('Error', 'stringParameter', 'email'));
     }
     if (!is_string($returnLinkPath)) {
         $returnLinkPath = '';
     }
     // ------------------------------------------------------------------------------
     // CONFIG/USER.PHP AYARLARI
     // Config/User.php dosyasında belirtilmiş ayarlar alınıyor.
     // ------------------------------------------------------------------------------
     $userConfig = $this->config;
     $usernameColumn = $userConfig['usernameColumn'];
     $passwordColumn = $userConfig['passwordColumn'];
     $emailColumn = $userConfig['emailColumn'];
     $tableName = $userConfig['tableName'];
     // ------------------------------------------------------------------------------
     $db = uselib('DB');
     if (!empty($emailColumn)) {
         $db->where($emailColumn . ' =', $email);
     } else {
         $db->where($usernameColumn . ' =', $email);
     }
     $row = $db->get($tableName)->row();
     $result = "";
     if (isset($row->{$usernameColumn})) {
         if (!isUrl($returnLinkPath)) {
             $returnLinkPath = siteUrl($returnLinkPath);
         }
         $newPassword = Encode::create(10);
         $encodePassword = Encode::super($newPassword);
         $templateData = array('usernameColumn' => $row->{$usernameColumn}, 'newPassword' => $newPassword, 'returnLinkPath' => $returnLinkPath);
         $message = Import::template('UserEmail/ForgotPassword', $templateData, true);
         $sendEmail = uselib('Email');
         $sendEmail->receiver($email, $email);
         $sendEmail->subject(lang('User', 'newYourPassword'));
         $sendEmail->content($message);
         if ($sendEmail->send()) {
             if (!empty($emailColumn)) {
                 $db->where($emailColumn . ' =', $email);
             } else {
                 $db->where($usernameColumn . ' =', $email);
             }
             $db->update($tableName, array($passwordColumn => $encodePassword));
             $this->error = true;
             $this->success = lang('User', 'forgotPasswordSuccess');
             return false;
         } else {
             $this->success = false;
             $this->error = lang('User', 'emailError');
             return Error::set($this->error);
         }
     } else {
         $this->success = false;
         $this->error = lang('User', 'forgotPasswordError');
         return Error::set($this->error);
     }
 }
Пример #3
0
 public function start($fileName = 'upload', $rootDir = UPLOADS_DIR)
 {
     if (isset($this->settings['source'])) {
         $fileName = $this->settings['source'];
     }
     if (isset($this->settings['target'])) {
         $rootDir = $this->settings['target'];
     }
     if (!is_string($fileName)) {
         return Error::set(lang('Error', 'stringParameter', 'fileName'));
     }
     if (!is_string($rootDir)) {
         $rootDir = UPLOADS_DIR;
     }
     // Dosya yükleme ayarları yapılmamışsa
     // Varsayılan ayarları kullanması için.
     if ($this->settingStatus === false) {
         $this->settings();
     }
     $this->file = $fileName;
     $root = $rootDir;
     if (!isset($_FILES[$fileName]['name'])) {
         $this->manuelError = 4;
         return false;
     }
     $name = $_FILES[$fileName]['name'];
     $encryption = '';
     if (isset($this->settings['prefix'])) {
         $encryption = $this->settings['prefix'];
     }
     if (isset($this->settings['extensions'])) {
         $extensions = explode("|", $this->settings['extensions']);
     }
     $source = $_FILES[$fileName]['tmp_name'];
     // Çoklu yükleme yapılıyorsa.
     if (is_array($name)) {
         if (empty($name[0])) {
             $this->manuelError = 4;
             return false;
         }
         for ($index = 0; $index < count($name); $index++) {
             $src = $source[$index];
             $nm = $name[$index];
             if ($this->settings['encryption']) {
                 if (!isset($this->settings['prefix'])) {
                     $encryption = substr(Encode::type(uniqid(rand()), $this->settings['encryption']), 0, $this->settings['encodeLength']) . '-';
                 }
             }
             if ($this->settings['convertName'] === true) {
                 $nm = Convert::urlWord($nm);
             }
             $target = $root . '/' . $encryption . $nm;
             if (isset($this->settings['extensions']) && !in_array(extension($nm), $extensions)) {
                 $this->extensionControl = lang('Upload', 'extensionError');
             } elseif (isset($this->settings['maxsize']) && $this->settings['maxsize'] < filesize($src)) {
                 $this->manuelError = 10;
             } else {
                 if (!is_file($rootDir)) {
                     move_uploaded_file($src, $target);
                 } else {
                     $this->manuelError = 9;
                 }
             }
         }
     } else {
         if ($this->settings['encryption']) {
             if (!isset($this->settings['prefix'])) {
                 $encryption = substr(Encode::type(uniqid(rand()), $this->settings['encryption']), 0, $this->settings['encodeLength']) . '-';
             }
         }
         if ($this->settings['convertName'] === true) {
             $name = Convert::urlWord($name);
         }
         if (empty($_FILES[$fileName]['name'])) {
             $this->manuelError = 4;
             return false;
         }
         if (isset($this->settings['maxsize']) && $this->settings['maxsize'] < filesize($source)) {
             $this->manuelError = 10;
             return false;
         }
         $target = $root . '/' . $encryption . $name;
         $this->encodeName = $encryption . $name;
         if (isset($this->settings['extensions']) && !in_array(extension($name), $extensions)) {
             $this->extensionControl = lang('Upload', 'extensionError');
         } else {
             if (!is_file($rootDir)) {
                 move_uploaded_file($source, $target);
             } else {
                 $this->manuelError = 9;
             }
         }
     }
 }
Пример #4
0
<?php

require_once '../../../../config/config.inc.php';
$challenge = new Challenge();
$challenge->startChallenge();
$pwd = $challenge->getDictionaryWord();
$token = $challenge->getToken();
$pwd = "Samuel";
$passphrase = "Can you give me the firstname of the inventor?";
if (isset($_POST['submit'])) {
    $code = util::getPost('password');
    if ($code == $pwd) {
        $challenge->mark();
        CTF::showAchieved();
    }
}
?>

<center><?php 
echo Encode::morseCode($passphrase);
?>
</center><hr/>
<form autocomplete="off" method="post">
    <input type="hidden" name="action" value="login" />
    <table>
        <tr><td>Code</td><td>:</td><td><input type="text" name="password" /></td></tr>
        <tr><td colspan=2/><td><input type="submit" class="button" name="submit" value="Submit" /></td></tr>
    </table>
</form>
<?php 
$challenge->stopChallenge();
Пример #5
0
 /**
  * Retorna o o tamanho da string sem contar as cores
  *
  * @param string $sText
  * @static
  * @access public
  * @return integer
  */
 public function strlen($sValue)
 {
     $sValue = Encode::toISO($sValue);
     $sValue = strip_tags($sValue);
     $sValue = mb_strlen($sValue);
     return $sValue;
 }
Пример #6
0
 public function rules($name = '', $config = array(), $viewName = '', $met = 'post')
 {
     if (!empty($this->settings['name'])) {
         $name = $this->settings['name'];
     }
     if (!empty($this->settings['method'])) {
         $met = $this->settings['method'];
     }
     if (!empty($this->settings['value'])) {
         $viewName = $this->settings['value'];
     }
     if (!empty($this->settings['config'])) {
         $config = array_merge($config, $this->settings['config']);
     }
     if (!empty($this->settings['validate'])) {
         $config = array_merge($config, $this->settings['validate']);
     }
     if (!empty($this->settings['secure'])) {
         $config = array_merge($config, $this->settings['secure']);
     }
     if (!empty($this->settings['pattern'])) {
         $config = array_merge($config, $this->settings['pattern']);
     }
     $this->settings = array();
     // sistemte validation için oluşturulmuş dil dosyası yükleniyor.
     $viewName = empty($viewName) ? $name : $viewName;
     $messages = array();
     $edit = $this->_methodType($name, $met);
     if (!isset($edit)) {
         return false;
     }
     $i = 0;
     // kenar boşluklarını kaldırır.
     if (in_array('trim', $config)) {
         $edit = trim($edit);
     }
     // nc_clean çirkin kodların kullanılmasını engellemek için kullanılır.
     if (in_array('nc', $config)) {
         $secnc = Config::get("Security", 'ncEncode');
         $edit = Security::ncEncode($edit, $secnc['bad_chars'], $secnc['change_bad_chars']);
     }
     // xss_clean genel de xss ataklarını engellemek için kullanılır.
     if (in_array('html', $config)) {
         $edit = Security::htmlEncode($edit);
     }
     // nail_clean tırnak işaretlerini temizlemek için kullanılır.
     if (in_array('xss', $config)) {
         $edit = Security::xssEncode($edit);
     }
     // tırnak işaretleri ve injection saldırılarını engellemek için kullanılır.
     if (in_array('injection', $config)) {
         $edit = Security::injectionEncode($edit);
     }
     // Süzgeç sonrası validation::nval() yönteminin yeni değeri
     $this->nval[$name] = $edit;
     // Süzgeç sonrası yeni değer
     $this->_methodNval($name, $edit, $met);
     // required boş geçilemez yapar.
     if (in_array('required', $config)) {
         if (empty($edit)) {
             $required = lang('Validation', 'required', $viewName);
             $messages[$i] = $required . '<br>';
             $i++;
             $this->error[$name] = $required;
         }
     }
     // security_code güvenlik kodunun uygulanması için kullanılır, bu saydece güvenlik kodu ile
     // bu kural eşleşirse işleve devam edilecektir.
     if (in_array('captcha', $config)) {
         if (!isset($_SESSION)) {
             session_start();
         }
         if ($edit != $_SESSION[md5('captchaCode')]) {
             $securityCode = lang('Validation', 'captchaCode', $viewName);
             $messages[$i] = $securityCode . '<br>';
             $i++;
             $this->error[$name] = $securityCode;
         }
     }
     // register işlemlerinde iki şifre kutusunun eşleştirilmesi için kullanılmaktadır.
     if (isset($config['matchPassword'])) {
         $pm = $this->_methodType($config['matchPassword'], $met);
         if ($edit != $pm) {
             $passwordMatch = lang('Validation', 'passwordMatch', $viewName);
             $messages[$i] = $passwordMatch . '<br>';
             $i++;
             $this->error[$name] = $passwordMatch;
         }
     }
     if (isset($config['match'])) {
         $pm = $this->_methodType($config['match'], $met);
         if ($edit != $pm) {
             $passwordMatch = lang('Validation', 'dataMatch', $viewName);
             $messages[$i] = $passwordMatch . '<br>';
             $i++;
             $this->error[$name] = $passwordMatch;
         }
     }
     if (isset($config['oldPassword'])) {
         $pm = "";
         $pm = $config['oldPassword'];
         if (Encode::super($edit) != $pm) {
             $oldPasswordMatch = lang('Validation', 'oldPasswordMatch', $viewName);
             $messages[$i] = $oldPasswordMatch . '<br>';
             $i++;
             $this->error[$name] = $oldPasswordMatch;
         }
     }
     // numeric form aracının sayısal değer olması gerektiğini belirtir.
     if (in_array('numeric', $config)) {
         if (!is_numeric($edit)) {
             $numeric = lang('Validation', 'numeric', $viewName);
             $messages[$i] = $numeric . '<br>';
             $i++;
             $this->error[$name] = $numeric;
         }
     }
     // email form aracının email olması gerektiğini belirtir.
     if (in_array('email', $config)) {
         if (!$this->email($edit)) {
             $email = lang('Validation', 'email', $viewName);
             $messages[$i] = $email . '<br>';
             $i++;
             $this->error[$name] = $email;
         }
     }
     if (in_array('url', $config)) {
         if (!$this->url($edit)) {
             $url = lang('Validation', 'url', $viewName);
             $messages[$i] = $url . '<br>';
             $i++;
             $this->error[$name] = $url;
         }
     }
     if (in_array('identity', $config)) {
         if (!$this->identity($edit)) {
             $identity = lang('Validation', 'identity', $viewName);
             $messages[$i] = $identity . '<br>';
             $i++;
             $this->error[$name] = $identity;
         }
     }
     // no special char, özel karakterlerin kullanımını engeller.
     if (in_array('specialChar', $config)) {
         if ($this->specialChar($edit)) {
             $noSpecialChar = lang('Validation', 'noSpecialChar', $viewName);
             $messages[$i] = $noSpecialChar . '<br>';
             $i++;
             $this->error[$name] = $noSpecialChar;
         }
     }
     // maxchar form aracının maximum alacağı karakter sayısını belirtir.
     if (isset($config['maxchar'])) {
         if (!$this->maxchar($edit, $config['maxchar'])) {
             $maxchar = lang('Validation', 'maxchar', array("%" => $viewName, "#" => $config['maxchar']));
             $messages[$i] = $maxchar . '<br>';
             $i++;
             $this->error[$name] = $maxchar;
         }
     }
     // minchar from aracının minimum alacağı karakter sayısını belirtir.
     if (isset($config['minchar'])) {
         if (!$this->minchar($edit, $config['minchar'])) {
             $minchar = lang('Validation', 'minchar', array("%" => $viewName, "#" => $config['minchar']));
             $messages[$i] = $minchar . '<br>';
             $i++;
             $this->error[$name] = $minchar;
         }
     }
     if (isset($config['pattern'])) {
         if (!preg_match($config['pattern'], $edit)) {
             $pattern = lang('Validation', 'pattern', $viewName);
             $messages[$i] = $pattern . '<br>';
             $i++;
             $this->error[$name] = $pattern;
         }
     }
     // kurala uymayan seçenekler varsa hata mesajı dizisine eklenir.
     array_push($this->errors, $messages);
 }
Пример #7
0
 /**
  * bencode编码
  * @param  object $value 要编码的数据
  * @return string        编码后的数据
  */
 public static function encode($value)
 {
     return Encode::encode($value);
 }
Пример #8
0
require_once '../../../../config/config.inc.php';
$challenge = new Challenge();
$challenge->startChallenge();
$pwd = $challenge->getDictionaryWord();
$token = $challenge->getToken();
if (isset($_POST['submit'])) {
    $code = util::getPost('password');
    if ($code == $pwd) {
        $challenge->mark();
        CTF::showAchieved();
    } else {
        CTF::error("Code is not correct");
    }
}
$passphrase = "The password for this exercise is {$pwd}";
?>

<center><?php 
echo Encode::brailleEncode($passphrase);
?>
</center><hr/>
<form autocomplete="off" method="post">
    <input type="hidden" name="action" value="login" />
    <table>
        <tr><td>Code</td><td>:</td><td><input type="text" name="password" /></td></tr>
        <tr><td colspan=2/><td><input type="submit" class="button" name="submit" value="Submit" /></td></tr>
    </table>
</form>
<?php 
$challenge->stopChallenge();