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 06:00 | Nová verze

Po necelém roce od vydání verze 0.67 byla vydána verze 0.68 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu změn. Řešeny jsou také bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
včera 21:32 | Nasazení Linuxu

Canonical představuje nejnovější verzi chytré helmy DAQRI s Ubuntu pro rozšířenou realitu. K vidění bude příští týden v Barceloně na veletrhu Mobile World Congress 2017.

Ladislav Hagara | Komentářů: 0
včera 21:31 | Pozvánky

Pro zájemce o hlubší znalosti fungování operačních systémů připravila MFF UK nový předmět Pokročilé operační systémy, v rámci něhož se vystřídají přednášející nejen z řad pracovníků fakulty, ale dorazí také odborníci ze společností AVAST, Oracle, Red Hat a SUSE. Tento předmět volně navazuje na kurz Operační systémy ze zimního semestru, ale pokud máte praktické zkušenosti odjinud (například z přispívání do jádra Linuxu) a chcete si

… více »
Martin Děcký | Komentářů: 4
včera 21:30 | Pozvánky

Czech JBoss User Group Vás srdečně zve na setkání JBUG v Brně, které se koná ve středu 1. března 2017 v prostorách Fakulty Informatiky Masarykovy Univerzity v místnosti A318 od 18:00. Přednáší Tomáš Remeš a Matěj Novotný na téma CDI 2.0 - New and Noteworthy. Více informací na Facebooku a na Twitteru #jbugcz.

mjedlick | Komentářů: 0
20.2. 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 10
20.2. 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
20.2. 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 33
20.2. 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 24
19.2. 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 18
18.2. 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 34
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (14%)
 (2%)
 (71%)
 (3%)
 (10%)
Celkem 680 hlasů
 Komentářů: 63, poslední dnes 11:29
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: 882×

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: 73 | blog: Výlevníček | 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áš?
Vox agroferti, vox Dei.
Jendа avatar 4.9.2010 14:34 Jendа | skóre: 73 | blog: Výlevníček | 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();.
Vox agroferti, vox Dei.
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

Pevne verim, ze zkusenejsi uzivatele me s mymi napady usmerni a poslou tam, kam tyto napady patri...
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

Pevne verim, ze zkusenejsi uzivatele me s mymi napady usmerni a poslou tam, kam tyto napady patri...
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: 73 | blog: Výlevníček | 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?
Vox agroferti, vox Dei.
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: 73 | blog: Výlevníček | 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 :-).
Vox agroferti, vox Dei.
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: 73 | blog: Výlevníček | 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.
Vox agroferti, vox Dei.
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: 19 | 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á.
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.