1. PHP / Говнокод #23134

    +2

    1. 1
    return ( empty( $syndication_meta ) ? false : true );

    ldv_a, 16 Июня 2017

    Комментарии (0)
  2. PHP / Говнокод #23131

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    public function sql ($sql) {
    	$r = array(
    		"'" => "", //ору с этого
    		'"' => '',
    		'DROP' => '',
    		'TRUNCATE' => '',
    		'SELECT' => '',
    		'UPDATE' => '',
    		'INSERT' => '',
    		'DELETE' => '',
    		'INSERT' => '',
    		'UNION' => ''
    	);
    
    	if($this->strposa(strtoupper($sql), array_keys($r))){
    		mail('admin@dota2card.com', 'Внимание!', 'Обнаружена попытка SQL инъекции: "'.$sql.'" с IP адреса: '.$_SERVER['REMOTE_ADDR']);
    	}
    
    	$sql = str_ireplace(array_keys($r), $r, $sql);
    	$sql = htmlspecialchars($sql);
    	$sql = strip_tags($sql);
    	$sql = stripslashes($sql);
    
    	return $sql;
    }

    enly1, 14 Июня 2017

    Комментарии (6)
  3. PHP / Говнокод #23130

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    public function sendChat ($msg) {
    	if($this->isLogged()){
    		if($this->checkAd($this->sql($msg)) !== '' || $this->checkAd($this->sql($msg))[0] !== ' '){
    			$q = $this->db->row("SELECT * FROM `chat` WHERE `user` = '".intval($_SESSION['steamid'])."' ORDER BY `id` DESC LIMIT 1");
    			if($q->time+1 <= time()){
    				if($q->text != $this->checkAd($this->sql($msg))) {
    					$r = $this->db->query("INSERT INTO `chat` (`user`,`text`,`time`) VALUES ('".intval($_SESSION['steamid'])."', '".$this->sql($this->checkAd($msg))."', ".time().")");
    					return json_encode(array("success" => true,));
    				} else {
    					return json_encode(array("success" => false, "msg" => "flood"));
    				}
    			} else {
    				return json_encode(array("success" => false, "msg" => "flood"));
    			}
    		} else {
    			json_encode(array("success" => false, "msg" => "null_msg"));
    		}
    	} else {
    		return json_encode(array("success" => false, "msg" => "not_auth"));
    	}
    }

    enly1, 14 Июня 2017

    Комментарии (2)
  4. PHP / Говнокод #23129

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    /* Технические работы */
    		if($_SERVER['REMOTE_ADDR'] !== '87.103.101.202') die($tpl->get('tech', TPL, $language));
    
    	/* Авторизованным */
    		if($api->isLogged()){
    			$login = $tpl->get('nologon', TPL, $language);
    			/* Список заменяемых слов */
    				$replace = array(
    					""
    				);
    			/* Показывание авторизированному юзеру */
    				$login = str_replace(array_keys($replace), $replace, $login);
    		} else {
    			$login = $tpl->get('logon', TPL, $language);
    		}
    
    	/* Запуск шапки сайта */
    		$header = $tpl->get('header', TPL,  $language);
    		/* Список заменяемых слов */
    			$replace = array(
    				"%login%" => $login
    			);
    		/* Показывание шапки */
    			echo str_replace(array_keys($replace), $replace, $header);
    
    	/* Переключение по адресам */
    		switch ($uri[0]) {
    
    			/* Главная страница */
    			default:
    				echo $tpl->get('home', TPL,  $language);
    				break;
    			
    		}

    enly1, 14 Июня 2017

    Комментарии (0)
  5. PHP / Говнокод #23128

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    /* Регистрация */
    	public function register ($log, $pass, $pass2, $email) {
    		/* Стандартная проверка */
    			if(isset($_SESSION['userid'])) return "already_auth";
    			if(!preg_match("/^[a-zA-Z0-9]+$/", $log)) return "rus_or_eng";
    			if(strlen($log) < 5 or strlen($log) > 31) return "log_min_5";
    			if($pass != $pass2) return "pass1_not_equal_pass2";
    			if(strlen($pass) < 8 or strlen($pass) > 31) return "pass_min_8";
    		/* Генерация хэша */
    			$hash = md5('davay'.rand().'ebatsa');
    		/* Проверка на существование ника */
    			$q = $this->db->row("SELECT * FROM `users` WHERE `user` = '".$this->sql($log)."'");
    			if($q != null) return "change_nick";
    		/* Занос в базу данных нового пользователя */
    			$q = $this->db->query("INSERT INTO `users` (`user`, `password`, `hash`) VALUES (:login, :password, :hash)",
    				array("login" => $log, "password" => $pass, "hash" => $hash));
    		/* Возвращаем положительный ответ */
    			return true;
    	}

    Хэш не трогал)

    enly1, 14 Июня 2017

    Комментарии (1)
  6. PHP / Говнокод #23127

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    /* Проверка текста на рекламу */
    	public function checkAd ($text) {
    		$r = array('.ru','.com','.xyz',
    			'.net','.blue','.red',
    			'.su','.org','.biz','.tk',
    			 '.pro','.pw','.me',
    			 '.eu','.pl','.be',
    			'.us','.in'
    		);
    
    		return str_replace($r, '', $text);
    
    }

    enly1, 14 Июня 2017

    Комментарии (4)
  7. PHP / Говнокод #23126

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    class geoip {
    
    	public function get () {
    		$loc = geoip_country_code_by_name($_SERVER['REMOTE_ADDR']);
    		switch ($loc) {
    			default:
    				$loc = US;
    				break;
    			case 'RU':
    				$loc = RU;
    				break;
    			case 'UA':
    				$loc = RU;
    				break;
    			case 'BY':
    				$loc = RU;
    				break;
    		}
    		return $loc;
    	} 
    
    }

    enly1, 14 Июня 2017

    Комментарии (0)
  8. PHP / Говнокод #23125

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /* Функция загрузки модулей */
    	function load ($name, $path, $cfg = array()) {
    		require($path.'/'.$name.'.php');
    		if($cfg !== null) {
    			return new $name($cfg);
    		} else {
    			return new $name;
    		}
    	}

    Хмм, что-то тут не так.

    enly1, 14 Июня 2017

    Комментарии (1)
  9. PHP / Говнокод #23113

    −1

    1. 1
    ($prepayment ? 'Предо' : 'О') . 'плата счета №'

    Когда DRY возведен в абсолют

    _dk, 06 Июня 2017

    Комментарии (2)
  10. PHP / Говнокод #23104

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    private function  auth($data){
            #Проверка данных и авторизация
            $login = str_replace(" ", "", mysql_real_escape_string(htmlspecialchars(strip_tags(trim($data['login'], ' /')))));
            $pwd = str_replace(" ", "", mysql_real_escape_string(htmlspecialchars(strip_tags(trim($data['password'], ' /')))));
    
            $user = Model_Auth::getUser($login);
            if($user===false){
                return false;
            }else{
                if($user['password']==md5(md5($pwd))){
                    $checksumm = md5($user['login'].$user['password'].$user['rules']);
                    Model_Auth::updateUser($user['id'],$checksumm);
                    Model_Auth::updateUserStatus($user['id']);
                    setcookie("user", $checksumm, time()+3600, '/', $_SERVER['HTTP_HOST']);
                    if (isset($_SESSION['ref_url'])) {
                        $ref_url = $_SESSION['ref_url'];
                        unset($_SESSION['ref_url']);
                        header('Location:'.$ref_url);
                    } else {
                        header('Location:'.$GLOBALS['main_page']);
                    }
                }else{
                    return false;
                }
            }
        }

    А теперь удивитесь - если зайти на сайт и у вас внезапно в куках браузера завалялась пустая переменная user, то вы будете автоматически авторизованы от имени того пользователя, который еще ни разу не заходил в систему потому-что $user не проверяется на пустоту

    McLotos, 06 Июня 2017

    Комментарии (10)