"PHP" / Говнокод #4094 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
if( isset( $_POST['username'] ) && $_POST['username'] != '' ) {
		$username = $_POST['username'];
		$password = $_POST['password'];

		
		$rs = mysql_query( "select * from admin" );
		$row = mysql_fetch_array( $rs ) ;
		
		//echo "$username == $row[username] && $password == $row[password]";

		if( $username == $row['username'] && $password == $row['password']) 
		{
			session_register( 'ADMIN_NAME' );
			$_SESSION['ADMIN_NAME'] = $row['name'];
			 header( "Location: home.php" );
			exit;
		} else
			$err = "Your Username and Password is invalid";
	}

Это же просто песня! К слову: сайт был написан румынскими кодерами чуть больше года назад.

Запостил: Alecfyz Alecfyz, (Updated )

Комментарии (20) RSS

  • session_register( ); — вроде как уже устаревшее решение?
    Ответить
      • Ну ещё смущает таблица «админ» с единственной записью.
        Ещё звездочка в селекте.
        И почему-то пасворд на входе никак не проверяется.
        Ответить
        • они всеравно в запрос не попадают => нахуй проверять 🙂
          Ответить
          • Ну а если пофигу, что у админа пустой пароль, то зачем вообще такой балет городить?
            Ответить
        • Я думаю что дерьмовая архитектура дерьмовее дерьмового кода. Представьте например, что мы решим сделать не формочную, а NTLM авторизацию и с проверкой не в базе, а в LDAP.

          Что будет?
          Ответить
        • >>Ну ещё смущает таблица «админ» с единственной записью.
          у пыхавцев есть поверье чт все-все-все надо хранить в базе. Даже конфиг. Потому что до файла с конфигом хрен доберешься (откуда ты знаешь какая там pwd на очередном хостинге?) а до базы -- легко.
          Ответить
  • Нет проверки входящих в $_POST;
    Пароль хранится в БД в открытом виде;
    Небезопасное сравнение ("==" вместо "===").
    Это самое ужасное; остальное по сравнению с этим - мелочи.
    Ответить
    • Проверка $_POST тут как раз не нужна, значения не идут в запрос (что конечно мегакреативно, но разговор не об этом)

      А что с ==? Что может случиться от небезопасного сравнения в данном случае?
      Ответить
      • >>А что с ==?
        если база сломается, и ты не передаешь туда постом параметров, то войдешьв систему
        Ответить
  • > Your Username and Password are invalid
    fixed

    Румынские погромисты такие румынские.
    Ответить
  • > сайт был написан румынскими кодерами...
    гастарбайтарами?
    Ответить
    • Нет, не гастарбайтерами. Просто румынскими кодерами. Кодерами, живущими в Румынии (это страна такая).
      Ответить
        • Нет, я понял ваш сарказм, но мне он кажется не совсем уместным и умным. Без обид.
          Ответить
            • Вы наверное имели ввиду Молдавию, а не Румынию. Это родственные народы, но все таки страна другая.

              Хотя молдаване написали DOS Navigator и the Bat)) А вообще я против национальных предрассудков, конечно
              Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8