Autor | Zpráva | ||
---|---|---|---|
Vencos Profil * |
#1 · Zasláno: 31. 1. 2006, 13:34:01
Ahoj ...
Našel jsem tu pěkný zdroják PHP, který by měl každý den otevřít jinou HTML. Chci se zeptat, jestli je to bezpečný kód, jestli to nemůže házet nějakou chybu. Chci to použít na stránkách, kde je relativně vysoká návštěvnost (100-200 za hodinu)... takže hrozí ten problém s tím, že se např. setkají v jeden okamžik 2 uživatelé a vyhodí to chybu? Nebo je to bezpečné. Děkuju moc za Váš názor, případně nějaké vyplepšení $dnes=date("w"); switch ($dnes) { case 0 : require"ahoj.html"; break; case 1 : require"cau.html"; break; case 2 : require"nazdar.html"; break; case 3 : require"ahoj.html"; break; case 4 : require"cau.html"; break; case 5 : require"nazdar.html"; break; case 6 : require"nazdar.html"; break; } |
||
Hugo_jinde Profil * |
#2 · Zasláno: 31. 1. 2006, 13:35:28
Vencos
Pokud budou ty html soubory dostupné, tak to pojede bez problémů. |
||
Kos Profil * |
#3 · Zasláno: 31. 1. 2006, 13:37:15
Nehrozí tedy ten problém s tím, že 2 různý uživatelé kliknou na odkaz, které bude odkazovat na toto PHP současně, že to hodí nějakou chybu (jako že ještě dřív než se zpracuje první požadavek, už je žádost o to samé od někoho jiného)
Díky moc |
||
Hugo_jinde Profil * |
#4 · Zasláno: 31. 1. 2006, 13:38:59
Kos
Pokud to ustojí server, tak se nic nestane. A server to ustojí (pokud to nebudou tisíce požadavků za sekundu). |
||
Vencos Profil * |
#5 · Zasláno: 31. 1. 2006, 13:40:23
Kdyby náhodou někdo s Hugo_jinde nesouhlasil, dejte mi prosím vědět :)
|
||
jozob Profil |
#6 · Zasláno: 31. 1. 2006, 13:41:15
Bezpečné to bude určite, žiadna výnimka ako si uvádzal (pri tom, keď sa stretnú dvaja useri v rovankom čase) by nemala nastať. Jediné, čo by som pozmenil - funkciu require by som nahradil funkciou include a ošetril chybové hlášky. Ak funkcia require nenájde zadaný súbor, skončí sa to Fatal Error-om, takže beh skriptu sa pozastaví a to čo sa stihlo vygenerovať sa odošle, ostatné nie. Pri funkcii include toto nenastáva, táto funkcia vráti len chybové hlásenie.
|
||
jozob Profil |
#7 · Zasláno: 31. 1. 2006, 13:42:43
"jako že ještě dřív než se zpracuje první požadavek, už je žádost o to samé od někoho jiného"
Toto by mal server ustriehnúť, viacnásobné požiadavky by mal zaradiť do rady a postupne vybavovať (ako na úrade :-)) |
||
Hugo Profil |
#8 · Zasláno: 31. 1. 2006, 13:44:29
Vencos
Pokud by apache neustál dva současné požadavky, tak by např. tato diskuze moc nejela :-). |
||
jozob Profil |
#9 · Zasláno: 31. 1. 2006, 13:46:07
Hugo
A čo taký cnn.com :-) |
||
Vencos Profil * |
#10 · Zasláno: 31. 1. 2006, 13:46:41
jozob
TO nahrazení require bych zvládnul :) Ale s tím ošetřením chyby bych asi potřeboval pomoci, jestli bys mi to mohl přičmárnout do toho kodu. Díky P.S.: A jaktože třeba u nějakého fóra mi přišli na chybu, že mi to někdy vrací 0 (v reálu se mi vymaže databáze TXT) ... a prý je to tím, že odesílali vzkaz 2 uživatelé najednou. Je to možný? |
||
Falcon16 Profil |
#11 · Zasláno: 31. 1. 2006, 13:55:11
nj, lenze je rozdiel ked ti Apache vklada nejaku stranku do inej a ine, ked ti cita, zapisuje alebo inak pracuje s obycajnym textakom. V tom co si napisal nebol problem v php kode, ale v tom, ze to ten txt subor nezvladol, ak sa to tak da napisat. Ine by to bolo v pripade databaze, kde si to dokaze ustriehnut a spravi to tiez nejaky akokeby poradovnik
|
||
jozob Profil |
#12 · Zasláno: 31. 1. 2006, 13:56:02
Vencos
"Ale s tím ošetřením chyby bych asi potřeboval pomoci, jestli bys mi to mohl přičmárnout do toho kodu." No nemyslel som ani tak ošetrenie chyby, ale skôr potlačenie chybového hlásenia. Jednoducho: @include "subor.html"; Čiže pred každý include hoď zavináč (nie údenáča :-)). "a prý je to tím, že odesílali vzkaz 2 uživatelé najednou. Je to možný?" No ak to fórum ZAPISUJE do súboru, je to možné. Ale aj to sa da ošetriť. |
||
Vencos Profil * |
#13 · Zasláno: 31. 1. 2006, 14:17:19
jozob
A jaký bude tedy rozdíl v tom, když se budu odkazovat na "soubro.html" 1) budu mít include "subor.html"; 2) budu mít @include "subor.html"; ??? Když přeci ten soubor nebude existovat, tak se musí něco vypsat. Nebo se to prostě neotevře? |
||
hugo_jinde Profil * |
#14 · Zasláno: 31. 1. 2006, 14:58:12
Vencos
Ten zavinac potlaci vypis chyby. Takze soubor se nezobrazi, ale skript pojede dal. |
||
jozob Profil |
#15 · Zasláno: 31. 1. 2006, 15:03:17
hugo_jinde
"Takze soubor se nezobrazi, ale skript pojede dal." Skript bude pokračovať vždy, pokiaľ nenastane Fatal error. Takže pri použiti funkcie include sa nikdy skript nezastaví. Len sa vypíše chybové hlásenie. |
||
Hugo Profil |
#16 · Zasláno: 31. 1. 2006, 15:24:06
jozob
No, přesně to jsem napsal. Jen se ta chyba nevypíše, protože je tam ten zavináč. |
||
jozob Profil |
#17 · Zasláno: 31. 1. 2006, 15:25:28
Hugo
OK. Ja som nejak z toho pochopil to, že v inom prípade skript ďalej nepôjde. |
||
Vencos Profil * |
#18 · Zasláno: 31. 1. 2006, 15:43:06
Aha.. tak to už chápu. Díky
|
||
mila Profil |
#19 · Zasláno: 31. 1. 2006, 18:18:58
Můžeš taky něco jako
if (! @include $page) { echo 'stranka nenalezena...'; } |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0