LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek PHP (71) - Přihlašování uživatelů na portál

function iduzivatele ($prezdivka, $heslo, $link) function iduzivatele 26.11.2004 17:57
Lukáš Kokoška

Vetsinou pouzivam takto :

function iduzivatele ($prezdivka, $heslo)
{
global $link;
...

protoze pokud mam vicero volani teto fce, tak nemusim volat pokazde identifikator spojeni s db

Je to tak 26.11.2004 18:10
Petr Zajíc

Tak tak. V dalším díle, který je už napsaný, mám z výukových důvodů podobně neoptimalizované funkce
email_z_id a heslo_z_id (a myslím, že ještě jednu). Plánuju v jednom díle ke konci to všechno zoptimalizovat. Obětoval jsem korektnost ve prospěch názornosti.

Vlastně nejlepší by bylo mít ten link jako úplně globální a tvořit ho jednou za životní cyklus. Dokonce teoreticky není vůbec potřeba, protože když se nespecifikuje, měl by se script pokusit použít existující připojení.

Bohužel jak víme, PHP automaticky nezpřístupňuje globální proměnné v těle funkcí, takže se musí použít ono klíčové slovo global.

opravte to 27.11.2004 17:16
mrzout

Proboha osetrete tam vstupy nebo alespon obrovskejma pismenama napiste, ze je to kvuli bezpecnosti pro ostry provoz nepouzitelny.

KAZDY kdo zacina ted pujde a zkopiruje si to do sveho projektu, myslete na to!

Re: opravte to 28.11.2004 12:21
Petr Zajíc

Co máte na mysli?

Re: opravte to 30.11.2004 01:21
Jan Houštěk

P. Vraný měl patrně na mysli fenomén jménem SQL injection. Fakt by se ty vstupy měly nějakým alespon základním zpusobem sanitizovat.

Re: opravte to 30.11.2004 13:22
Petr Zajíc

Já ten fenomén "SQL injection" znám, ale nemyslím si, že by dalo nabourat do databáze pomocí zde zveřejněných skriptů. V PHP došlo od doby, kdy to byl diskutovaný problém, již k mnoha bezpečnostním opatřením.

Tak například jako výchozí chování je od jisté doby v PHP zapnuta direktiva magic_quotes_gpc, která působí, že všechny proměnné získané pomocí metod get, post nebo cookie obsahující jednoduchou uvozovku, dvojitou uvozovku nebo zpětné lomítko automaticky oescapovány. Tato direktiva je zapnuta i zde na serveru.

Jako další bezpečnostní prvek by se měl vzít v úvahu fakt, že příkaz mysql_query provede vždy jen jeden dotaz, takže triky typu předání středníku a nějakého dalšího textu do dynamicky sestavovaného dotazu už taky nefungují.

Kombinací uvdených pravidel je SQL injection sama o sobě prakticky vyloučena. Pokud jste ovšem nějakou bezpečnostní chybu objevili, sem s ní.

Re: opravte to 30.11.2004 23:05
Jan Houštěk

Spolehat se na nejakou vlastnost PHP je cesta do pekel. A o "bezpecnostnich" vlastnostech to plati dvojnasob.

Navic i v pripade, ze by pouzivany engine nebyl tak strasny, jako je, tak by nejaka zakladni specifikace uzivatelskych vstupu a jejich osetreni dle teto specifikace mela patrit k naprosto rutinnim zalezitostem.

Re: opravte to 1.12.2004 22:23
Petr Zajíc

Dam stovku za prvni funkcni e-mailem zaslany postup, jak na soucasne verzi spachat SQL injection. Jasne?

Re: opravte to 2.12.2004 09:22
Jan Houštěk

Stovka je naprosto smesna motivace. Tezko tim nekoho primejes, aby ti zaslal exploit a odhalil tak zatim nezname zranitelnosti enginu :)

Re: opravte to 19.7.2006 00:16
Aleš Hakl

Problem PHP je ten, ze nespolehat na tuhle featuru moc rozumne nelze. (proste to vypnout v php.ini a kaslat na to me neprijde rozumne, protoze je to defaultne zaple)

Dotaz 28.11.2004 13:35
mysql_php

Mohl bych poprosit autara aby mi mi napsal link kde se da stahnout kompletni adresar vaseho projektu i s databasi nevim jestli jsem ji vytvoril dobre. Dekuji

Re: Dotaz 28.11.2004 14:17
Petr Zajíc

Zdravím,

kouzlo tohoto projektu je v tom, že to vzniká "za pochodu". Takže na konci každého dílu je odkaz na stažení zipu obsahujícího aktuální verzi "projektu". Příkazy pro databázi budu zveřejňovat tak, jak se budou přidávat tabulky. Momentálně je tam jedna tabulka, její definice byla v minulém díle.

http://www.linuxsoft.cz/article.php?id_article=538

Na konec to asi pochopitelně stáhneme do jednoho souboru (bez dat).

nastaveni SQL 18.2.2006 14:48
Andrej Kurochenko

Dobrý den,
Velice mě zaujal váš serial o php, čtu jej se zaujetím a zkouším co jsem se naučil. Ale jaksi jsem se zasekl u registrace ( 71 članek ) Pro hosting používám Webzdarma a nevim jak tam nastavit SQL. Vytvořiljsem tabulku a i přesto mi to piše chyby. Mohl byste mi poradit prosím.
Stači zajit na: http://www.heechee.wz.cz/php/index.php a tam poklikat na odkazy.
Byl bych moc vděčny za vaší odpověď a radu kde dělám chybu. Předem děkuji.

Re: nastaveni SQL 18.2.2006 14:55
Ondřej Čečák

Vsak to obsahuje chybova hlaska:

mysql_connect(): Unknown MySQL Server Host 'SQL_HOST' (1) in /3w/wz.cz/h/heechee/php/registrace.php on line 32

Nastavte spravne parametry pro pripojeni k databazi.

Re: nastaveni SQL 18.2.2006 17:38
Andrej Kurochenko
mohlo by to vypadat takto?
// tělo skriptu - nejprve si vytvoříme odkaz na databázi require("config.php"); $link=mysql_connect ($host, $user, $password); mysql_select_db($database);
takto by vypadal config.php:
<?php $host = "webzdarma"; $user ="Franta"; $password ="heslo"; $database ="webzdarma"; ?>
Děkuji za odpověď
znovu nevim 18.2.2006 18:40
Andrej Kurochenko
hned ci jsem vyřešil jeden problem, je tu další. Tentokrat jsem si to přečetl několikrát, ale pořad si nevím rady. Jedna se o takovouhle chybu:
Fatal error: Call to undefined function: iduzivatele() in /3w/wz.cz/h/heechee/php/index.php on line 9
Opravdu nevím co tam mam definovat.Děkuji za případnou odpověď
Re: znovu nevim 18.2.2006 19:28
o.k.

Opet vam to ukazuje ta chybova hlaska.

V tom skriptu nekde (konkretne na radku 9) volate funkci iduzivatele() a asi ji nikde nemate nadefinovanou. Takze je zapotrebi ji nejdrive nadefinovat.

Re: znovu nevim 19.2.2006 22:42
Petr Zajíc
Jinak - já jsem to psal postupně. Takže jak seriál pokračoval, tak byl portál čím dál tím "kompletnější" (ke kompletnímu portálu to celé má pochopitelně ještě dost daleko) a pro studium kódu je tedy lepší stahovat spíše poslední verze portálu.
viac sesssion hodnot 18.7.2006 23:46
mattonik

Ako mozem ukladat a kontrolovat viac hodnot session? Dakujem

Re: viac sesssion hodnot 18.7.2006 23:53
mattonik

Problem sa mi uz podarilo vyriesit, mal som to zle ozatvorkovane

Parada 24.10.2006 22:38
Peter Rožnay

Zdravím autora tohto seriálu.
Píšem čiste ako totálny laik a zlený amatér... tento seriál ma tak nadchol, že aj ked prídem z práce a musím sa venovať svojej 2 ročnej dcérke, tak večer, keď už konečne zaspí posadím ženu k TV (dam jej košom) a vrhám sa na váš serál o PHP. Momentálne som skončil 71. kapitolu a vytešujem sa z mojho "provizorného" portálu ako malé dieťa. Už mi funguje registrácia a aj prihlásenie, ešte som si to trosku vylepšil (po prihlásení schovám položku v menu registrácia)... je to super seriál a aj napriek tomu, že vznikol pred viac ako 2 rokmi som rad že som ho našiel... už sa teším na ďalšie a ďalšie časti.
Štve ma len jedna vec... že sm zatiaľ nenabral odvahu a nenainštaloval som si linux. Ale už to vyzerá tak, že sa k tomu predsa len dostanem :) zatial len cez wmvare... Na firemnom notebooku by mi to asi neprešlo, hehehe.
Nuž, ďakujem za dobrý seriál...

PS: mne tieto príklady fungujú na prvý pokus, nemám s tým žiadne problémy.

Re: Parada 25.10.2006 15:52
Petr Zajíc

Mno, konečně to taky někomu funguje ;-)) Většina lidí si to moc dobře nepřečte a pak se diví. Jen tak dál, vydržte a stane se z Vás programátor ;-)))

přihlášení 11.11.2006 19:50
Pavel Jastrzembski

Tak jsem konečně vyřešil pár problémů s registraci... a dal jsem se na přihlašeni.... nevim proč ale stale mi to píše, že jmeno a/nebo heslo nesouhlasí viz http://pablotest.ic.cz/index.php?clanek=login/prihlaseni (musite se nejdřive registrovat)

prezivka v strankach 12.1.2008 16:10
rudhas gasper

Pomocou čoho mam zabespečit aby prihlaseny videl svoju prezyvku na všetkych strankach ktore vyžaduju registraciu.Inač som velmi potešeny stimto serialom,,Prosim pište mi na rudhas@post.sk
alebo reagujte dakujem.

Tak už jsem se také dokousal až sem :) 3.2.2008 10:09
Jan 'Jan16' Sixta

Tak už jsem se taky dokousal k článku 71. Váš tutoriál se mi moc líbí. PHPčko se učím už asi týden a už mám svůj vlastní gbook. Určitě zkusím i nějaký takovýhle portál. Jestli chcete tak se na ten můj první výtvor podívejte sem:
www.pas-prog.ic.cz/php_testy/gbook.php
JE to sice hrozná blbost, ale mám z toho radost, protože to funguje a kupodivu je to i validní :)
Děkuji za skvělý tutoriál o php!
Ahoj, Honza

Problem s prihlasovanim 22.4.2008 21:48
Marek Mucha
Zdravím, jakožto začátečník v PHP jsem začal studovat váš seriál a nyní vylepšuji svoje stránky tak, aby byly dynamické a vše se "odehrávalo" v souboru index.php. Nicméně potřebuji mít zaheslovanou určitou část webu, avšak při přihlašování (použit skript func.php a prihlaseni.php obdobne jako v serialu) to píše chybu:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/free/ic.cz/m/manasweb/root/www/test/func.php on line 27


Netuším co a jak... mohl by mi prosím někdo poradit jak to udělat aby mi přihlašování fungovalo? Testuju jak na Linuxu tak na Win a i na hostingu je tato hláška...


Děkuji
Warning 3.6.2008 17:18
Vladimir Macko

Ja mam ten isty problem ako Marek Mucha,
tiez mi ukazuje tuto chybu

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /3w/xf.cz/k/knr-presov/3/func.php on line 23

Prosim o pomoc

value 13.5.2010 07:01
Robert Jedek

Dobrý den, nevíte někdo jak je možné,že se mi ve formuláři na přihlášení objevuje jméno a heslo pro přihlášení k databázi?

par chyb 13.3.2012 20:12
Jakub Šilar

Vim ze tento serial je uz hosne stary ale podle me je pouzivan nejvice. V tomto prikladu musim priznat ze sem mel opravdu hodne chyb (chyby mi nevadí nejprve se je snazim opravit sam a kdyz se mi nedari kouknu do diskuze). Jelikoz chyby, které sem mel, me dneska hodne nastvali napisu je sem a pro budouci ctenare dam k dispozici, ale nejsem dobry programator v podstate mam znalosti nacerpane z predchozich dílů tak se spise snazim nektere chyby ocurat nez vyresit.

Po nahrani skriptu na localhost se mi v indexu zobrazovala chyba ze $_POST["heslo/prezdivka"] neni definovaná to jsem vyresil(ocural) tak ze kdyz $_POST["heslo/prezdivka"] neni at se doplni prazdnym retezcem, ale to se mi pak pokazde zobrazovalo ze Uživatelské jméno a/nebo heslo nesouhlasí a to sem nasledne vyresil (samozrejme ve skriptu prihlaseni.php) ze kdyz je $_POST["heslo/prezdivka"] prazdny retezec at se neudela nic. Byl bych rad kdyby mi nekdo poradil lepsi reseni protoze tohle se mi zda velice lamacke.

Napsal sem to jenom proto, ze by nekdo mohl mit stejny problem jako ja.


KOMENTARZE
function iduzivatele ($prezdivka, $heslo, $link) function iduzivatele 26.11.2004 17:57 Lukáš Kokoška
Je to tak 26.11.2004 18:10 Petr Zajíc
opravte to 27.11.2004 17:16 mrzout
L Re: opravte to 28.11.2004 12:21 Petr Zajíc
  L Re: opravte to 30.11.2004 01:21 Jan Houštěk
    L Re: opravte to 30.11.2004 13:22 Petr Zajíc
      L Re: opravte to 30.11.2004 23:05 Jan Houštěk
        |- Re: opravte to 1.12.2004 22:23 Petr Zajíc
        | L Re: opravte to 2.12.2004 09:22 Jan Houštěk
        L Re: opravte to 19.7.2006 00:16 Aleš Hakl
Dotaz 28.11.2004 13:35 mysql_php
L Re: Dotaz 28.11.2004 14:17 Petr Zajíc
nastaveni SQL 18.2.2006 14:48 Andrej Kurochenko
L Re: nastaveni SQL 18.2.2006 14:55 Ondřej Čečák
  L Re: nastaveni SQL 18.2.2006 17:38 Andrej Kurochenko
znovu nevim 18.2.2006 18:40 Andrej Kurochenko
|- Re: znovu nevim 18.2.2006 19:28 o.k.
L Re: znovu nevim 19.2.2006 22:42 Petr Zajíc
viac sesssion hodnot 18.7.2006 23:46 mattonik
L Re: viac sesssion hodnot 18.7.2006 23:53 mattonik
Parada 24.10.2006 22:38 Peter Rožnay
L Re: Parada 25.10.2006 15:52 Petr Zajíc
přihlášení 11.11.2006 19:50 Pavel Jastrzembski
prezivka v strankach 12.1.2008 16:10 rudhas gasper
Tak už jsem se také dokousal až sem :) 3.2.2008 10:09 Jan 'Jan16' Sixta
Problem s prihlasovanim 22.4.2008 21:48 Marek Mucha
Warning 3.6.2008 17:18 Vladimir Macko
value 13.5.2010 07:01 Robert Jedek
par chyb 13.3.2012 20:12 Jakub Šilar
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4711x
2. FreeBSD
Download: 8886x
3. PCLinuxOS-2010
Download: 8386x
4. alcolix
Download: 10653x
5. Onebase Linux
Download: 9457x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 5953x

1. xinetd
Download: 2236x
2. RDGS
Download: 937x
3. spkg
Download: 4338x
4. LinPacker
Download: 9602x
5. VFU File Manager
Download: 3027x
6. LeftHand Mała Księgowość
Download: 6845x
7. MISU pyFotoResize
Download: 2602x
8. Lefthand CRM
Download: 3396x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 2868x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz