Starší komentáře ke článku: PHP FTPClient

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: laada

Datum vložení: 25.3.2004 12:15:04

Zdravim,
tak sem to chtel vyzkouset v praxi, ale nejak to nefunguje. Po odeslani prihlasovaciho formulare se nacte prazdna stranka.

Vsechna pozadovana nastaveni jsou povolena.

Kde je bota?

Avatar

Autor komentáře: dgx

Datum vložení: 25.3.2004 21:35:54

vypadá to, že nemáte ten mcrypt. Mimochodem, dokumentace o funkci mcrypt_cbc hovoří jako o zastaralé, doporučuje používat spíše mcrypt_generic() a mdecrypt_generic().

Avatar

Autor komentáře: Vermin

Datum vložení: 25.3.2004 12:39:08

prijde mi celkem paranoidni kontrolovat uspesnost include, to by se mohla potom kontrolovat treba pamet, disky, pripojeni k siti, ... Dale se chyba zobrazuje pomoci javascriptu na ktery se da spolehnout urcite mene nez na include..

mazani session funkci unlink ?

@unlink("USER_FILES/".session_id().".txt");
$_SESSION = array();
session_destroy();

nevim jak vas server ale muj uchovava data session nekde /tmp/... tak me napadlo proc ke smazani nepouzijes funkce pro primi pristup k sektorum disku ???

case "smazat":
$proved_f = "smazat";
break;
case "file_rename":
$proved_f = "file_rename";

jednou cesky jednou anglicky

ale jinak dobrý ... :)

Avatar

Autor komentáře: Stefan

Datum vložení: 25.3.2004 13:23:27

Ano když už chceme aby nepodařené include() vyvolalo chybu použijeme require() které je právě k tomu určeno že :O))

Jinak je to celkově podivná věc, když už si na hosting něco takového nainstaluju nemusí to interně používat FTP vždyť k disku se dá přistupovat přímo pomocí PHP :O)) Význam SW kterému uploadnu soubor a on ho potom pomocí FTP zapíše někam na server kde už ten soubor jednou je mi uniká. Leda že bych si to nainstaloval ještě na jiný hosting a potom z domova ty soubory posílal z jednoho serveru na druhý což je ještě lepší :O)))
Takže prosím autora o rozvedení myšlenky k "čemu je to dobré" :O))

Avatar

Autor komentáře: Jakub Podhorský

Datum vložení: 25.3.2004 14:34:59

tady nejde o to jestli je to dobre nebo spatne tady de o to ze neco takoveho PHP nabizi

nekomu holt vyhovujou FTP funkce a nekomu funkce pro praci primo s filesystemem

jinak tusim ze pri prihlaseni pres FTP v PHP neni nutne se starat s pravama pro jednotlive soubory a adresare(ale tohle rikam z patra a nejsem si jistej sam FTP funkce moc nepouzivam pokud to neni nezbytne)

Avatar

Autor komentáře: Jméno a příjmení

Datum vložení: 25.3.2004 21:18:42

Přesně tak, ftp přístup řeší problematiku práv. Prostě PHP má práva běžného návštěvníka HTTP serveru, má přístup jen k těm adresářům, kde má přístup internetový browser.

Zatímco do FTP je možné se nalogovat pod určitým jménem a heslem, a tedy mít zcela jiné práva pro zápis atd.

Avatar

Autor komentáře: dgx

Datum vložení: 25.3.2004 21:27:05

ukládání sessions "nekde v tmp" je příznakem špatně zabezpečeného serveru. Rozhodně doporučuji si ukládání spřesněrovat do vlastního adresáře, který budete mít pod dohledem.
Například pomocí:
ini_set('session.save_path', './adresar');


Avatar

Autor komentáře: Dušan Kaloč

Datum vložení: 25.3.2004 21:50:19

Funkcí <I>unlink()</I> nemažu vlastní session, ale skriptem vytvořený uživatelský soubor, který je pro každého uživatele jedinečný, proto je zde použito, pro odlišení, funkce <I>session_id()</I>.

Avatar

Autor komentáře: Filip BIELIK

Datum vložení: 3.7.2004 13:05:24

Ak jsi super posilej jmi PHP!

Avatar

Autor komentáře: Stefan

Datum vložení: 25.3.2004 13:44:00

Naprosto mi uniká význam ukládání všech proměných do SESSION a jejich mazání na konci každé operace, SESSION se používají pro ukládání hodnot které jsou potřeba udržet i když aktuální request již skončil a ne pro ukládání lokálních proměných.
Zdá se že odborný dohled tento článek ani neviděl :O((

Avatar

Autor komentáře: Vita

Datum vložení: 25.3.2004 19:16:25

Pokud jsem se dobre dival tak se ty sessny mazou jen v pripade kdy se operace zdari, v opacnem zustavaji session promenne i pro dalsi skripty.

Avatar

Autor komentáře: Stefan

Datum vložení: 26.3.2004 10:41:39

Myslím že se pletete vzhledem k tomu že scripty kromě snad jedné neobsahují žádné proměné neuložené do SESSION
Například ukázka v šestém žlutém rámečku je klasická ukázka, hned na počátku se zde nastaví hodnota $SESSION['velikost_log_file'] která je o pár řádků níže opět smazána a slouží pouze ke zjištění zda soubor existuje, autor asi nikdy neviděl funkci "file_exists()". Je to však naprosto dokonalá ukázka nesmyslnosti tohoto kódu, více už to nehodlám studovat už na první pohled se jedná o "moderní" řešení využívá plně MVC OOP a vůbec naplno všechno co PHP nabízí :O(((
Takhle se psalo v PHP2 možná ještě tak PHP3 ale v době kdy na dveře buší PHP5 je divné že se toto dostalo na Interval

Avatar

Autor komentáře: Dušan Kaloč

Datum vložení: 25.3.2004 21:45:26

V době, kdy jsem tento článek psal, jsem neměl dostačující možnosti hostingu, a proto jsem nemohl vložit do článku odkaz na vlastní aplikaci.
Nyní již takovou možnost mám a tudíž si vše můžete prohlédnout na adrese:
<a href='http://fclient.twinsweb.org' target='_blank'>http://fclient.twinsweb.org</a>

Co se týče té prázdné stránky, přiznám se, že nevím.Také se mi to stalo, ale nepřišel jsem na to, čím je to přesně způsobeno.Občas stačila nevyladěná <I>parse</I> chyba, kterou, mi z neznámých důvodů, parser neohlásil a důsledkem toho byla právě prázdná stránka.

Avatar

Autor komentáře: laada

Datum vložení: 26.3.2004 11:16:11

Funguju pod linuxem a kdyz si chci neco stahnout, tak to do logu napise ze Soubor byl úspěšně stažen do Vašeho počítače (c:\06 - me gustas tu.mp3), ale to je nesmysl, navic se to nestahne nikam.

je to chyba nebo je to urceno pouze pro Widle?

Avatar

Autor komentáře: Dušan Kaloč

Datum vložení: 26.3.2004 19:57:34

Jestli těma Widlema správně rozumím Windows, tak ano.Omlouvám se všem <I>neWidlákům</I>, protože na toto jsem vůbec nepomyslel.Stažení souboru je skutečně provedeno na disk C, a pravděpodobně funguje pouze na Win.

Avatar

Autor komentáře: Mikecd

Datum vložení: 23.4.2004 17:37:25

stiahol som si to, a nejde mi to sak si to overte sami <a href='http://www.registracia-mike.webz.cz' target='_blank'>http://www.registracia-mike.webz.cz</a> neviem z akeho dovodu ale ak by ste mi pomohli bol by som velmiiiiiiii vdacnyyyyyyyy stale ta pojeban* biela obrazovka SHIT . Ak autor ftp klienta ma ICQ tak nech sa mi ozve na 206068874 alebo na mail mike.z@centrum.sk. Velmi pekne dakujem

Avatar

Autor komentáře: Jan Brasna

Datum vložení: 27.3.2004 13:12:32

> c:\06 - me gustas tu.mp3

Manu Chao / Esperanza ? :)

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 27.3.2004 20:17:56

Nikoli, Proxima Estacion Esperanza ;-)

Avatar

Autor komentáře: Jan Brasna

Datum vložení: 29.3.2004 0:04:58

:D Kdyz se chcete hadat, tak oficialni nazev je "... Proxima Estacion ... Esperanza" ci "Proxima Estacion : Esperanza"... ;)

Avatar

Autor komentáře: dgx

Datum vložení: 31.3.2004 3:17:07

Me gusta marihuana, me gustas tu

Avatar

Autor komentáře: Jan Brasna

Datum vložení: 31.3.2004 22:03:00

:D a ja myslel, ze to jen tak nikdo nezna...

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 31.3.2004 22:17:46

Kovergence funguje i při vývoji webdesignérů ;-)

Avatar

Autor komentáře: stip

Datum vložení: 28.3.2004 21:55:00

Tu ukázku jsem nepochopil. To jako, že tam mám napsat svoje jméno a heslo? No to snad nikdo neudělá, nebo ano?

Avatar

Autor komentáře: Dušan Kaloč

Datum vložení: 28.3.2004 22:20:04

Když nechcete, tak neklikejte.Ale obáváte se zbytečně, opravdu nikde a nijak neshromažďuji vstupní data uživatelů, kteří mají zájem tohoto klienta vyzkoušet :-)

Avatar

Autor komentáře: dgx

Datum vložení: 25.3.2004 22:26:43

Je rozhodně sympatické, že pan Kaloč svolil se na stránkách Intervalu podělit o své know-how, na druhou stranu musí počítat s tím, že bude podrobeno přísné a nekompromisní kritice.

Rozhodně se mi líbí jeho "paranoa", se kterou kontroluje výsledek každé operace, počítá s každou eventualitou, to ke kvalitnímu programování rozhodně patří. Také bych si s klidem vsadil, že PHP zná od ranějších verzí. Bohužel proto, že používá hodně zastaralých postupů. Následující poznámky proto neberte jako kritiku, ale spíš inspiraci pro další práci.

- Kontrola provedení <B>include</B> je velmi rozumná věc! Ovšem jednodušší je to provést pomocí <B>require</B>.

- Pro vkládaný soubor jste zvolil velmi nešťasný název. Zdrojový kód functions.inc půjde totiž snadno stáhnout, pokud server speciálně nenakonfigurujete, aby .inc považoval za PHP script. Schválně zkuste v google hledat "functions.inc", budete mít o zábavu na dlouhé zimní večery vystaráno ;-)

- REMOTE_ADDR se v proměnné $_ENV vyskytuje jen při určité konfiguraci serveru a php. Proto je vhodnější místo něj použít $_SERVER, tam je vždy

- podle specifikace by v hlavičce Location mě být odesíláno absolutní URI, nikoliv relativní. Vím, je to komplikace, a relavitní téměř vždy funguje, ale je o tom dobré vědět. Mám pocit (nikdy jsem si to neověřoval), že některá verze IE špatně akceptuje Location: ..., pokud za ním nenásleduje Connection: close. Takže raději to tam přidávám.

- Nepochopil jsem, proč šifrované texty převádíte na entity a pak zpět? Mám za to, je že to zcela zbytečné.

- ten kus kodu switch...case..break...case...break..case...break je vážně nešťastný. Není jednodušší prostě mít pole povolených hodnot, a jen ověřit přítomnost hodnoty v tomto poli?

- obdobně i zápis $typ[0] = ... $typ[1] = - proč to nezapsat jako pole array( array("css", "icons..."), array (....) ) ?
Navíc v tomto případě se spíš nabízí možnost testovat příponu (text za poslední tečkou) proti asociativnímu poli.

Naopak bych velmi pochválil, vyzdvihl a doporučil k zamyšlení na tímto:
- kontrola direktivy <B>magic_quotes_gpc</B> - kdykoliv můžete změnit hosting, nebo správce serveru změni konfiguraci php, a pokud s timto nepocitace, mohli byste se velmi divit. Mimochodem, magic quotes jsou tu zejmena kvuli vkladani retezcu do databaze. Ale ani tady nemusí být úplně jasno - protože pro mysql se escapuje jinak, než třeba pro ODBC. Takže důsledně kontrolujte vždy!

- šifrování citlivých dat v sessions - Jelikož sessions se čtou a zapisují "s právy" běžného návštěvníka, jsou každému přístupné. Takže by v nich nemělo správně nic důvěrného být.

- využívání superglobálních proměnných. Základ bezpečné aplikace. Ale stejně bych poradil - co zkusit použít reference, například $variable = &$_SESSION["variable"]; Bezpečnost zůstane zachována, funkčnost taky (kromě unset) a skript se výrazně zpřehlední.

- kontrola vstupních údajů, aby neobsahovali nepovolené znaky. To je velmi důležitá věc, ovšem šel bych ještě dál - každou proměnnou z $_REQUEST (resp. $_POST, $_GET) bych ořezal pomocí trim. Omylem vložená mezera je celkem častý jev, a zbytečně by způsobila problémy.

-dgx-

Avatar

Autor komentáře: Dušan Kaloč

Datum vložení: 26.3.2004 19:53:42

PHP je velmi skvělá věc a jsem jeho fanouškem.Fanouškem ano, ale ne jeho expertem.Proto jsem rád, že něco takového píšete, alespoň se něco poučím.Nezabývám se jím moc dlouho, a proto jsem šťasten, že vůbec tento článek vyšel.<U>Z Vaší odpovědi vyplývá, že jste o nějakou tu pomyslnou třídu výš, co se týče programování.</U>V tomto ohledu Vám nemohu moc konkurovat, protože jednoduše toho moc a moc nevím.
Před vlastním psaním tohoto článku jsem chtěl udělat aplikaci, která by jak běžela na každém nastavení serveru, tak vlastnila jisté zabezpečení.Nevím jestli se mi to zcela podařilo, ale, dle mého názoru a to musíte posoudit vy, to není tak špatné.Jak jsem řekl, nejsem žádný odborník, před článkem jsem např. neuměl vůbec sessions, naučil jsem se je; neovládal dobře superglobální proměnné - z toho vyplývá použití nevhodné $_ENV; vůbec jsem netušil, jak PHP přistupuje k souborovému systému serveru, apod.
Z toho vyplývá, že jsem vděčný za každou kritiku, ať už je jakákoliv.

Avatar

Autor komentáře: Juraj Chlebec - Havran

Datum vložení: 25.3.2004 22:48:31

Povedal by som ze by nebolo zle osvetlit o com su pristupove prava:
<a href='http://www.fem.uniag.sk/havran/blog/clanky/preco_pouzivat_ftp_pristup_cez_php.html' target='_blank'>http://www.fem.uniag.sk/havran/blog/clanky/preco_pouzivat_ftp_pristup_cez_php.html</a> Za pripadne chyby sa ospravedlnujem a po upozorneni opravim....

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 26.3.2004 0:42:21

Když už na svém blogu reagujete na náš článek, mohl byste být alespoň tak laskav a používat správné odkazy? Pokud jste si toho nevšiml, server se jmenuje "Interval.cz" a nachází se na URL "<a href='http://interval.cz"' target='_blank'>http://interval.cz"</a>.

Avatar

Autor komentáře: Havran

Datum vložení: 26.3.2004 7:41:50

OK

Avatar

Autor komentáře: Mikecd

Datum vložení: 23.4.2004 17:39:29

Pise to iste s tou bielou obrazovkou dako to njede sak skuste <a href='http://www.registracia-mike.webz.cz' target='_blank'>http://www.registracia-mike.webz.cz</a> ak by sa dalo ta moje ICQ number is : 206068874 or my E-Mail is : mike.z@centrum.sk . Vďaka

Avatar

Autor komentáře: Lukáš Pavlica

Datum vložení: 22.6.2004 21:50:22

ftp client funguje pekne, az na upravu souboru. Objevi se nove okno, hlaska ze se mam podivat jestli je soubor dobre nahrany. V ukazkovem clientovi vse funguje normalne. Kde by mohla byt chybka?

Avatar

Autor komentáře: Filip BIELIK

Datum vložení: 3.7.2004 13:03:00

je jto jsuper str

Zpět na článek | Úvodní stránka Interval.cz