Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande

[es] :: PHP :: Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande

[ Pregleda: 5848 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

luner
Donald Secret
ISP admin

Član broj: 80
Poruke: 171
195.252.118.*

Sajt: www.lun.co.yu


Profil

icon Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande24.08.2002. u 19:50 - pre 262 meseci
1. Koje su tehnike "u modi" za sprecavanje duplog izvrsavanja skripta?
Recimo, imam tri skripta:
skript-forma.php // Skript koji sadrzi formu i baca promenljive skriptu skript-db.php
skript-db.php // Jednostavan skript koji se povezuje sa bazom i u datu tabelu unosi podatke
skript-pregled.php // Skript koji sluzi za pregled unosa tj, kako to izgleda u realnom zivotu.

E sada, ja bih zeleo da sprecim da kada korisnik prodje prvi i drugi skript pa na trecem udari back
da se sadrzaj ne unese ponovo u bazu (ili ako lupi na njemu refresh). Resenja?

2. Bas to - hocu da izvrsim neku komandu na Unix sistemu preko PHP-a a on da mi vrati izlaz te
komande.

3. ili bonus pitanje:
Da li postoji neki ekvivalent funkciji nl2br u nl2br_/? Mislim, da radi po xhtml standardu. Postoji
neko elegantno resenje ili mora da se ponovo prolazi (mislim PHP da prolazi :)) kroz string i
prepravlja?


*************************************
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande24.08.2002. u 20:09 - pre 262 meseci
2. Funkcije: system() - izvrsava program, vraca output. exec() - izvrsava program, vraca samo poslednju liniju. passthru() - isto kao system() ali se koristi kada izvrsena komanda vraca neke binarne podatke koje treba dalje upotrebiti. Imas jos i klasican 'backtick' operator, sto bi se reklo $rezultat = `komanda koju hoces da izvrsis`; Isto kao u perlu, ako si upoznat. Ukoliko neki od parametara komandi dobijas od korisnika, obavezno koristi escapeshellcmd() na unetom tekstu da bi izbegao potencijalnu security rupu.

3. Od php-a 4.0.5, nl2br() je XHTML-safe, dakle vraca <br /> na mestu svakog \n.
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande24.08.2002. u 23:21 - pre 262 meseci
oko duplog unosa može da se sredi sa JS-om (znači onsubmit event koji će da onemogući ponovni submit, može i sa cookijem da se zabeleži nešto tipa aktivni korak i da cookie traje 1min ili više pa da to proveravaš). U principu mora se info čuvati kod klijenta...
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.rcub.bg.ac.yu

Sajt: localhost


+5 Profil

icon Re: Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande25.08.2002. u 18:25 - pre 262 meseci
1. koliko ja znam, najcesci se koristi (u "modi" je) header() komanda da posalje expiration hedere da kaze browseru da ne kesira stranicu... ovakav kod bi trebalo da dodash na svaku tvoju pomenutu stranicu na pocetku:

Code:

// ovo je iz php manual-a za header() funkciju...

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
                                                    // always modified
header("Cache-Control: no-store, no-cache, must-revalidate");  // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");                          // HTTP/1.0 


a josh jedan dobar trik je i da uradish redirect sa odgovarajucim hederom:
Code:

// takodje sa iste stranice php manual-a

header("Location: http://www.example.com/"); /* Redirect browser */
exit;                 /* Make sure that code below does 
                        not get executed when we redirect. */ 


ali ovo dodaj samo u scripta-db.php i posle redirektuj korisnika na neku stranicu na kojoj ga obavestavash da "je sve proslo kako treba, da su podaci uneseni...", ili direktno na skripta-pregled.php stranicu, kako ti vec odgovara...



3. a u starim verzijama php-a:
Code:

$text=preg_replace("/\r\n|\r|\n/", "<br />", $text);


 
Odgovor na temu

luner
Donald Secret
ISP admin

Član broj: 80
Poruke: 171
*.jagodina.beotel.yu

Sajt: www.lun.co.yu


Profil

icon Re: Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande26.08.2002. u 15:21 - pre 262 meseci
Hvala momci, vrsi posao!
*************************************
 
Odgovor na temu

[es] :: PHP :: Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande

[ Pregleda: 5848 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.