SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 27.09.2010, 22:56:35
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
Virenscan mit php und cl scanner

Hallo und schönen abend miteinander.

Nach langer und lehrreicher zeit wende ich mich nun mit einem echten problem an euch eventuell könnt ihr mir weiterhelfen.

Ich habe mich nun nach langer zeit dazu entschieden einen virenscanner auf dem server zu plazieren und ihn über system() auszuführen.

mein code sieht nun vor ein festgelegtes verzeichnis beim aufruf der uploadseite zu scannen um sicher zu stellen (sofern die software diese erkennt) das sich keine viren darin befinden wenn doch sollen die entsprechenden files gelöscht werden.

folgender code sollte dies ja bewerkstelligen können:
PHP-Code:
<?php
$runcl 
system(scancl.exe -ordnerangabe* ---defaultaction=delete$retval);
?>
* sry die backslashes werden nicht angezeigt aber da befindet sich die absolute pfadangabe auch die exe wird mit absoluter pfadangabe angesteuert
Aus $retval entnehme ich den boolean 1 also true die funktion wird ausgeführt.

Nun stehe ich aber vor der frage, ob die dateien nun auch wirklich gescant wurden oder nicht. Habt ihr eine idee wie ich mir das ergebnis des scans anzeigen/speichern kann ?

Als scanner benutze ich (testweise und nur lokal) AVIRA scancl (http://www.avira.com/de/download/dow...l.php?id_tls=8)
Vllt habt ihr eine bessere idee welcher scanner besser geeignet wäre.

Vielen dank schonmal im vorraus.

LG.
R4Zz0R
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
  #2  
Alt 23.10.2010, 17:45:36
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: Virenscan mit php und cl scanner

Schade das mir keiner so weit helfen konnte ...

Jemand einen vorschlag ob es einen Virenscanner gibt mit dem ich meinen "plan" auch durchführen kann ?

LG
R4Zz0R
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
  #3  
Alt 23.11.2010, 23:14:41
rei rei ist offline
Anfänger
 
Registriert seit: Sep 2010
Ort: Sünching bei Straubing - Regenburg
Alter: 51
Beiträge: 17
AW: Virenscan lieber ohne php mit g-data für linux

Hallo,
hab Deinen Beitrag erst jetzt gelesen.
G-Data hat eine gute Erkennungsrate und läuft auch unter Linux, der human-Support ist aber etwa naja. Die Sache funktioniert aber auf Zeilenebene; die grafische Oberfläche war bei meiner Version buggi.

avira liegt so im Mittelfeld der Erkennungsrate.
clamav (leider) recht weit unten.

Zum Thema Sicherheit würde ich dir aber empfehlen:
-1. php-funktion system() und Co. DEAKTIVIEREN.
-2. virenscan (egal welcher) via bash-cron-job laufen lassen.
-3. den virenscan-output (stdout) in eine Datei laufen lassen,
auf die dann auch php Zugriff (lesen) hat.

Willst Du den virenscan unbedingt via php starten, dann lieber eine FlagDatei ablegen
und diese z.B. alle Minute via cronjob abfragen (wenn vorhanden: FlagDatei löschen und job starten).
Da so ein Virenscan ja auch Zeit braucht, kannst Du nach dem Durchlauf wieder ein FlagFile setzen oder eine url im bashscript aufrufen.
(FlagFiles sind eine altgebackene Methode - ich weiß - bitte keine dummen Kommentare, sondern konstruktive Vorschläge)
__________________
Meine Tochter: kleine Frau ganz gross

Reinhard Neidl Webprogrammierung
Mit Zitat antworten
  #4  
Alt 24.11.2010, 16:34:29
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: Virenscan mit php und cl scanner

Geht mehr darum das ein file das hochgeladen wird direkt nach dem upload geprüft wird weniger um die gesamtsicherheit (die läuft alle 2 tage als cronjob)
Dabei ist die erkennungsrate im mittelfeld zwar nicht gerade gut aber ausreichend finde ich (zumindest beim upload) es geht auch weniger um die technik wie ich den scanner anspreche eher wie ich das ergebnis des scan´s anzeigen/auslesen kann und zb. log dateien erstellen kann und wie es scheint ist avira´s comandline scanner nicht umbedingt dafür geeignet
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
  #5  
Alt 24.11.2010, 16:51:11
rei rei ist offline
Anfänger
 
Registriert seit: Sep 2010
Ort: Sünching bei Straubing - Regenburg
Alter: 51
Beiträge: 17
AW: Virenscan mit php und cl scanner

Zitat:
Zitat von R4Zz0R Beitrag anzeigen
wie ich das ergebnis des scan´s anzeigen/auslesen kann und zb. log dateien
-bei g-data kann man sich das ganze auch als xml ausgeben lassen.
-Die AusgabeFormate (bei den VirenScanner die ich testet) waren auch nicht unbedingt so geeignet für eine automatische "ResultAnalyse" (muß halt angepasst und getestet werden).
-'ergebnis auslesen bzw log dateien' läuft ja über die pipes (egal ob linux oder win)
--z.B.: scan .... > filename.log oder scan ... >> history.log
-bzw. der Virenscanner stellt eine Parameter zur Verfügung z.B.: scan ./ -x -o./filename.xml
--wobei Du den Dateinamen ja pro scan anpassen kannst.
__________________
Meine Tochter: kleine Frau ganz gross

Reinhard Neidl Webprogrammierung
Mit Zitat antworten
  #6  
Alt 24.11.2010, 16:55:14
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: Virenscan mit php und cl scanner

dann werd ich mich wohl nochmal ein bissl besser mit dem scanner auseinandersetzen müssen und sehen ob ich diese optionen finde/realiesieren kann beimm aufruf oder durch eine configurationsdatei ;D danke schonmal für deine hilfe werde die ergebnisse hier posten :D
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
  #7  
Alt 06.12.2010, 21:41:55
TBT TBT ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 48
Beiträge: 11
AW: Virenscan mit php und cl scanner

Also ich habe mir da mal eine kleine Klasse geschrieben - aktuell nur für ClamAV, aber die Aufrufe für andere Scanner kann mann nachrüsten
PHP-Code:
<?php

/**
 *
 * @version $Id: avscan.class.php,v 1.3 2009-04-23 16:49:46 sven Exp $
 * @author       Sven
 * @todo
 **/

class Avscan {

    
// komplette Antwort des Virenscanners
    
static private $info    '';
    
// Datei zum scannen
    
static private $file    '';

    
// Klasse bereits initialisiert
    
static private $init    false;
    
// Scanner zum nutzen
    
static private $scanner    '';

    
/**
     * eine Datei auf Viren prüfen
     *
     * @param    string Pfad/Dateiname
     * @return   boolean - true für sauber
     * @todo
     **/
    
static public function check$file ) {
        
// wenn es Datei nicht gibt, gleich zurück
        
if( ! file_exists$file ) ) { return true; }
        
// nach Scannern suchen
        
if( ! self::$init ) { self::init(); }
        
// Datei merken
        
self::$file $file;
        
// Scanner aufrufen
        
switch( self::$scanner ) {
            case 
'clamav' : {
                return 
self::scanClamav$file );
            }
            default : {
                throw new 
Exception'no AV Scanner found!' );
            }
        }
    }


    
/**
     * Datei mit ClamAV scannen
     *
     * @param    string $file
     * @return   boolean
     * @todo
     **/
    
static private function scanClamav$file ) {
        
//
        
exec'/usr/bin/clamscan '.escapeshellcmd$file ), $rows );
        
//
        
if( $rows[7] != 'Infected files: 0' ) {

            
self::$info str_replace$file.': '''$rows[0] );
            return 
false;
        }
        
//
        
return true;
    }


    
/**
     * nach Scannern suchen, und einen gültigen setzen
     *
     * @param    void
     * @return   void
     * @todo
     **/
    
static private function init() {
        
//
        
self::$init true;
        
//
        
if( file_exists'/usr/bin/clamscan' ) ) {
            
self::$scanner 'clamav';
        }
    }

    
/**
     * Virusnamen ermitteln
     *
     * @param    void
     * @return   string
     * @todo
     **/
    
static public function info() {
        
//
        
return self::$info;
    }

    
/**
     * infizierte Datei löschen
     *
     * @param    void
     * @return   void
     * @todo
     **/
    
static public function delete() {
        
//
        
unlinkself::$file );
    }
}

// $file = '/home/sven/eicar.com';
// if( ! Avscan::check( $file ) ) {
//     echo "Virus found: ".Avscan::info();
//     Avscan::delete();
// }

?>
__________________
PHP Programmierung
Mit Zitat antworten
  #8  
Alt 27.12.2010, 02:30:23
knight1 knight1 ist offline
Junior Member
 
Registriert seit: May 2003
Ort: Trier
Alter: 47
Beiträge: 310
knight1 eine Nachricht über MSN schicken knight1 eine Nachricht über Skype™ schicken
AW: Virenscan mit php und cl scanner

Zitat:
Zitat von TBT Beitrag anzeigen
... aber die Aufrufe für andere Scanner kann mann nachrüsten ...
Und Frau sicherlich auch. ;)


Kai aka Knight1
__________________
Please visit: http://www.kaikordel.de
Mit Zitat antworten
  #9  
Alt 09.01.2011, 13:18:19
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: Virenscan mit php und cl scanner

Also meine ergebnis zu dem ganzen...

Sollte ich mir keinen root (oder V) server zulegen ist es für mich nur auf meinem privaten server hilfreich.

@TBT:
Danke für die hilfreiche klasse bie mir zuhause auf dem server funktioniert sie wunderbar (bin auch auf clamAV umgestiegen ;) )

Projekt ist nun in soweit umgesetzt das ich das ganze daheim nutze um meinen eigenen server zu schützen bei hostern muss ich mir wohl was anderes überlegen ...

LG
R4Zz0R
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP Mail, kommt nicht an darki777 PHP Grundlagen 2 30.08.2006 00:07:27
Probleme mit PHP und mySQL, Select xy as yz funktioniert nicht KickMuck MySQLi/PDO/(MySQL) 1 04.03.2006 13:24:31
PHP Aktualisieren? Ben20 Off Topic Area 17 24.07.2003 17:46:26
werte aus anderer php datei includieren Silencer PHP für Fortgeschrittene und Experten 1 06.05.2003 07:59:56
Einführung in PHP und Datenbanken Lómion PHP für Fortgeschrittene und Experten 7 07.02.2002 14:47:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:42:13 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt