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 11:30 | Komunita

Etherpad (Wikipedie), svobodný online webový textový editor umožnující spolupráci v reálném čase, se stal oficiálním projektem organizace Software Freedom Conservancy (Wikipedie). Vývojáři Etherpadu se tak mohou stejně jako vývojáři dalších projektů soustředit pouze na vývoj softwaru a vše kolem zařídí Software Freedom Conservancy. Spuštěna byla instance Etherpadu pad.sfconservancy.org.

Ladislav Hagara | Komentářů: 1
dnes 10:40 | Zajímavý článek

Lukáš Růžička se v článku Workrave ve Fedoře aneb jak si nevytunelovat karpál na MojeFedora.cz věnuje aplikaci Workrave (Wikipedie) na sledování času stráveného na počítači, která může pomoci vyhnout se negativním účinkům práce s počítačem (RSI, CTS), nebo je alespoň výrazně zmírnit.

Ladislav Hagara | Komentářů: 1
dnes 10:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Shadow Warrior: Special Edition běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 1
včera 23:11 | Nová verze

Byla vydána verze 2.4.0 analyzátoru síťového provozu Wireshark. Jedná se o první stabilní verzi nové řady 2.4. Podrobný přehled novinek v poznámkách k vydání. V červnu proběhla konference SharkFest’17 US věnovaná Wiresharku. Záznamy přednášek jsou k dispozici na YouTube.

Ladislav Hagara | Komentářů: 0
včera 13:11 | Pozvánky

Spolek OpenAlt zve příznivce otevřeného přístupu na 142. brněnský sraz, který proběhne v pátek 21. července od 18:00 hodin ve Sport Centru Srbská (Srbská 4). Od 19:00 je pro zájemce zamluveno hřiště na plážový volejbal.

Ladislav Hagara | Komentářů: 0
včera 12:34 | Bezpečnostní upozornění

V GNOME Soubory, původně Nautilus, konkrétně v generování náhledů exe, msi, dll a lnk souborů byla nalezena a opravena bezpečnostní chyba CVE-2017-11421 s názvem Bad Taste. Při otevření složky obsahující tyto soubory může být spuštěn VBScript obsažen v názvech těchto souborů.

Ladislav Hagara | Komentářů: 2
včera 11:00 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno bylo celkově 308 bezpečnostních chyb. V Oracle Java SE je například opraveno 32 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 28 z nich. V Oracle MySQL je opraveno 30 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 9 z nich.

Ladislav Hagara | Komentářů: 0
včera 01:00 | Komunita

Mark Krenz, známý svým twitterovým účtem @climagic (Command Line Magic), kde ukazuje, co vše a jak lze dělat v příkazovém řádku, přednášel včera v Praze. Záznam přednášky je k dispozici na YouTube.

Ladislav Hagara | Komentářů: 1
19.7. 10:00 | Nová verze

Microsoft vydal Skype pro Linux ve verzi 5.4 Beta. Nejnovější Skype pro Linux je postaven na frameworku Electron 1.7.4 a přináší skupinové videohovory.

Ladislav Hagara | Komentářů: 11
19.7. 06:00 | Nová verze

Werner Koch, zakladatel a hlavní vývojář GnuPG, oznámil vydání verze 1.8.0 svobodné kryptografické knihovny Libgcrypt. Jedná se o první stabilní verzi nové řady 1.8. Ta je API i ABI kompatibilní s řadou 1.7. Z novinek vývojáři zdůrazňují podporu kryptografických hašovacích funkcí Blake2 (Wikpedie), šifrovací mód XTS nebo zvýšení výkonu na architektuře ARM.

Ladislav Hagara | Komentářů: 0
Chystáte se pořídit CPU AMD Ryzen?
 (7%)
 (31%)
 (1%)
 (10%)
 (43%)
 (8%)
Celkem 1030 hlasů
 Komentářů: 65, poslední 1.6. 19:16
    Rozcestník

    Dotaz: PHP login = MySQL user

    15.1.2011 00:01 Martin Vesely
    PHP login = MySQL user
    Přečteno: 3756×
    Dobry den,

    pisu takovy maly "informacni system" pro kamarady. Bude se do nej prihlasovat jen nekolik lidi. Z "urcitych duvodu" bych potreboval, aby login do aplikace korespondoval s loginem do MySQL. Tedy v zadnem PHP souboru nebude ulozene jmeno a heslo do DB.

    Jenomze at googlim jak googlim, nachazim akorat clanky o tom, jak se prihlasovat pomoci tabulky 'users' a loginu ulozenem v 'config.php'.

    Nemate nekdo zkusenosti s tim jak postupovat, pokud chci aby login do PHP aplikace byl zaroven loginem do MySQL? Mam pouzit mysql_pconnect? Skript 'login.php' otevre spojeni s DB a kdyz se povede tak presmeruje na index.php a spojeni zustane otevrene? Skript 'logout.php' spojeni zavre?

    Nedari se mi nalezt jediny clanek, ktery by se timto zabyval. Ktery by mne upozornil na zasadni chyby, ukazal cestu...

    Prosim nasmerujte mne nekdo. Dekuji. -Martin

    Odpovědi

    15.1.2011 11:10 Magog | skóre: 6
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    Proč to nejde udělat tak, že jméno a heslo z přihlašovacího formuláře bude zároveň jménem a heslem do MySQL? Problém bude v tom, jak udržovat spojení do databáze. Můžete si například pamatovat to jméno a heslo. Pamatovat si jej na straně serveru bude obtížné, protože nemáte k dispozici databázi, resp. ukládáte údaje nutné k přihlášení do DB. Pamatovat si to na straně klienta (např. v cookies nebo jako součást stránky) taky není ideální, protože při každém požadavku se jméno a heslo přenáší znovu na server.

    Jinak řečeno logovat se do PHP systému loginem do DB serveru přináší spoustu problémů. Nestálo by za to zvážit, zda to nelze udělat jinak, jednodušeji?

    Jinak standardní praxe je na začátku skriptu otevřít spojení do DB, vykonat svoje dotazy, zavřít spojení a odeslat výsledek.
    mess avatar 15.1.2011 11:52 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    Nešlo by si pamatovat to přihlašovací jméno a heslo v $_SESSION. Samozřejmě za předpokladu, že se session bude ukládat někam jinam, než do databáze. Jak se dívám do dokumentace, tak se session ukládá do filesystému, takže s tím by problém být neměl.
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    15.1.2011 12:40 Magog | skóre: 6
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    Ano, sessions je možnost. Musí být ale povolené na serveru (což je dost často) a uživatel musí mít povolené cookies (což nemusí být tak časté, např. na mobilech nebo z důvodu paraonii).

    (Session ID se ukládá do cookies u uživatele. Rozdíl je v tom, že se o to nemusíte starat vy jako autor dané aplikace)
    mess avatar 15.1.2011 13:23 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    ... a uživatel musí mít povolené cookies...
    Uživatel, který má cookies zakázané se stejně nepřihlásí na většinu webů, jelikož je přihlášování většinou řešené právě tím to způsobem. Zadruhé, když je má zakázané, asi ví, co dělá a měla by mu stačit hláška, že si má cookies pro přihlášení povolit. Takže bych povolení/nepovolení cookies na straně uživatele jako problém neviděl.
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    15.1.2011 13:55 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    Lze to řešit ta že to bude $_SESSION proměná, ktéré se při standardním přihlášení ukládají do přednastaveného adresáře. Tento adresář lze změnit i ze skriptu (pokud máte server pod kontrolou a je Vám to umožněno) pomocí fce session_save_path().
    Pokud takto učiníte máte další možnost kontroly tohoto ukládacího prostoru, a můžete jej promazávat dalšími prostředky aby tam něco nezůstávalo apod.
    Pokud chcete zvýšit bezpečnost, můžete hesla do $_SESSION zašifrovaná na základě třeba něčeho v konfiguračním souboru php aplikace či certifikátu, a k tomuto souboru umožníte přístup jen pro čtení a jen uživateli, na kterého běží web server. (někdo bude argumentovat, že je to „security by obscurity“, ale není, je to jiná level, ne každý se může přihlásit na uživatele 'wwwrun', nebo jiného na kterého běží web server.) - já bych tam ještě před tím vložil nějaký obskurní prvek (otočil heslo, pokud má lichý počet znaků tak něco a tak), bo i to může být někdy součástí zabezpečení (buď to prodlouží, nepatrně čas k získání hesel, nebo to znemožní, člověku neznalému co se mu to dostalo do ruky, včetně certifikátu či master hesla to prokouknout).
    A co se týče vypnutých cookie, zkuste si následující (na serveru s safe_mode=off):
    <?php
    error_reporting(0);
    ini_set('display_errors', 'Off');
    
    ini_set("session.use_only_cookies", "0");
    ini_set("session.use_cookies", "1");
    ini_set("session.use_trans_sid","1");
    ini_set("session.name", "uidhash");
    session_start();
    echo ini_get();
    
    error_reporting(E_ALL | E_STRICT);
    ini_set('display_errors', 'On');
    
    if(!isset($_SESSION['test']))
      $_SESSION['test'] = '???';
    echo 'Last time: '.  $_SESSION['test'] . ', now: ' . time() . '<br />';
    
    $_SESSION['test']=time();
    
    ?>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" >
      <input type="submit" />
    </form>
    <a href="<?php echo $_SERVER['PHP_SELF'];?>">link</a>
    
    Vypněte cookies v prohlížeči a refreshněte stránku a zkuste znovu - a podívejte se na zdrojová kód stránky.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    16.1.2011 14:16 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    echo ini_get(); na 10. řádku je tam zbytečné-nesmyslné zakomentujte si jej :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    16.1.2011 14:29 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    Ono se to může ukládat i do DB, je potřeba jen napsat jednotlivé fce, zaregistrovate je pomocí session_set_save_handler() a pro připojení k DB použijete master heslo s uživatelem oprávněným zapisovat jen do té tabulky či db pro session proměnné.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Jendа avatar 15.1.2011 12:36 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    Při normálním HTTP přihlášení má na straně serveru jméno a heslo pořád dostupné v $_SERVER['PHP_AUTH_USER'] a $_SERVER['PHP_AUTH_PW'].
    taky není ideální, protože při každém požadavku se jméno a heslo přenáší znovu na server
    Jak to vadí?
    15.1.2011 12:42 Magog | skóre: 6
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    Pokud jde přes HTTP, tak jde v plaintextu. A tím pádem se kdokoliv může kdekoliv po cestě kouknout. HTTPS je práce navíc.
    Jendа avatar 15.1.2011 12:50 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    Pokud to jde nešifrovaně, tak kdokoli může
    • odposlechnout heslo při přihlašování
    • ukrást session při každém požadavku
    • a pokud chce heslo a má session, může session zneplatnit a tím donutit oběť k dalšímu přihlášení heslem
    xkucf03 avatar 16.1.2011 13:45 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    Jestli se citlivé údaje přenášejí jen jednou nebo pokaždé je celkem jedno, rozdíl je minimální. HTTPS je více méně nutnost – ano, někdo to může považovat za práci/náklady navíc, ale v takovém případě bych doporučil zamyslet se nad tím, jakou bude mít práci a náklady v případě kompromitace, odposlechu.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    15.1.2011 13:12 Martin Vesely
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    Dobry den,

    tedy predem dekuji za Vas zajem a pomoc. A abych trochu odkryl karty, proc vlastne resim tento zpusob prihlaseni do aplikace...

    V prve rade jsem jej (snad naivne) pokladal za bezpecnejsi. Ale neuvedomil jsem si, ze stejne nekde budu muset mit uschovane to heslo. Kdyz jsem si precetl rozdil mezi mysql_connect a *_pconnect, zjistil jsem, ze slouzi docela jinemu ucelu, nez jsem se domnival.

    Ve druhe rade budu mit uzivatele, kteri budou do DB prispivat a ty, kteri ji budou pouze cist. Delegovanim kontroly prav na MySQL jsem se chtel vyhnout tomu, abych to musel resit v samotne aplikaci. Tedy ne, ze bych to do jiste miry resit nemusel, ale i pri opomenuti/chybe by pripadny pokus o zapis zastavilo MySQL.

    No a do tretice mne uz psani PHP kodu trochu omrzelo a zacal jsem objevovat schopnosti a silu samotneho (My)SQL. Snazim se na jeho bedra prenest velkou cast prace. Neresim do jake miry je to rozumne, chci si to zkratka vyzkouset.

    Jak je login reseny napr. u PHPMyAdmin, netusite nekdo? Tedy koukam tady do kodu, ale moudry z toho nejsem.

    Dekuji Vam, -Martin
    15.1.2011 14:39 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP login = MySQL user
    U phpMyAdmin definujete pomocí $cfg['Servers'][$i]['auth_type'] metodu přihlášení a od ní odvinutý způsob uložení informací viz třeba zde.
    Kde v případě 'cookie' není heslo v session proměnné, jak píšou - kód jsem nezkoumal, ale přímo v zašifrované cookie (pomocí fráze v $cfg['blowfish_secret']), z hlediska bezpečnosti na to může být dvojí pohled. Heslo je zašifrované jinde, než je klíč - což je dobře, ale zašifrované heslo je veřejné - což nemusí vadit (mně to vadí z toho důvodu, že zašifrovná hesla se mohou nasbírat a pak stačí mít tu passfrázi (nechťa uteče :)). Pokud by byla zašifrovaná hesla na serveru jen nezbytně dlouho dobu, je těžké je nasbírat a není to tak zlé, bo ji(passfrazi) změním a hotovo, ale když to chodí pryč je třeba změnit všechna hesla hned.).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    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.