Илья_Smolenskiy
Местный
- Сообщения
- 40
- Реакции
- 0
Добрый вечер народ, прошу помощи.
Значит айболитом гоню скрипт фермы
Он значит ругается на проверку валидности мыла, валид пароля и есть ли пользователь с таким email.
Вот сам файлик.
Пожалуйста помогите. Что с ним не так?
Значит айболитом гоню скрипт фермы
Он значит ругается на проверку валидности мыла, валид пароля и есть ли пользователь с таким email.
Вот сам файлик.
Пожалуйста помогите. Что с ним не так?
Код:
<?php
/**
*
*/
class MainController
{
public $usid;
public $user_data;
public $usname;
public $config;
public $ps;
function __construct()
{
$this->usid = User::isLogged();
$this->user_data = User::getDataById($this->usid);
$this->usname = $this->user_data['user'];
$this->config = Settings::getSettings();
$this->ps = Paysystems::getActiveSystems();
Session::tockenSecurity();
}
public function actionNotfound ()
{
http_response_code(404);
$_title = Language::getTitle('MainNotFound', LANG);
// подключаем вид
require_once(ROOT . "/views/" . LANG . "/_404.php");
}
public function actionSuccess ()
{
$_title = Language::getTitle('MainSuccess', LANG);
$stats = Info::getStats($this->config);
// подключаем вид
require_once(ROOT . "/views/" . LANG . "/_index.php");
echo "<script>setTimeout(function(){swal('Успешно', 'Баланс успешно пополнен', 'success')}, 100);</script>";
}
public function actionFail ()
{
$_title = Language::getTitle('MainFail', LANG);
$stats = Info::getStats($this->config);
// подключаем вид
require_once(ROOT . "/views/" . LANG . "/_index.php");
echo "<script>setTimeout(function(){swal('Ошибка', 'Произошла ошибка', 'error')}, 100);</script>";
}
public function actionIndex ($ref = 0)
{
if ($ref != 0)
{
if (!$this->usid)
{
$referer = (isset($ref) && intval($ref) > 0) ? intval($ref) : 0;
$referer = (User::checkIssetUser($referer)) ? $referer : 0;
Referals::addRefVisit($referer);
Referals::setReferer($referer);
}
header("Location: /");
return;
}
$_title = Language::getTitle('MainIndex', LANG);
$recaptcha = new Recaptcha();
$stats = Info::getStats($this->config);
$plans = Deposit::getPlans();
// подключаем вид
require_once(ROOT . "/views/" . LANG . "/_index.php");
}
public function actionAbout ()
{
$_title = Language::getTitle('MainAbout', LANG);
$plans = Deposit::getPlans();
// подключаем вид
require_once(ROOT . "/views/" . LANG . "/_about.php");
}
public function actionTerms ()
{
$_title = Language::getTitle('MainTerms', LANG);
// подключаем вид
require_once(ROOT . "/views/" . LANG . "/_terms.php");
}
public function actionStats ()
{
$_title = Language::getTitle('MainStats', LANG);
$stats = Info::getStats($this->config);
$pays = Info::getLastPays();
$inserts = Info::getLastInserts();
$periodsum = Info::getPeriodSum();
$top_referals = Info::getTopReferals();
$top_pays = Info::getTopPays();
$top_speed = Info::getTopSpeed();
$top_referals_money = Info::getTopReferalsMoney();
// подключаем вид
require_once(ROOT . "/views/" . LANG . "/_stats.php");
}
public function actionCompetitions ()
{
$_title = Language::getTitle('MainCompetitions', LANG);
$referal_competition = Competition::getActiveReferalCompetition();
$invest_competition = Competition::getActiveInvestCompetition();
// подключаем вид
require_once(ROOT . "/views/" . LANG . "/_competitions.php");
}
public function actionGuarantee ()
{
$_title = Language::getTitle('MainGuarantee', LANG);
// подключаем вид
require_once("views/" . LANG . "/_guarantee.php");
}
public function actionFeedback ($page = 1)
{
$_title = Language::getTitle('MainFeedback', LANG);
if (isset($_POST['text']) && !empty($_POST['text']))
{
$langerrors = Language::getErrors('MainFeedback', LANG);
$errors = false;
$text = Validator::isClean($_POST['text']);
$text = htmlspecialchars($text);
if (!Session::checkTockenSecurity($_POST['_tocken'])) $errors = $langerrors['s'];
if ($errors === false && strlen($text) > 500) $errors = $langerrors[1];
if ($errors === false && !Feedback::checkUnactiveFeedbacks($this->usid)) $errors = $langerrors[2];
if ($errors === false)
{
Feedback::addFeedback($this->usid, $this->usname, $text);
$errors = $langerrors[3];
}
}
$nav = new Paginator();
// Записей на страницу
$on_page = 10;
$page = intval($page);
$page = $nav->issetPage('MainFeedback', $on_page, $page);
$feedbacks = Feedback::getActiveFeedbacks($nav, $page, $on_page);
// Получаем строку с пагинацией
$navigation = $nav->getPagination('MainFeedback', $page, $on_page, false, $this->usid);
// подключаем вид
require_once("views/" . LANG . "/_feedback.php");
}
public function actionContacts ()
{
$_title = Language::getTitle('MainContacts', LANG);
// подключаем вид
require_once(ROOT . "/views/" . LANG . "/_contacts.php");
}
/**
* Экшн для AJAX логина
*/
public function actionLogin ()
{
$_title = Language::getTitle('MainLogin', LANG);
// получаем необходимые данные
$langerrors = Language::getErrors('MainLogin', LANG);
// проверяем, не авторизован ли пользователь
if ($this->usid)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[6];
$errors['status'] = 'error';
}
else
{
Header("Location: /");
return;
}
}
{
$email_v = Validator::isMail($_POST['log_email']);
if ($email_v === false) $email_v = Validator::isLogin($_POST['log_email']);
$email = $email_v;
$password = Validator::isPassword($_POST['pass']);
$password = Func::cryptPassword($password);
$errors = false;
if (!Session::checkTockenSecurity($_POST['_tocken'])) $errors = $langerrors['s'];
// проверяем валидность email
if ($errors === false && $email === false)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[1];
$errors['status'] = 'error';
}
else
{
$errors =$langerrors[1];
}
}
// проверяем валидность пароля
if ($errors === false && $password === false)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[2];
$errors['status'] = 'error';
}
else
{
$errors = $langerrors[2];
}
}
if ($errors === false) $log_data = User::getDataByEmail($email);
// проверяем есть ли пользователь с таким email/логин
if ($errors === false && $log_data === false)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[3];
$errors['status'] = 'error';
}
else
{
$errors = $langerrors[3];
}
}
// проверяем правильность пароля
if ($errors === false && $log_data["pass"] != $password)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[4];
$errors['status'] = 'error';
}
else
{
$errors = $langerrors[4];
}
}
// проверяем не забанен ли
if ($errors === false && $log_data["banned"] == 1)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[5];
$errors['status'] = 'error';
}
else
{
$errors = $langerrors[5];
}
}
if ($errors === false)
{
$ip = Func::GetUserIp();
Session::setSessionId($log_data["id"]);
$usid = User::signIn($log_data, $ip);
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[7];
$errors['status'] = 'ok';
}
else
{
$errors = $langerrors[7];
Header("Location: /cabinet");
return;
}
}
}
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
if (isset($errors) && !empty($errors)) echo json_encode($errors);
}
else require_once(ROOT . "/views/" . LANG . "/_login.php");
}
/**
* Экшн для AJAX регистрации
*/
public function actionSignup ()
{
$_title = Language::getTitle('MainSignup', LANG);
$settings = Settings::getSettings();
// получаем необходимые данные
$langerrors = Language::getErrors('MainSignup', LANG);
$recaptcha = new Recaptcha();
$errors = false;
// проверяем, не авторизован ли пользователь
if ($this->usid)
{
if (isset($_POST['ajax']))
{
$errors['mess'] = $langerrors[9];
$errors['status'] = 'error';
}
else
{
Header("Location: /");
return;
}
}
elseif (isset($_POST['reg_email']) && !empty($_POST['reg_email']))
{
//echo json_encode($_POST);
// Валидация данных
$email = Validator::isMail($_POST['reg_email']);
$login = Validator::isLogin($_POST['reg_login']);
$password = Validator::isPassword($_POST['reg_pass']);
$ip = Func::GetUserIp();
// проверяем валидность email
if ($errors === false && $email === false)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[1];
$errors['status'] = 'error';
$errors['new_tocken'] = Session::$tocken;
}
else
{
$errors = $langerrors[1];
}
}
// проверяем валидность логина
if ($errors === false && $login === false)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[2];
$errors['status'] = 'error';
$errors['new_tocken'] = Session::$tocken;
}
else
{
$errors = $langerrors[2];
}
}
// проверяем валидность пароля
if ($errors === false && $password === false)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[3];
$errors['status'] = 'error';
$errors['new_tocken'] = Session::$tocken;
}
else
{
$errors = $langerrors[3];
}
}
// проверяем есть ли пользователь с таким email
if ($errors === false) $free_email = User::checkFreeEmail($email);
if ($errors === false && $free_email === false)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[4];
$errors['status'] = 'error';
$errors['new_tocken'] = Session::$tocken;
}
else
{
$errors = $langerrors[4];
}
}
// проверяем есть ли пользователь с таким логином
if ($errors === false) $free_login = User::checkFreeLogin($login);
if ($errors === false && $free_login === false)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[5];
$errors['status'] = 'error';
$errors['new_tocken'] = Session::$tocken;
}
else
{
$errors = $langerrors[5];
}
}
// проверяем совпадают ли пароли
if ($errors === false && $_POST['reg_re_pass'] != $password)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[6];
$errors['status'] = 'error';
$errors['new_tocken'] = Session::$tocken;
}
else
{
$errors = $langerrors[6];
}
}
// проверяем на мультиаккаунты
if ($errors === false) $no_multi = User::checkMulty($ip);
if ($errors === false && $no_multi === false)
{
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[7];
$errors['status'] = 'error';
$errors['new_tocken'] = Session::$tocken;
}
else
{
$errors = $langerrors[7];
}
}
if ($errors === false)
{
// id реферера 1 ур.
$referer_id = (isset($_SESSION["ref"]) ? User::checkIssetUser($_SESSION["ref"]) : 0) ? $_SESSION["ref"] : 0;
// Получаем массив рефереров
$referers = Referals::getReferersId($settings, $referer_id);
// Шифруем пароль
$password_crypt = Func::cryptPassword($password);
Sender::SendAfterReg($login, $email, $password);
// регистрируем
$usid = User::signUp($login, $email, $password_crypt, $ip, $referers);
if ($this->config['reg_bonus'] != 0)
{
$this->user_data = User::getDataById($usid);
$plan = Deposit::getPlan($this->config['reg_bonus']);
// зачисляем депозит
Deposit::doDeposit($this->user_data, $plan);
}
if ($referer_id > 0 && $this->config['ref_bonus'] > 0)
{
User::takeSum($referer_id, 'money_b', $this->config['ref_bonus'], true);
}
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
$errors['mess'] = $langerrors[8];
$errors['status'] = 'ok';
$errors['new_tocken'] = Session::$tocken;
}
else
{
$errors = $langerrors[8];
}
}
}
if (isset($_POST['ajax']) && $_POST['ajax'] == 1)
{
// выдаём ошибку и статус в формате json
if (isset($errors) && !empty($errors)) echo json_encode($errors);
}
else
{
// подключаем вид
require_once(ROOT . "/views/" . LANG . "/_signup.php");
}
}
/**
* Экшн для рековери
*/
public function actionRecovery ()
{
$_title = Language::getTitle('MainRecovery', LANG);
// получаем необходимые данные
$langerrors = Language::getErrors('MainRecovery', LANG);
// проверяем, не авторизован ли пользователь
if ($this->usid !== false)
{
Header("Location: /");
return;
}
if (isset($_POST['rec_email']) && !empty($_POST['rec_email']))
{
$errors = false;
if (!Session::checkTockenSecurity($_POST['_tocken'])) $errors = $langerrors['s'];
// проверяем валидность email
if ($errors === false) $email = Validator::isMail($_POST['rec_email']);
if ($errors === false && $email === false) $errors = $langerrors[1];
// проверяем существует ли такой email
if ($errors === false && !$user_data = User::getDataByEmail($email)) $errors = $langerrors[2];
// проверяем наличие заявок за 24 часа
if ($errors === false && !Recovery::checkLastRecoverys($email)) $errors = $langerrors[3];
if ($errors === false)
{
$ip = Func::GetUserIp();
$key = Func::newKey(32);
$key_crypted = Func::cryptPassword($key);
$link = Recovery::getLink($key);
// Вносим в базу
Recovery::setApplication($email, $user_data['id'], $ip, $key_crypted);
// Отсылаем ссылку для сброса
Sender::SendApplicationLink($email, $link);
$errors = $langerrors[4];
}
}
// подключаем вид
require_once(ROOT . "/views/" . LANG . "/_recovery.php");
}
public function actionRecoveryreset ($key)
{
$langerrors = Language::getErrors('MainRecovery', LANG);
if (isset($key) && !empty($key))
{
$key_crypted = Func::cryptPassword($key);
$row = Recovery::getRowByKey($key_crypted);
if ($row === false)
{
$errors = $langerrors[5];
}
else
{
$password = Func::newKey(10);
$password_crypted = Func::cryptPassword($password);
User::changePass($row['user_id'], $password_crypted);
Sender::SendNewPassword($row['email'], $password);
Recovery::updateRowStatus($row);
$errors = $langerrors[6];
}
// подключаем вид
require_once(ROOT . "/views/" . LANG . "/_login.php");
}
else
{
Header("Location: /");
return;
}
}
}
Вложения
-
24,3 KB Просмотры: 14
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
пизнит...Илья_Smolenskiy написал(а):ругается на проверку валидности мыла,
он говорит о том, что используются необработанные/нефильтрованные данные из глобального массива $_POST... но даже если сделать +100500 валидаторов, фильтров и проверяторов, то все равно где-то в одном месте нужно принять эти гребаные данные из $_POST...
Меня этим бредом вечно IDE достает... но а как иначе ты достанешь данные из POST?
И, кстати, это не фф... выбирай правильно раздел
Илья_Smolenskiy
Местный
- Сообщения
- 40
- Реакции
- 0
Понял)pligin написал(а):пизнит...
он говорит о том, что используются необработанные/нефильтрованные данные из глобального массива $_POST... но даже если сделать +100500 валидаторов, фильтров и проверяторов, то все равно где-то в одном месте нужно принять эти гребаные данные из $_POST...
Меня этим бредом вечно IDE достает... но а как иначе ты достанешь данные из POST?
И, кстати, это не фф... выбирай правильно раздел
Спасибо большое.