abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 0
    dnes 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 21
    včera 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    včera 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 10
    13.5. 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1630 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Vytvoření mysql uživatele pomocí php

    4.9.2010 14:21 caszo
    Vytvoření mysql uživatele pomocí php
    Přečteno: 1080×

    Zdravím, snažím se pomocí PHP vytvořit v mysql uživatele (mám normálně rootovská práva)...

    Zkoušel jsem toto:

    $sql = 'CREATE USER \''.$login.'\'@\'localhost\' IDENTIFIED BY \''.$pass.'\';GRANT USAGE ON *.* TO \''.$login.'\'@\'localhost\' IDENTIFIED BY \''.$pass.'\'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `'.$login.'`;GRANT ALL PRIVILEGES ON `'.$login.'`.* TO \''.$login.'\'@\'localhost\';';

    Systém mi vyhodil že přidáno ale ani po obnově oprávnění v mysql uživatele nenajdu.... Díky za rady


    Řešení dotazu:


    Odpovědi

    Jendа avatar 4.9.2010 14:32 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Nedělá se tam ještě nějaké přídavné escapování, když dotaz databázi pokládáš?
    Jendа avatar 4.9.2010 14:34 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Respektive jestli mysql_query($sql); vrátí 1 a pokud ne, tak si vypiš výstup funkce mysql_error();.
    4.9.2010 14:47 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php

    http://temp.centrumpc.net/fc.txt po zavolání fce se mi nic nevypíše (kromě echa sql a to je:

    CREATE USER 'test'@'localhost' IDENTIFIED BY 'heslo123';GRANT USAGE ON *.* TO 'test'@'localhost' IDENTIFIED BY 'heslo123'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `test`;GRANT ALL PRIVILEGES ON `test`.* TO 'test'@'localhost';

    4.9.2010 15:22 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    mysql_error(); mi vrací: 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 'GRANT USAGE ON *.* TO 'aa'@'localhost' IDENTIFIED BY 'aa'WITH MAX_QUERIES_PER_HO' at line 1
    4.9.2010 16:35 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php

    IDENTIFIED BY 'aa'WITH MAX_QUERIES_PER_HO'
    Nechybi mezi 'aa' a WITH mezera? (tedy IDENTIFIED BY \''.$pass.'\'<tady>Chybejici_mezera</tady>WITH MAX_QUERIES_PER_HOUR 0)

    Dejv

    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    4.9.2010 21:59 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Nene, nepomohlo... :(
    4.9.2010 22:20 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php

    Pak uz me napada jedine jestli neni problem v tech "dvou hvezdickach". Misto

    GRANT USAGE ON *.* TO \''.$login...
    pouzit
    GRANT USAGE ON * TO \''.$login...

    Dejv

    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    5.9.2010 00:50 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    taky nic ... :o(
    Jendа avatar 5.9.2010 00:52 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    A když ten SQL příkaz spustíš pomocí phpMyAdmina (máš-li) nebo řádkového MySQL klienta, tak to funguje?
    5.9.2010 12:06 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php

    Váš SQL-dotaz byl úspěšně vykonán

    CREATE USER 'aa'@'localhost' IDENTIFIED BY 'aa';# MySQL vrátil prázdný výsledek (tj. nulový počet řádků).
    GRANT USAGE ON * . * TO 'aa'@'localhost' IDENTIFIED BY 'aa' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;# MySQL vrátil prázdný výsledek (tj. nulový počet řádků).
    CREATE DATABASE IF NOT EXISTS `aa` ;# Ovlivněné řádky: 1
    GRANT ALL PRIVILEGES ON `aa` . * TO 'aa'@'localhost';# MySQL vrátil prázdný výsledek (tj. nulový počet řádků).

    SQL kod (v php nejde):

    CREATE USER 'aa'@'localhost' IDENTIFIED BY 'aa';GRANT USAGE ON *.* TO 'aa'@'localhost' IDENTIFIED BY 'aa' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `aa`;GRANT ALL PRIVILEGES ON `aa`.* TO 'aa'@'localhost';

    Jendа avatar 5.9.2010 12:10 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Takže
    if (mysql_query("CREATE USER 'aa'@'localhost' IDENTIFIED BY 'aa';GRANT USAGE ON *.* TO 'aa'@'localhost' IDENTIFIED BY 'aa' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `aa`;GRANT ALL PRIVILEGES ON `aa`.* TO 'aa'@'localhost';")) {
       echo ok;
    }
    napíše OK a databáze se nevytvoří? Zkusil bych se podívat na takové ty triviální chyby jako jestli se v tom skriptu připojuješ ke správnému databázovému stroji a tak :-).
    5.9.2010 12:14 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php

    function addmysqluser($user,$login,$pass)
    {
    $sql = 'CREATE USER \''.$login.'\'@\'localhost\' IDENTIFIED BY \''.$pass.'\';GRANT USAGE ON *.* TO \''.$login.'\'@\'localhost\' IDENTIFIED BY \''.$pass.'\' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `'.$login.'`;GRANT ALL PRIVILEGES ON `'.$login.'`.* TO \''.$login.'\'@\'localhost\';';
    $akce = mysql_query($sql);
    if($akce) echo "<div class=\"ok\"> <img src=\"data/im/ok.png\" alt=\"\" /> Podařilo se mi uživatele úspěšně přidat! Vytvátím DB...</div>";
    else echo mysql_error();            
    echo "<br /><br />";
    echo $sql;
    }

    Jendа avatar 5.9.2010 12:19 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Spíš jestli bys to mohl spustit bez těch proměnných, s natvrdo zadanými údaji. Třeba máš zapnutou nějakou hrůzu typu magic_quotes.
    5.9.2010 12:30 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    zkusil sem to os mi poslal výš a ok se nevyíše... takže stejná chyba
    5.9.2010 12:31 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    může to být tím že už mám vybranou DB ve spojení?
    4.9.2010 14:37 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Co tím máš na mysli?
    5.9.2010 13:55 xHire | skóre: 21 | blog: Linuxovník
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Nevím, zda to může mít vliv, ale PHPčková mysql_query vykonává pouze jeden SQL dotaz, takže ten velký uvedený dotaz bych rozdělil na 4 samostatné. Mám ten dojem, že i phpMyAdmin to tak dělá.

    Také ve mě zrovna nebudí důvěru nastavování hesla v GRANT příkazu. To tam podle mě vůbec nepatří, a to nejen vzhledem k logice věci, že to heslo už uživatel nastavené má.
    Kryptoměny a bločenka.
    Tarmaq avatar 6.9.2010 14:47 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Presne to same me taky napadlo, mela by to byt ochrana pred SQL Injection.
    mysql_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified link_identifier.
    viz. dokumentace
    Don't panic!
    6.9.2010 15:09 caszo
    Rozbalit Rozbalit vše Re: Vytvoření mysql uživatele pomocí php
    Jes, díky! :)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.