[sql] Вопросы по БД

Discussion in 'PHP' started by FraiDex, 25 Feb 2008.

Thread Status:
Not open for further replies.
  1. Stakanportvejna

    Stakanportvejna New Member

    Joined:
    7 Nov 2009
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    предысловие:
    на одном сайте есть скрипт голосования...выводиться там таблица такого вида " № регистрации Учреждение образования Адресс сайта Сумма баллов Средний балл Поставить оценку(5 кнопочег с цифрами 1-5)".....когда нажимаешь на одну из них скрипту посылается запрос вида id=N&ball=5....при том что id=5%2B3&ball=5' выполняется нормально(от серва приходит ответ:"
    Code:
    Спасибо за Ваше мнение!!!!<br>
    Окно браузера закроется автоматически через 5 секунд
    <script language="JavaScript">
    <!-- hide
    setTimeout("close()",5000);
    
    
    // -->
    </script>
    ",значит ничего не фильтруется и можно провести скл-инжект,БД mysql...
    помогите кто раскрутить инжект?
     
  2. Me4Ta

    Me4Ta New Member

    Joined:
    24 Jun 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Stakanportvejna, имхо наоборот таки проходит очистка переменных от всяких кавычек, если от серва приходит нормальный ответ.
    Отпиши ссылку в ЛС, потыкаем.
     
  3. Наёмник

    Наёмник New Member

    Joined:
    30 Oct 2009
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Всем привет. У меня лежит одна база sql. Какой прогой её можно просмотреть? Её размер ~250mb
     
    #1083 Наёмник, 15 Apr 2010
    Last edited: 15 Apr 2010
  4. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    phpMyAdmin, mysqlmeneger
     
  5. Spy2ex

    Spy2ex Elder - Старейшина

    Joined:
    20 Sep 2008
    Messages:
    32
    Likes Received:
    15
    Reputations:
    1
    Такая проблема:
    скачал движок установил, но после добавления новостей на русс. языке получаю иероглифы. Это кусок файла который был.
    Code:
    $sql[1] = "CREATE TABLE IF NOT EXISTS `ava_favourites` (\n"
        . " `user_id` int(5) NOT NULL,\n"
        . " `game_id` int(5) NOT NULL,\n"
        . " KEY `user_id` (`user_id`),\n"
        . " KEY `game_id` (`game_id`)\n"
        . ") ENGINE=MyISAM DEFAULT CHARSET=latin1;";
    
    Изменил кодировку:
    Code:
    $sql[1] = "CREATE TABLE IF NOT EXISTS `ava_favourites` (\n"
        . " `user_id` int(5) NOT NULL,\n"
        . " `game_id` int(5) NOT NULL,\n"
        . " KEY `user_id` (`user_id`),\n"
        . " KEY `game_id` (`game_id`)\n"
        . ") ENGINE=MyISAM DEFAULT CHARSET=urt8;";
    
    Когда добавляю новость через скрипт опять иероглиф. когда напрямую череpз phpmyadmin все нормально. (Наверное сам скрипт посылает данные в другой кодировке)
    спасибо.
     
  6. Failure

    Failure Elder - Старейшина

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    Code:
    ..CHARSET=urt8;
    
    мб utf8?
     
  7. Spy2ex

    Spy2ex Elder - Старейшина

    Joined:
    20 Sep 2008
    Messages:
    32
    Likes Received:
    15
    Reputations:
    1
    да опичатка. Но в зпросе utf8.
     
  8. drLex

    drLex New Member

    Joined:
    17 Mar 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Не сразу заметил эту тему и создал новую

    вот

    Хелп ми!
     
  9. mansoff

    mansoff New Member

    Joined:
    20 Apr 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Не подскажете как сделать бэкап базы не имея доступа к Myphpadmin , есть только login\pass сайта, бэкап нужен на моём компе, грубо говоря слить базу, противозаконного ничего нет, просто не первый раз заказчик(их несколько) тупит, даёт только пароль от FTP, а на сайте нет phpmyadmin, там как-то лево через хостера конектиться надо

    mysql.exe -h -u -p удачно коннектится извне

    заранее спасибо
     
  10. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    залить шелл и снять дамп через него. Либо заюзать mysqldump, раз есть доступ извне
     
  11. mansoff

    mansoff New Member

    Joined:
    20 Apr 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    на mysqldump пишет консолька что нету прав =\
     
  12. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    mysqldump.exe -h -u -p ?
     
  13. mansoff

    mansoff New Member

    Joined:
    20 Apr 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    спасибо, помогло, я немного ступил :)
     
  14. ZnikiR

    ZnikiR Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    21
    Reputations:
    -5
    Вопрос в следущем.
    Делаю запрос
    $ins_sql="INSERT INTO `ticket` ( `id` , `tema` , `autor` ) VALUES ('', '$tema', '$login');";
    $ins_result=mysql_query($ins_sql) or die("INSERT failed : " . mysql_error());

    Так как ID autoicrement,то я его не задаю.
    Вопрос в следующем.
    Можно ли узнать, не создавая еще один запрос, id куда была помещена запись?
     
  15. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    mysql_insert_id()
     
  16. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Эта функция все равно получает LAST_INSERT_ID через запрос.
    Если этот id нужен, чтобы потом его использовать в другом запросе, то оптимальнее будет так:

    PHP:
    $ins_sql="INSERT INTO `ticket` ( `id` , `tema` , `autor` ) VALUES ('', '$tema', '$login');";
    $ins_result=mysql_query($ins_sql) or die("INSERT failed : " mysql_error());

    //тут идет какой-то другой запрос с использованием id предыдущего
    mysql_query("insert into table (id) values (LAST_INSERT_ID())");
     
  17. ZnikiR

    ZnikiR Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    21
    Reputations:
    -5
    У меня вопрос он возвращает последний id в данной таблице или вообще самый последний вставленный?
    просто у меня две таблицы рядом.
    и id таблицы ticket уменя испльзуется как связь с другой таблцией ticket_text.

    Так назрел еще одни вопрос.
    Скажите как настроить структуру поля,чтобы туда автоматически вставлялось UNIX_TIMESTAMP?
     
  18. Stakanportvejna

    Stakanportvejna New Member

    Joined:
    7 Nov 2009
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' LIMIT 1' at line 1
    а вот ошибка от базы данных когда ковычку подставляешь после переменной,это значит что можно провести sql-иньекцию?
     
  19. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    Stakanportvejna, да
    ZnikiR, последний id этой таблицы
     
  20. ~EviL~

    ~EviL~ Elder - Старейшина

    Joined:
    14 Aug 2007
    Messages:
    169
    Likes Received:
    77
    Reputations:
    4
    Кто-то может мне помочь с оптимизацией SQL запроса:
    Code:
    SELECT movie.id, movie.title
    FROM movie INNER JOIN movieawards ON movie.id = movieawards.movie_id
    WHERE movieawards.award_name = 'Oscar'	
    GROUP BY movie.id, movie.title
    HAVING COUNT(*) > 1
    
    UNION
    
    SELECT movie.id, movie.title
    FROM movie INNER JOIN peopleawards ON movie.id = peopleawards.movie_id
    WHERE peopleawards.award_name = 'Oscar'	
    GROUP BY movie.id, movie.title
    HAVING COUNT(*) > 1 ;
    
    movie.id, movieawards.movie_id, movieawards.award_name - primary keys;
    movie_id, award_name - composed primary key.

    movie: ID (PK), title, rating, format, country, ... , ProdID;
    movieawards: movie_id (PK), award_name (PK), year, category;
    peopleawards: movie_id (PK), P_ID (PK), award_name (PK), year, category.

    *(PK) - Primary Key.
     
Thread Status:
Not open for further replies.