Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
miro Gost
|
|
[Vrh] |
|
ZELENIZUBNAPLANETIDO SADE Forumaš(ica)


Pridružen/a: 04. 03. 2004. (19:56:15) Postovi: (54F)16
Lokacija: hm?
|
Postano: 1:29 uto, 9. 11. 2004 Naslov: |
|
|
Rjesenje tvog problema je text-book example 99% php tutoriala koje ces naci na webu, pa cu te uputiti na proizvoljni ;)
Ona karika koja nedostaje jest komanda exec(), koja izvrsava neku naredbu u shellu i vraca njenu prvu liniju. Prva linija ti, vjerujem, ne treba, al tu dolazi shell naredba.... Na vecini *nix strojeva, ta naredba se zove mail.
Jedan sirov nacin da se to ucini jest da pipeas tekst poruke u komandu mail, tj na primjeru:
[code:1]exec('echo Hello world|mail -s "hello world primjer" netko@neki.server.npr');[/code:1]
(koji ce Hello world poslati na adresu netko@neki.server.npr)
korisno je, npr, cijeli tekst maila najprije sloziti u neki fajl i onda ga takvog poslat (lakse je za kompliciranije poruke, pogledaj komande fopen(), fwrite() i fclose()).
Prosirenje osnovnog koncepta bi zatim bilo unosenje korisnika u lokalnu bazu podataka (MySQL ili jednostavno u neki fajl) i/ili sifriranje unesenih podataka. Vidi komandu crypt().
crypt() koristi MD5 "enkripciju" kakvu koristi vecina *nix strojeva za cuvanje user passworda. MD5 ima nekoliko interesantnih svojstava za ovu upotrebu, ali nema smisla dalje o tome elaborirati ako te to ne zanima?
Pitaj
Rjesenje tvog problema je text-book example 99% php tutoriala koje ces naci na webu, pa cu te uputiti na proizvoljni
Ona karika koja nedostaje jest komanda exec(), koja izvrsava neku naredbu u shellu i vraca njenu prvu liniju. Prva linija ti, vjerujem, ne treba, al tu dolazi shell naredba.... Na vecini *nix strojeva, ta naredba se zove mail.
Jedan sirov nacin da se to ucini jest da pipeas tekst poruke u komandu mail, tj na primjeru:
(koji ce Hello world poslati na adresu netko@neki.server.npr)
korisno je, npr, cijeli tekst maila najprije sloziti u neki fajl i onda ga takvog poslat (lakse je za kompliciranije poruke, pogledaj komande fopen(), fwrite() i fclose()).
Prosirenje osnovnog koncepta bi zatim bilo unosenje korisnika u lokalnu bazu podataka (MySQL ili jednostavno u neki fajl) i/ili sifriranje unesenih podataka. Vidi komandu crypt().
crypt() koristi MD5 "enkripciju" kakvu koristi vecina *nix strojeva za cuvanje user passworda. MD5 ima nekoliko interesantnih svojstava za ovu upotrebu, ali nema smisla dalje o tome elaborirati ako te to ne zanima?
Pitaj
_________________
Pupoljak nije negiran. Rekao sam to i ponovit cu to jos jedanput. Pupoljak NIJE negirAn.
MADD
(Mothers Against Dirty Dialectics)
Based on a true story. NOT.
Ko ih sljivi, mi sviramo punk 
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 1:41 uto, 9. 11. 2004 Naslov: |
|
|
Takvih skripti imas po mrezi... 8)
Naredba je samo jedna:
[code:1]<?php
mail("tvoja@email.adresa", "Rezultat formulara", "Ime: $_GET[ime]\nPrezime: $_GET[prezime]\nE-mail adresa: $_GET[email]");
?>[/code:1]
ime, prezime i email su polja u formularu iz kojeg pozivas skriptu. 8)
P.S. Zube, ovaj nacin koji si naveo je i u 99% svih prirucnika o securityju kao nekadasnji najcesci sigurnosni propust u web aplikacijama. :roll: Covjek zeli da mu se salje e-mail adresa, pa treba znati sloziti poruku. :? Besides, popen() je prakticniji, no cemu sve to kad ima mail()? 8)
P.P.S. Ne treba ti crypt(). PHP ima funkciju MD5(). :D
Takvih skripti imas po mrezi...
Naredba je samo jedna:
Kod: | <?php
mail("tvoja@email.adresa", "Rezultat formulara", "Ime: $_GET[ime]\nPrezime: $_GET[prezime]\nE-mail adresa: $_GET[email]");
?> |
ime, prezime i email su polja u formularu iz kojeg pozivas skriptu.
P.S. Zube, ovaj nacin koji si naveo je i u 99% svih prirucnika o securityju kao nekadasnji najcesci sigurnosni propust u web aplikacijama. Covjek zeli da mu se salje e-mail adresa, pa treba znati sloziti poruku. Besides, popen() je prakticniji, no cemu sve to kad ima mail()?
P.P.S. Ne treba ti crypt(). PHP ima funkciju MD5().
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
ZELENIZUBNAPLANETIDO SADE Forumaš(ica)


Pridružen/a: 04. 03. 2004. (19:56:15) Postovi: (54F)16
Lokacija: hm?
|
Postano: 9:02 uto, 9. 11. 2004 Naslov: |
|
|
[quote="vsego"]P.S. Zube, ovaj nacin koji si naveo je i u 99% svih prirucnika o securityju kao nekadasnji najcesci sigurnosni propust u web aplikacijama. :roll: Covjek zeli da mu se salje e-mail adresa, pa treba znati sloziti poruku. :? Besides, popen() je prakticniji, no cemu sve to kad ima mail()? 8)[/quote]
Kul :) Thnx :)
[quote="vsego"]P.P.S. Ne treba ti crypt(). PHP ima funkciju MD5(). :D[/quote]
Ne cine li isto ? :-s
vsego (napisa): | P.S. Zube, ovaj nacin koji si naveo je i u 99% svih prirucnika o securityju kao nekadasnji najcesci sigurnosni propust u web aplikacijama. Covjek zeli da mu se salje e-mail adresa, pa treba znati sloziti poruku. Besides, popen() je prakticniji, no cemu sve to kad ima mail()?  |
Kul Thnx
vsego (napisa): | P.P.S. Ne treba ti crypt(). PHP ima funkciju MD5().  |
Ne cine li isto ?
_________________
Pupoljak nije negiran. Rekao sam to i ponovit cu to jos jedanput. Pupoljak NIJE negirAn.
MADD
(Mothers Against Dirty Dialectics)
Based on a true story. NOT.
Ko ih sljivi, mi sviramo punk 
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 11:41 uto, 9. 11. 2004 Naslov: |
|
|
[quote="ZELENIZUBNAPLANETIDOSADE"][quote="vsego"]P.P.S. Ne treba ti crypt(). PHP ima funkciju MD5(). :D[/quote]
Ne cine li isto ? :-s[/quote]
Ne bash...
[quote="PHP Manual, md5()"]Calculates the MD5 hash of str using the RSA Data Security, Inc. MD5 Message-Digest Algorithm, and returns that hash.[/quote]
[quote="PHP Manual, crypt()"]Some operating systems support more than one type of encryption. In fact, [b]sometimes[/b] the standard DES-based encryption is replaced by an MD5-based encryption algorithm. The encryption type is triggered by the salt argument. At install time, PHP determines the capabilities of the crypt function and will accept salts for other encryption types. If no salt is provided, PHP will auto-generate a standard two character salt by default, [b]unless the default encryption type on the system is MD5, in which case a random MD5-compatible salt is generated[/b].[/quote]
Dakle, crypt() ovisi o OSu, a MD5() uvijek vraca MD5. 8)
ZELENIZUBNAPLANETIDOSADE (napisa): | vsego (napisa): | P.P.S. Ne treba ti crypt(). PHP ima funkciju MD5().  |
Ne cine li isto ?  |
Ne bash...
PHP Manual, md5() (napisa): | Calculates the MD5 hash of str using the RSA Data Security, Inc. MD5 Message-Digest Algorithm, and returns that hash. |
PHP Manual, crypt() (napisa): | Some operating systems support more than one type of encryption. In fact, sometimes the standard DES-based encryption is replaced by an MD5-based encryption algorithm. The encryption type is triggered by the salt argument. At install time, PHP determines the capabilities of the crypt function and will accept salts for other encryption types. If no salt is provided, PHP will auto-generate a standard two character salt by default, unless the default encryption type on the system is MD5, in which case a random MD5-compatible salt is generated. |
Dakle, crypt() ovisi o OSu, a MD5() uvijek vraca MD5.
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
ZELENIZUBNAPLANETIDO SADE Forumaš(ica)


Pridružen/a: 04. 03. 2004. (19:56:15) Postovi: (54F)16
Lokacija: hm?
|
Postano: 13:22 uto, 9. 11. 2004 Naslov: |
|
|
A-ha :) thnx :) pomoglo mi u necem sto bas radim :)
A-ha thnx pomoglo mi u necem sto bas radim
_________________
Pupoljak nije negiran. Rekao sam to i ponovit cu to jos jedanput. Pupoljak NIJE negirAn.
MADD
(Mothers Against Dirty Dialectics)
Based on a true story. NOT.
Ko ih sljivi, mi sviramo punk 
|
|
[Vrh] |
|
grossi Forumaš(ica)


Pridružen/a: 22. 04. 2004. (16:33:41) Postovi: (5D)16
Spol: 
Lokacija: Delta Neretva
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
|
[Vrh] |
|
grossi Forumaš(ica)


Pridružen/a: 22. 04. 2004. (16:33:41) Postovi: (5D)16
Spol: 
Lokacija: Delta Neretva
|
|
[Vrh] |
|
ZELENIZUBNAPLANETIDO SADE Forumaš(ica)


Pridružen/a: 04. 03. 2004. (19:56:15) Postovi: (54F)16
Lokacija: hm?
|
Postano: 13:05 pet, 12. 11. 2004 Naslov: |
|
|
Komentar :-s
Nije li mali security hazard sto se mail ne izvrsava kao user kod koga je skripta nego kao user httpd ? :-s
Komentar
Nije li mali security hazard sto se mail ne izvrsava kao user kod koga je skripta nego kao user httpd ?
_________________
Pupoljak nije negiran. Rekao sam to i ponovit cu to jos jedanput. Pupoljak NIJE negirAn.
MADD
(Mothers Against Dirty Dialectics)
Based on a true story. NOT.
Ko ih sljivi, mi sviramo punk 
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 14:55 pet, 12. 11. 2004 Naslov: |
|
|
[quote="ZELENIZUBNAPLANETIDOSADE"]Nije li mali security hazard sto se mail ne izvrsava kao user kod koga je skripta nego kao user httpd ? :-s[/quote]
Nije. 8)
1. Naredba mail() je sigurna. 8)
2. User httpd na dobro podesenoj masini ima mizerne ovlasti (pisi/brisi po web diru i nista vise!) 8)
Problem moze biti ako se dozvoli da se mailovi salju kome god (ovo sto je grossi napravio), no i tako ce pisati u mailu da je doslo od apache@webserver.bla.bla. 8) Ipak, preporuka [b]je[/b] pisati skripte koje imaju ugradjenu mail adresu na koju se salje poruka... 8)
Grossi, jos dvije opaske:
1. Mail ti se loshe parsa. :-s
Recimo vsego@vsego@mashina.com ce proci kao dobra adresa. :-s Treba dodati ^ i $ u reg.exp (a zdravo je i staviti jednostruke navodnike):
[code:1]preg_match('/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/', $email)[/code:1]
Cak i takav regexp ima problema, recimo nece prihvatiti vsego.@server.com sto bi (bar mi se cini) trebalo proci. 8) No, nisam siguran... :oops:
2. Problematican ti je kod [code:1]if ($subject == "")[/code:1]
Ako je $subject == 0, onda ce ovo vratiti istinu. :shock: U tvom slucaju, PHP vjerojatno nece konvertirati string "0" u broj 0, no bolje je ne riskirati. Preporuka je pisati:[code:1]if (empty($subject))[/code:1]
Ako te zanima detaljnije, baci oko na ovaj primjer:
[code:1]<?php
$x = "";
$y = 0;
if ($x == $y) echo "Isto\n"; else echo "Razlicito\n";
if ($x === $y) echo "Isto\n"; else echo "Razlicito\n";
?>[/code:1]
ZELENIZUBNAPLANETIDOSADE (napisa): | Nije li mali security hazard sto se mail ne izvrsava kao user kod koga je skripta nego kao user httpd ?  |
Nije.
1. Naredba mail() je sigurna.
2. User httpd na dobro podesenoj masini ima mizerne ovlasti (pisi/brisi po web diru i nista vise!)
Problem moze biti ako se dozvoli da se mailovi salju kome god (ovo sto je grossi napravio), no i tako ce pisati u mailu da je doslo od apache@webserver.bla.bla. Ipak, preporuka je pisati skripte koje imaju ugradjenu mail adresu na koju se salje poruka...
Grossi, jos dvije opaske:
1. Mail ti se loshe parsa.
Recimo vsego@vsego@mashina.com ce proci kao dobra adresa. Treba dodati ^ i $ u reg.exp (a zdravo je i staviti jednostruke navodnike):
Kod: | preg_match('/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/', $email) |
Cak i takav regexp ima problema, recimo nece prihvatiti vsego.@server.com sto bi (bar mi se cini) trebalo proci. No, nisam siguran...
2. Problematican ti je kod
Ako je $subject == 0, onda ce ovo vratiti istinu. U tvom slucaju, PHP vjerojatno nece konvertirati string "0" u broj 0, no bolje je ne riskirati. Preporuka je pisati: Kod: | if (empty($subject)) |
Ako te zanima detaljnije, baci oko na ovaj primjer:
Kod: | <?php
$x = "";
$y = 0;
if ($x == $y) echo "Isto\n"; else echo "Razlicito\n";
if ($x === $y) echo "Isto\n"; else echo "Razlicito\n";
?> |
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
grossi Forumaš(ica)


Pridružen/a: 22. 04. 2004. (16:33:41) Postovi: (5D)16
Spol: 
Lokacija: Delta Neretva
|
|
[Vrh] |
|
|