Moze neko da mi napise ili uputi kako da u php scriptu dam naredbu za skeniranje fajla koji se uploaduje na server.ako nema virusa fajl prolazi i smesta se na server,ako ne ispisuje se poruka i prekida upload. Ovo sve radim za diplomski na localu sa Apache-om i MySql-om
PHP script za skeniranje virusa
Zaključano
Zakačeno
izmenjeno 1 put, poslednji put boccio 22.06.2005. u 15:24
Izmene poruke
- boccio22.06.2005. u 15:24zapis iz teksta poruke
jedino sto mi pada na pamet, jeste da fajl preuzmes na server, zatim da preko komande linije pozoves neki antivirus program u smislu:
exec('/anti/virus/program.exe -F /neki/tvoj/fajl.ovde');
zatim da hvatas sta AV kaze i da na osnovu toga ili brises ili ostavis fajl na serveru...
Poz,
Sale
exec('/anti/virus/program.exe -F /neki/tvoj/fajl.ovde');
zatim da hvatas sta AV kaze i da na osnovu toga ili brises ili ostavis fajl na serveru...
Poz,
Sale
Potpis
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
e to sa "hvatanjem",kako da resim,kako da naredim php-u da skonta da li je AV prijavio da li taj fajl sadryi virus ili ne.
Al ono sto bi najbolje bilo,da li postoji takav skript koji jos pre smestanja fajla na server, poyiva AV kroy koji prolazi fajl i pusta kopiranje na server ili ga ukida kompletno.
Al ono sto bi najbolje bilo,da li postoji takav skript koji jos pre smestanja fajla na server, poyiva AV kroy koji prolazi fajl i pusta kopiranje na server ili ga ukida kompletno.
izmenjeno 1 put, poslednji put SmilieBG 21.06.2005. u 21:12
Izmene poruke
- SmilieBG21.06.2005. u 21:12zapis iz teksta poruke
http://nl2.php.net/function.exec
koliko sam ja razumeo, makar iz primera sa sajta:
<?php
// outputs the username that owns the running php/httpd process
// (on a system with the "whoami" executable in the path)
echo exec('whoami');
?>
output se ispisuje direktno na ekran. E, sada ako ti hoces prvo da proveris output, onda bi trebalo:
<?php
// outputs the username that owns the running php/httpd process
// (on a system with the "whoami" executable in the path)
exec('whoami',$output);
echo "ovo je output".$output[0];
?>
e, sada, posto ce ti exec() uvek vracati array sa jednom vrednosti, moras iz tog array da iscitas odgovor. Nisam puno radio sa array, pogledaj: http://nl2.php.net/array. Neka od tih funkcjia verovatno moze da procita odredjenu rec / deo recenice kojom ces definisati dal' ima ili nema virus...
dakle nesto u smislu (na tebi je da pronadjes odgovarajucu funkciju za array ili work-around):
exec('/anti/virus/program.exe -F /neki/tvoj/fajl.ovde', $output);
if(neka_array_search_funkcija("Virus not found", $output))
{
exec('cp /neki/fajl.ovde /neki/prebaci/tu/fajl.ovde');
echo "fajl je stavljen na server";
}
else
{
exec('rm -f /neki/fajl.ovde');
echo "pronadjen virus i fajl uklonjen";
exit;
}
Poz,
Sale
koliko sam ja razumeo, makar iz primera sa sajta:
<?php
// outputs the username that owns the running php/httpd process
// (on a system with the "whoami" executable in the path)
echo exec('whoami');
?>
output se ispisuje direktno na ekran. E, sada ako ti hoces prvo da proveris output, onda bi trebalo:
<?php
// outputs the username that owns the running php/httpd process
// (on a system with the "whoami" executable in the path)
exec('whoami',$output);
echo "ovo je output".$output[0];
?>
e, sada, posto ce ti exec() uvek vracati array sa jednom vrednosti, moras iz tog array da iscitas odgovor. Nisam puno radio sa array, pogledaj: http://nl2.php.net/array. Neka od tih funkcjia verovatno moze da procita odredjenu rec / deo recenice kojom ces definisati dal' ima ili nema virus...
dakle nesto u smislu (na tebi je da pronadjes odgovarajucu funkciju za array ili work-around):
exec('/anti/virus/program.exe -F /neki/tvoj/fajl.ovde', $output);
if(neka_array_search_funkcija("Virus not found", $output))
{
exec('cp /neki/fajl.ovde /neki/prebaci/tu/fajl.ovde');
echo "fajl je stavljen na server";
}
else
{
exec('rm -f /neki/fajl.ovde');
echo "pronadjen virus i fajl uklonjen";
exit;
}
Poz,
Sale
Potpis
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
au.komplikovano. nasao samo ovako nesto,radi samo za Norton antivirus
http://www.planetsourcecode.co...asp?txtCodeId=834&lngWId=8
nadam se da pali
http://www.planetsourcecode.co...asp?txtCodeId=834&lngWId=8
nadam se da pali
kako bre komplikovano :(
sve jasno ko dan... :)
Poz,
Sale
sve jasno ko dan... :)
Poz,
Sale
Potpis
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
Citat:
qnyee: e to sa "hvatanjem",kako da resim,kako da naredim php-u da skonta da li je AV prijavio da li taj fajl sadryi virus ili ne.
Al ono sto bi najbolje bilo,da li postoji takav skript koji jos pre smestanja fajla na server, poyiva AV kroy koji prolazi fajl i pusta kopiranje na server ili ga ukida kompletno.
Al ono sto bi najbolje bilo,da li postoji takav skript koji jos pre smestanja fajla na server, poyiva AV kroy koji prolazi fajl i pusta kopiranje na server ili ga ukida kompletno.
Malo sam testirao, naravno da zavisi od antivirusa. Recimo da koristim CLAMav free antivirus:
Citat:
# php -q
<? exec ('clamscan --no-summary /root/clamav-install/clamav-0.85.1/README', $output); print_r ($output); ?>
Array
(
[0] => /root/clamav-install/clamav-0.85.1/README: OK
)
Obrati paznju na poslednjem, pise OK, dok kod test fajla za viruse:
Citat:
# php -q
<? exec ('clamscan --no-summary /root/clamav-install/clamav-0.85.1/test/clam.exe', $output); print_r ($output); ?>
Array
(
[0] => /root/clamav-install/clamav-0.85.1/test/clam.exe: ClamAV-Test-File FOUND
)
lepo pise FOUND.
Znaci, ako ti se u $output[0] sadrzi FOUND, zarazen je i onda ga obrises (ne izvrsis prebacivanje iz tmp foldera gde ga uploaduje).
Za ostalo se snadji sam, necu ti pisati ceo kod :)
Potpis
Kad sve ostalo zakaže, pročitaj uputstvo...