abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 10:33 | IT novinky

    V souvislosti s nárůstem falešných webových stránek, které se vydávají za oficiální webové stránky Portálu občana, Portálu identity občana nebo Portálu veřejné správy, se Digitální a informační agentura (DIA) rozhodla urychlit přechod Národní identitní autority na jednotnou státní doménu gov.cz a identitaobcana.cz tak přešla na identita.gov.cz [tisková zpráva].

    Ladislav Hagara | Komentářů: 8
    dnes 09:44 | Nová verze

    Byla vydána verze 0.5.18 open source správce počítačových her na Linuxu Lutris (Wikipedie). Přehled novinek v oznámení na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 1
    včera 22:00 | IT novinky

    I letos vychází řada ajťáckých adventních kalendářů. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2024. Pro programátory v Perlu je určen Perl Advent Calendar 2024. Pro programátory v TypeScriptu Advent of TypeScript. Pro zájemce o kybernetickou bezpečnost je určen Advent of Cyber 2024

    Ladislav Hagara | Komentářů: 2
    včera 13:55 | Komunita

    Organizace Software Freedom Conservancy (SFC) společně se svým členským projektem OpenWrt oznámila oficiální spuštění prodeje Wi-Fi routeru OpenWrt One vyrobeného ve spolupráci s Banana Pi. Cena je 89 dolarů nebo 68,42 dolarů jenom deska. Z každého prodeje jde 10 dolarů do fondu OpenWrt v Software Freedom Conservancy. Projekt OpenWrt představil plán na výrobu vlastního routeru letos v lednu při příležitosti 20. výročí projektu.

    Ladislav Hagara | Komentářů: 3
    30.11. 18:11 | IT novinky

    Multiplatformní rogue-like hra Oaken je na portále GOG.com zdarma, akce trvá do 2. prosince.

    Fluttershy, yay! | Komentářů: 5
    30.11. 13:55 | Zajímavý software

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.15. Díky 294 přispěvatelům.

    Ladislav Hagara | Komentářů: 1
    30.11. 13:00 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.11 Stirk. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    29.11. 18:00 | Nová verze

    Byla vydána verze 0.82 telnet a ssh klienta PuTTY. Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu. Vypíchnuta je vylepšená podpora Unicode.

    Ladislav Hagara | Komentářů: 1
    29.11. 16:11 | Pozvánky

    Vánoční RoboDoupě bude v sobotu 7. prosince. Na programu je Úvod do ESP-NOW nebo Netradiční použití H-můstků.

    Ladislav Hagara | Komentářů: 0
    29.11. 12:22 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch OTA-7 Focal, tj. sedmé stabilní vydání založené na Ubuntu 20.04 Focal Fossa.

    Ladislav Hagara | Komentářů: 7
    Rozcestník

    Dotaz: login pomoci PHP

    22.2.2008 22:49 Zdenek.k | skóre: 6
    login pomoci PHP
    Přečteno: 4939×
    Zdravim, mam takovy problem. Snazim se na svem serveru ( debian etch, apache, PHP5, mysql) rozjet nasledujici vec. Snazim se udelat jednu stranku s nejakym obsahem a na ni formular na logovani. Pomoci jmena a hesla bych potom chtel jednotlive uzivatele prihlasit na jejich soukrome stranky. Bohuzel se mi to nedari. Neresil jste prosim nekdo tento problem ? jsem zacatecnik v php, verim ze to asi nebude moc slozite, ale opravdu si nevim rady a proto by se mi hodila kazda rada. Diky Z.

    Odpovědi

    22.2.2008 22:55 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Myslim si, že tenhle dotaz nepatří sem, ale na fórum o tvorbě webu.

    Navíc je to taková věc, která se řeší v každé učebnici PHP, mrkni na linuxsoft.cz, je tam super seriál o PHP a v něm se to určitě naučíš.
    My máme všechno co chcem, my máme dobrou náladu!
    22.2.2008 23:09 Zdenek.k | skóre: 6
    Rozbalit Rozbalit vše Re: login pomoci PHP
    ahoj, ani ja si nejsem uplne jisty jestli je tento dotaz urcen na toto forum, ale uz jsme opravdu zoufaly. kazdopadne diky za radu mrknu se tam. Na webu a vsude se mi podarilo najit pekne navody, ale bohuzel jsou vzdy udelane tak ze se vsichni uzivatele prihlasi na stejnou "tajnou stranku" a to bych nechtel ... Kazdopadne ma jeste nekdo nejakou radu ?
    22.2.2008 23:26 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Když pochopíš podstatu, tak neni problém upravit si to jak chceš, pokud bude uživatel v databázi, tak tam přidáš položku třeba stranka a tam bude jaká tajná stránka se mu otevře.. O tom to je uděláš to tak, jak chceš (a jaký jsou technický možnosti).
    My máme všechno co chcem, my máme dobrou náladu!
    22.2.2008 23:29 Zdenek.k | skóre: 6
    Rozbalit Rozbalit vše Re: login pomoci PHP
    ok teoreticky princip je mi jasny, ale praxe trochu vazne ... nemel bys nejakou praktickou ukazku ?
    frEon avatar 23.2.2008 01:26 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: login pomoci PHP
    kuk
    Talking about music is like dancing to architecture.
    23.2.2008 12:28 Zdenek.k | skóre: 6
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Ahoj diky za tip, ale tuto stranku jsem prozkoumaval. Jestli jsem ten navoddobre pochopil je to prihlasovani vsech uzivatelu na jednu stejnou stranku a ja bych chtel docilit toho ze se kazdy uzivatel prihlasi na svoji stranku. Pokud se pletu oprav me prosim nejsem v tom uplne zbehly ... Z.
    23.2.2008 14:06 Kroko | skóre: 22
    Rozbalit Rozbalit vše Re: login pomoci PHP
    vážně chceš odpověď: vykašli se na programování a někomu řekni ať ti to napíše .... s tímto přístupem a otázkami nevyřešíš nikdy nic ...

    Ono když chceš napsat program, respk. script, musíš u toho přemýšlet, udělat analýzu problému, vytvořit si osnovu postupu a pak to naprogramovat. Rozhodně ne stylem jo tady to řešej, ale je tam A a já chci B tak mi všichni poraďte. To co chceš je velice jednoduchý problém tak i s malou námahou to dokáže začátečník, který má alespoň trošku snahy přemýšlet.
    http://kroko.evesnight.net
    23.2.2008 14:23 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Mám na to stejnej názor, v tomhle jsem taky začátečník ale postup znám, jak přesně to udělat samozřejmě nevim, to bych si musel sednout a vymyslet to, to je asi to co tazatel chce, aby to někdo vymyslel za něj...
    My máme všechno co chcem, my máme dobrou náladu!
    23.2.2008 15:32 Zdenek.k | skóre: 6
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Zdravim reaguji na dva prispevky predesle. Rozhodne nemam zajem aby nekdo neco vymyslel za me. Postup jak to udelat je mi naprosto jasny a vim ze se kody daji modifikovat pro moje potreby. Jiz se mi podarilo autentikovat uzivatele aby se kazdy dostal na svoji stranku, ale jeste bych potreboval nejak "ochranit" onu soukromou stranku aby uzivatele nemohli obejit prihlasovani a rovnou si zadat url te stranky. Vim ze se to dela pomoci session ( aby zde zase nekdo nenapsal ze chci aby to nekdo vymyslel za me) ale nedari se mi to zapsat. Mohl by me prosim nekdo naznacit zpusob reseni ?
    23.2.2008 16:05 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Když nenapíšeš, jak jsi to udělal, tak těžko radit.. Záleží na tom co je cílem snažení, podle toho co jsem zde čet, bych to udělal tak, že v tabulce s uživateli bych přidal položku "stranka" a jeji obsah by se zobrazil po nalogovani danemu uzivateli, nevim jak bys to chtel obejit.
    My máme všechno co chcem, my máme dobrou náladu!
    frEon avatar 23.2.2008 16:46 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: login pomoci PHP
    udelej si nejakej index.php a do nej dej zakladni logiku, ktera vyhodnoti co se uzivateli zobrazi. a podle $_SESSION['id'] pak vyhodnot, jestli ma na to pravo, nebo ne. ale nejdriv nam prozrad jak to mas udelane, protoze takhle strilime od boku...
    Talking about music is like dancing to architecture.
    frEon avatar 23.2.2008 14:25 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: login pomoci PHP

    ahoj, da se to celkem dobre ohnout pro tve potreby. Uzivatel zada sve jmeno a heslo. Po overeni idetity uzivatele (ma spravne jmeno a heslo), vytahnes id tohoto uzivatele z db. To ulozis do session promenne: $_SESSION['id'] = $uzivatelovo_id; pak v tabulce clanky budes mit sloupec ve kterem budes mit ulozena id uzivatelu kteri se na ni budou moct podivat. kdyz si ji pak uzivate bude chtit zobrazit, posle tvuj skript dotaz do db: select * where (nadpis LIKE 'bla' and allowed_user = '{$_SESSION['id']}'); . Pokud bude mit kazdy uzivatel pristup k pouze sve strance a mimo prihlasovaci nebude moci k zadne sdilene, muzes udelat sloupec allowed_user jako int(tinyint - podle toho co se ti bude hodit). V pripade, ze chces mit nejake stranky, ke kterym bude mit vice (pouze) prihlasenych uzivatelu pristup, udelej sloupec allowed_user treba varchar a v nem, idcka povolenych uzivatelu oddelenych mezerama. Pak dotaz uprav takto: select * where (nadpis LIKE 'bla' and allowed_user = '% {$id} %);

    predpokaladam takoveto tabulky:

    uzivatele:
    +----+-------+-------+
    | id | jmeno | heslo |
    |  1 | franta| neco  |
    |  2 | jarda | neco1 |
    +----+-------+-------+
    clanky:
    +----------------------------+-------------------+
    | id | nadpis | allowed_user | obsah_clanku      |
    |  1 | clanek1| 1            | ja sem clanek     |
    |  2 | bla    | 2            | blablablablablabla|
    +----+--------+--------------+-------------------+
    

    ps: nejsem php programator a rozhodne ne zkuseny, takze netvrdim, ze je to nejlepsi zpusob jak to udelat, ale myslim ze to muze fungovat
    Talking about music is like dancing to architecture.
    xkucf03 avatar 23.2.2008 18:18 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: login pomoci PHP

    A co normalizace databáze?

    (o hashování hesel ani nemluvím)

    Sice jsem tak taky začínal, ale udivuje mě, když se každý, kdo umí nainstalovat MySQL a PHPmyadmina, tváří jako databázový analytik

    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-DK, Relational pipes
    frEon avatar 23.2.2008 18:37 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: login pomoci PHP
    viz moje ps.
    Talking about music is like dancing to architecture.
    xkucf03 avatar 23.2.2008 19:53 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: login pomoci PHP

    Tak to OK, došel jsem k

    varchar a v nem, idcka povolenych uzivatelu oddelenych mezerama.

    a pak už jsem neměl chuť číst to dál.

    Nejde o nějaké akademické lpjení na normalizovaných datech, ale i z čistě praktických důvodů je lepší udělat samostatnou tabulku, která nahradí ten varchar sloupeček, pomocí níž vyjádříme vazbu 1:N (jeden objekt a N subjektů, které k němu smějí přistupovat).

    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-DK, Relational pipes
    25.2.2008 22:36 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Nebude ta vazba M:N? :-)

    BTW. Pokud se to udělá takhle, tak se rovnou může použít InnoDB a foreign keys, které ještě lépe zajistí integritu dat. (Slovy PHPkáře - při mazání uživatele není nutné ještě procházet všechny možný tabulky okolo a dívat se, jestli se tam taky náhodnou něco nemá smazat.)
    xkucf03 avatar 25.2.2008 22:57 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Nebude ta vazba M:N?
    Jo, bude, nějak jsem se soustředil na to, že k jednomu objektu bude mít práva n subjektů, ale samozřejmě, že jeden subjekt může mít i práva k m objektům.

    Cizí klíče se rozumí snad samo sebou, jinak by to nebyla relační DB, ale jen primitivní wrapper nad souborovým systémem :-) PHPčkař pak narazí, protože mu záznamy s vazbou nepůjdou smazat a hodí mu to chybu, což bude muset řešit nastavením kaskády na delete v DB (případně zase tím ručním procházením a mazáním).
    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-DK, Relational pipes
    24.2.2008 01:07 Zdenek.k | skóre: 6
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Zdravim, netvarim se jako databazovy analytik. Pokud to tak vyznelo tak to se omlouvam. Ja se jen snazim najit reseni sveho problemu.
    xkucf03 avatar 24.2.2008 02:09 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Ahoj. To nebylo na tebe :-)

    To, co ti výše radí frEon, je celkem ok (až na tu zrůdnost, kdy by se víc IDček mělo nacpat do varcharu a oddělovat mezerama).

    Na svém webu mám ukázkovou aplikaci (velmi jednoduchá bugzilla) Ověřování uživatelů na webu. Je to trochu složitější, protože se tam používá metoda výzva-odpověď a hesla se dvakrát hashují. Ale můžeš si pročíst ty zdrojáky a vzít si z nich, co potřebuješ.
    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-DK, Relational pipes
    25.2.2008 19:34 Zdenek.k | skóre: 6
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Omlouvam se za opozdenou reakci moje reseni je nasledujici: Sklada se ze 4 souboru login.html, login.php, register.html a register.php. Obsahy souboru *.html jsou jasne to jsou pouze prihasovaci tabulky. Obsah souboru login.php je nasledujici:

    //Connect to database mysql_connect ( $dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error()); mysql_select_db($dbname) or die(mysql_error());

    session_start(); $username = $_POST['username']; $password = md5($_POST['password']);

    $query = "select * from users where username='$username' and password='$password'"; $result = mysql_query($query);

    if (mysql_num_rows($result)!=1) { $error="bad login"; include "login.html"; } elseif ($username==test and "password= $password") { include "uzivatel/u.php"; } elseif ($username==test1 and "password= $password") { include "uzivatel1/u1.php"; } elseif ($username==test2 and "password= $password") { include "uzivatel2/u2.php"; } else { } >

    Obsah souboru register.php je nsledujici:

    //Database Information

    $dbhost = "localhost"; $dbname = "test"; $dbuser = "root"; $dbpass = "root";

    //Connect to database mysql_connect( $dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error()); mysql_select_db($dbname) or die(mysql_error()); $name = $_POST['name']; $email = $_POST['email']; $username = $_POST['username']; $password = md5($_POST['password']);

    // lets check to see if the username already exists $checkuser = mysql_query("SELECT username FROM users WHERE username='$username'"); $username_exist = mysql_num_rows($checkuser);

    if($username_exist > 0){ echo "I'm sorry but the username you specified has already been taken. Please pick another one."; unset($username); include 'register.html'; exit(); }

    // lf no errors present with the username // use a query to insert the data into the database. $query = "INSERT INTO users (name, email, username, password) VALUES('$name', '$email', '$username', '$password')"; mysql_query($query) or die(mysql_error()); mysql_close();

    echo "You have successfully Registered";

    Vim ze toto reseni neni mocdobre ale jine jsem nedokazal vymyslet. Nyni resim to, aby uzivatele nemohli obejit logovaci formular a dostat se primo na svoji stranku. Co se tyce vyse uvedeneho kodu prosim o pripadnou kritiku nebo vylepseni, budu za ne vdecny. Diky Zdenek
    xkucf03 avatar 25.2.2008 22:21 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: login pomoci PHP
    chce to trochu přehodnotit pohled na stránky jakožto soubory a nepoužívat funkci include() tak, jak ji používáš.

    PHP weby jsem většinou tvořil tak, že jsem si udělal skript funkce.php, ten neprodukoval žádný obsah, ale byl pouze jakousi knihovnou společných funkcí*. Na každé stránce jsem pak tento skript includoval. Základní funkce byly getHtmlZahlavi() a getHtmlZapati(); Ty jsem na každé stránce spustil vypsal (mezi ně jsem doplnil obsah dané stránky)

    getHmlZahlavi() nejen že vypsala HTML hlavičky, ale i ověřila uživatele - což můžeš udělat jen jednou a jméno si uložit do session proměnné, nebo sessiony vůbec nepoužívat (k čemuž asi už dneska není důvod) a jméno i heslo si ukládat do cookie a kontrolovat je na každé stránce.

    Tak a teď už máš jméno uživatele v nějaké session proměnné (nebo jiné proměnné) a nebo tam máš null, pokud se nepřihlásil nebo zadal špatné heslo. Tudíž mezi výpisem getHmlZahlavi() getHtmlZapati(), kde máš aplikační logiku, dáš if podmínku, kde zkontroluješ jestli proměnná má správnou hodnotu - pokud ano, zobrazíš obsah, pokud ne, zobrazíš "Pro zobrazení této stránky musíte být přihlášení" + odkaz na přihlašovací stránku.

    *) dneska bys k tomu použil objekty, ale ty tehdy nebyly a teď se věnuji spíš Javě.
    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-DK, Relational pipes
    26.2.2008 15:38 manasekp | skóre: 29 | blog: manasekp | Brno
    Rozbalit Rozbalit vše Re: login pomoci PHP
    zdravim, mam mozna trochu OT dotaz ohledne tohoto tematu. zaujal me tento nazor na rozdeleni funkci do jednoho souboru (treba knihovna.php) a v dalsich souborech uz jenom volat vytvorene funkce. Neceho takoveho jsem se kdysi snazil dosahnout. Proto bych se chtel zeptat jestli by me nekdo nedoporucil nejakou literaturu ke studiu(nejlepe na webu, knizku zatim ne) tykajici se organizace rozsahlejsiho projektu(nejvic by se me libilo konkretne php a vytvareni treba nejakeho redakcniho systemu nebo podobne) ale v podstate by to melo byt nezavisle na jazyku.
    BIOKOMP | Cas od casu se pokousim nekoho srazit k zemi abych se tam nevalel sam.
    26.2.2008 17:42 Ripper | skóre: 31
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Tak si nějaký open source pHP redakční systém stáhněte, prostudujte si kódy a ono Vám to dojde a hodně dobře se podle toho účí.
    26.2.2008 17:50 Ctirad
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Zdenek_k: $username je neotreseny vstup, ukazkova SQL injection bude kdyz nekdo zasle username zacinajici apostrofem ale ani ostatni casti tveho kodu nejsou spravne, jedna se o nekvalitni hnuj, jsi zaostaly nejmene o 8 let + tva English je chybna.
    26.2.2008 19:35 PAPoUcH
    Rozbalit Rozbalit vše Re: login pomoci PHP
    a co takhle ukazat jak se to dela , misto "kydani" poucnych kecu ...
    26.2.2008 22:57 Zdenek.k | skóre: 6
    Rozbalit Rozbalit vše Re: login pomoci PHP
    Ctirad: Ok je mi jasne ze to neni zadne dokonale reseni, ale jak jsem jiz psal jine me nenapadlo. Pokud mas nejaky navrh muzes nam ukazat svuj skript, ale takoveto rady mi opravdu moc nepomuzou ...

    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.