Skip to content

Commit cc62a90

Browse files
committed
Progress towards v3 (~3.1).
1 parent efd63d9 commit cc62a90

17 files changed

+1005
-477
lines changed

readme.ar.md

Lines changed: 64 additions & 24 deletions
Large diffs are not rendered by default.

readme.de.md

Lines changed: 63 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
- 1. [VORWORT](#SECTION1)
55
- 2. [INSTALLATION](#SECTION2)
66
- 3. [BENUTZUNG](#SECTION3)
7+
- 4. [ERWEITERUNG VON PHPMUSSEL](#SECTION4)
78
- 7. [EINSTELLUNGEN](#SECTION7)
89
- 8. [SIGNATURENFORMAT](#SECTION8)
910
- 9. [BEKANNTE KOMPATIBILITÄTSPROBLEME](#SECTION9)
@@ -126,6 +127,46 @@ In einigen Umgebungen wie Apache ist es sogar möglich, einen Punkt vor Ihrer Ko
126127

127128
Für weitere Informationen zu finden verweisen Sie den Konfigurationsabschnitt dieses Dokuments.
128129

130+
#### 3.1 PHPMUSSEL CORE
131+
132+
Unabhängig davon, wie Sie phpMussel verwenden möchten, enthält fast jede Implementierung mindestens Folgendes:
133+
134+
```PHP
135+
<?php
136+
$Loader = new \phpMussel\Core\Loader();
137+
$Scanner = new \phpMussel\Core\Scanner($Loader);
138+
```
139+
140+
Wie die Namen dieser Klassen andeuten, der Loader ist für die Vorbereitung der Grundbedürfnisse der Verwendung von phpMussel verantwortlich, und der Scanner ist für alle zentralen Scanfunktionen verantwortlich.
141+
142+
Der Konstruktor für den Loader akzeptiert fünf Parameter, alle optional.
143+
144+
```PHP
145+
public function __construct(
146+
string $ConfigurationPath = '',
147+
string $CachePath = '',
148+
string $QuarantinePath = '',
149+
string $SignaturesPath = '',
150+
string $VendorPath = ''
151+
)
152+
```
153+
154+
Der erste Parameter ist der vollständige Pfad zu Ihrer Konfigurationsdatei. Wenn dies weggelassen wird, versucht phpMussel im übergeordneten Verzeichnis des vendor nach einer Konfigurationsdatei mit dem Namen `phpmussel.ini` oder `phpmussel.yml`.
155+
156+
Der zweite Parameter ist der Pfad zu einem Verzeichnis, das phpMussel zum Zwischenspeichern und zum temporären Speichern von Dateien verwenden darf. Wenn dies weggelassen wird, versucht phpMussel im übergeordneten Verzeichnis des vendor ein neues Verzeichnis mit dem Namen `phpmussel-cache` zu erstellen. Wenn Sie diesen Pfad selbst angeben möchten, wählen Sie am besten ein leeres Verzeichnis, um den unerwünschten Verlust anderer Daten im angegebenen Verzeichnis zu vermeiden.
157+
158+
Der dritte Parameter ist der Pfad zu einem Verzeichnis, das phpMussel für seine Quarantäne verwenden darf. Wenn dies weggelassen wird, versucht phpMussel im übergeordneten Verzeichnis des vendor ein neues Verzeichnis mit dem Namen `phpmussel-quarantine` zu erstellen. Wenn Sie diesen Pfad selbst angeben möchten, wählen Sie am besten ein leeres Verzeichnis, um den unerwünschten Verlust anderer Daten im angegebenen Verzeichnis zu vermeiden. Es wird dringend empfohlen, den öffentlichen Zugriff auf Verzeichnis das für die Quarantäne verwendete zu verhindern.
159+
160+
Der vierte Parameter ist der Pfad zu dem Verzeichnis, das die Signaturdateien für phpMussel enthält. Wenn dies weggelassen wird, versucht phpMussel im übergeordneten Verzeichnis des vendor nach den Signaturdateien in einem Verzeichnis mit dem Namen `phpmussel-signatures` zu suchen.
161+
162+
Der fünfte Parameter ist der Pfad zu Ihrem vendor-Verzeichnis. Es sollte niemals auf etwas anderes hinweisen. Wenn nicht angegeben, versucht phpMussel dieses Verzeichnis für sich selbst zu finden. Dieser Parameter wird bereitgestellt, um die Integration in Implementierungen zu erleichtern, die möglicherweise nicht unbedingt dieselbe Struktur wie ein typisches Composer-Projekt haben.
163+
164+
Der Konstruktor für den Scanner akzeptiert nur einen Parameter und ist obligatorisch: Das instanziierte Loader-Objekt. Da es als Referenz übergeben wird, muss der Loader zu einer Variablen instanziiert werden (die Instanziierung des Loaders direkt in den Scanner als ein Wert zu übergeben ist nicht die richtige Art um phpMussel zu verwenden).
165+
166+
```PHP
167+
public function __construct(\phpMussel\Core\Loader &$Loader)
168+
```
169+
129170
#### 3.4 SCANNER-API
130171

131172
Ergebnisse | Beschreibung
@@ -152,6 +193,11 @@ Nächster, müssen Sie eine E-Mail-Adresse mit einem Konto verknüpfen, damit ph
152193
---
153194

154195

196+
### 4. <a name="SECTION4"></a>ERWEITERUNG VON PHPMUSSEL
197+
198+
---
199+
200+
155201
### 7. <a name="SECTION7"></a>EINSTELLUNGEN
156202

157203
Nachfolgend finden Sie eine Liste der Variablen in der Konfigurationsdatei `config.ini` mit einer kurzen Beschreibung ihrer Funktionen.
@@ -947,8 +993,7 @@ Ich überprüfe keine Signaturdateien, Dokumentationen oder sonstigen peripheren
947993
- [Was ist ein "Falsch-Positiv"?](#WHAT_IS_A_FALSE_POSITIVE)
948994
- [Wie häufig werden Signaturen aktualisiert?](#SIGNATURE_UPDATE_FREQUENCY)
949995
- [Ich habe ein Problem bei der Verwendung von phpMussel und ich weiß nicht was ich tun soll! Bitte helfen Sie!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO)
950-
- [Ich möchte phpMussel (vor v2) mit einer PHP-Version älter als 5.4.0 verwenden; Können Sie helfen?](#MINIMUM_PHP_VERSION)
951-
- [Ich möchte phpMussel (v2) mit einer PHP-Version älter als 7.2.0 verwenden; Können Sie helfen?](#MINIMUM_PHP_VERSION_V2)
996+
- [Ich möchte phpMussel v3 mit einer PHP-Version älter als 7.2.0 verwenden; Können Sie helfen?](#MINIMUM_PHP_VERSION_V3)
952997
- [Kann ich eine einzige phpMussel-Installation verwenden, um mehrere Domains zu schützen?](#PROTECT_MULTIPLE_DOMAINS)
953998
- [Ich möchte keine Zeit damit verbringen (es zu installieren, es richtig zu ordnen, u.s.w.); Kann ich dich einfach bezahlen, um alles für mich zu tun?](#PAY_YOU_TO_DO_IT)
954999
- [Kann ich Sie oder einen der Entwickler dieses Projektes für private Arbeit einstellen?](#HIRE_FOR_PRIVATE_WORK)
@@ -990,19 +1035,15 @@ Die Aktualisierungshäufigkeit hängt von den betreffenden Signaturdateien ab. I
9901035
- Haben Sie die **[Issues-Seite](https://github.com/phpMussel/phpMussel/issues)** überprüft, ob das Problem vorher erwähnt wurde? Wenn es vorher erwähnt wurde, überprüfen Sie ob irgendwelche Vorschläge, Ideen und/oder Lösungen zur Verfügung gestellt wurden, und folge wie nötig um das Problem zu lösen.
9911036
- Wenn das Problem weiterhin besteht, bitte fragen Sie nach Hilfe, indem Sie auf der Issues-Seite ein neues Issue erstellen.
9921037

993-
#### <a name="MINIMUM_PHP_VERSION"></a>Ich möchte phpMussel (vor v2) mit einer PHP-Version älter als 5.4.0 verwenden; Können Sie helfen?
994-
995-
Nein. PHP >= 5.4.0 ist eine Mindestanforderung für phpMussel < v2.
996-
997-
#### <a name="MINIMUM_PHP_VERSION_V2"></a>Ich möchte phpMussel (v2) mit einer PHP-Version älter als 7.2.0 verwenden; Können Sie helfen?
1038+
#### <a name="MINIMUM_PHP_VERSION_V3"></a>Ich möchte phpMussel v3 mit einer PHP-Version älter als 7.2.0 verwenden; Können Sie helfen?
9981039

999-
Nein. PHP >= 7.2.0 ist eine Mindestanforderung für phpMussel v2.
1040+
Nein. PHP >= 7.2.0 ist eine Mindestanforderung für phpMussel v3.
10001041

10011042
*Siehe auch: [Kompatibilitätstabellen](https://maikuolan.github.io/Compatibility-Charts/).*
10021043

10031044
#### <a name="PROTECT_MULTIPLE_DOMAINS"></a>Kann ich eine einzige phpMussel-Installation verwenden, um mehrere Domains zu schützen?
10041045

1005-
Ja. phpMussel-Installationen sind natürlich nicht auf bestimmte Domains gesperrt, und kann daher zum Schutz mehrerer Domains verwendet werden. Allgemein, wir verweisen auf phpMussel-Installationen die nur eine Domain schützen als "Single-Domain-Installationen", und Wir verweisen auf phpMussel-Installationen die mehrere Domains und/oder Subdomains schützen als "Multi-Domain-Installationen". Wenn Sie eine Multi-Domain-Installation betreiben und müssen verschiedene Sätze von Signaturdateien für verschiedene Domains verwenden, oder für verschiedene Domains muss unterschiedliche Konfiguration verwenden, das ist möglich. Nach dem Laden der Konfigurationsdatei (`config.ini`), phpMussel prüft auf die Existenz einer "Konfiguration-Überschreibt Datei", die für die Domain (oder Subdomain) spezifisch angefordert ist (`die-domain-angefordert.tld.config.ini`), und wenn gefunden, alle von der Konfiguration-Überschreibt Datei definierten Konfigurationswerte wird für die Ausführungsinstanz verwendet, anstelle der von der Konfigurationsdatei definierten Konfigurationswerte. Konfiguration-Überschreibt Dateien sind identisch mit der Konfigurationsdatei, und nach eigenem Ermessen, kann entweder die Gesamtheit aller Konfigurationsdirektiven für phpMussel enthalten, oder was auch immer kleiner Unterabschnitt erforderlich ist die sich normalerweise von der Konfigurationsdatei definierten Konfigurationswerte unterscheidet. Konfiguration-Überschreibt Dateien werden nach der Domain für die sie bestimmt sind benannt (so zum Beispiel, wenn Sie eine Konfiguration-Überschreibt Dateien benötigen für die Domäne, `https://www.some-domain.tld/`, seine Konfiguration-Überschreibt Datei sollte benannt werden als `some-domain.tld.config.ini`, und sollte in der vault neben der Konfigurationsdatei `config.ini` platziert werden). Der Domains-Name für die Ausführungsinstanz wird aus dem `HTTP_HOST`-Header der Anforderung abgeleitet; "www" wird ignoriert.
1046+
Ja.
10061047

10071048
#### <a name="PAY_YOU_TO_DO_IT"></a>Ich möchte keine Zeit damit verbringen (es zu installieren, es richtig zu ordnen, u.s.w.); Kann ich dich einfach bezahlen, um alles für mich zu tun?
10081049

@@ -1333,16 +1374,15 @@ Wenn in der Paketkonfiguration aktiviert, speichert phpMussel Protokolle der Dat
13331374
Einträge in einer für menschenlesbaren Protokolldatei sehen in etwa wie folgt aus (als Beispiel):
13341375

13351376
```
1336-
Mon, 21 May 2018 00:47:58 +0800 Gestartet.
1337-
> Überprüfung 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5):
1338-
-> Entdeckt phpMussel-Testfile.ASCII.Standard!
1339-
Mon, 21 May 2018 00:48:04 +0800 Fertig.
1377+
Sun, 19 Jul 2020 13:33:31 +0800 Gestartet.
1378+
→ Überprüfe „ascii_standard_testfile.txt“.
1379+
─→ Entdeckt phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)!
1380+
Sun, 19 Jul 2020 13:33:31 +0800 Fertig.
13401381
```
13411382

13421383
Ein Scan-Protokolleintrag enthält normalerweise die folgenden Informationen:
13431384
- Datum und Uhrzeit, zu der die Datei gescannt wurde.
13441385
- Der Name der gescannten Datei.
1345-
- CRC32b Hashes des Namens und des Inhalts der Datei.
13461386
- Was wurde in der Datei gefunden (falls etwas entdeckt wurde).
13471387

13481388
*Relevante Konfigurationsdirektiven:*
@@ -1351,28 +1391,28 @@ Ein Scan-Protokolleintrag enthält normalerweise die folgenden Informationen:
13511391

13521392
Wenn diese Direktiven leer bleiben, bleibt diese Art der Protokollierung deaktiviert.
13531393

1354-
##### 11.3.1 SCAN KILLS
1394+
##### 11.3.1 UPLOADS PROTOKOLLIERUNG
13551395

13561396
Wenn in der Paketkonfiguration aktiviert, speichert phpMussel Protokolle der Uploads, die blockiert wurden.
13571397

1358-
Einträge in einem "scan kills" Protokolldatei sehen in etwa wie folgt aus (als Beispiel):
1398+
*Als Beispiel:*
13591399

13601400
```
1361-
Datum: Mon, 21 May 2018 00:47:56 +0800
1362-
IP Adresse: 127.0.0.1
1401+
Datum: Sun, 19 Jul 2020 13:33:31 +0800
1402+
IP Adresse: 127.0.0.x
13631403
== Scan-Ergebnisse (warum gekennzeichnet) ==
13641404
Entdeckt phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)!
13651405
== Rekonstruktion der Hash-Signaturen ==
1366-
3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt
1367-
Als "/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu" unter Quarantäne gestellt.
1406+
dcacac499064454218823fbabff7e09b5b011c0c877ee6f215f35bffb195b6e9:654:ascii_standard_testfile.txt
1407+
Als „1595142388-2e017ea9ac1478e45dc15794a1fc18c0.qfu unter Quarantäne gestellt.
13681408
```
13691409

13701410
Ein "scan kills"-Eintrag enthält normalerweise die folgenden Informationen:
13711411
- Das Datum und die Uhrzeit, zu der der Upload gesperrt wurde.
13721412
- Die IP-Adresse, von der der Upload stammt.
13731413
- Der Grund, warum die Datei blockiert wurde (was entdeckt wurde).
13741414
- Der Name der blockierten Datei.
1375-
- Ein MD5 und die Größe der Datei blockiert.
1415+
- Die Prüfsumme und die Größe der Datei sind blockiert.
13761416
- Ob die Datei unter Quarantäne gestellt wurde, und unter welchem internen Namen.
13771417

13781418
*Relevante Konfigurationsdirektiven:*
@@ -1435,7 +1475,7 @@ phpMussel ist optional in der Lage, Statistiken wie die Gesamtzahl der gescannte
14351475

14361476
##### 11.3.7 KRYPTOGRAPHIE
14371477

1438-
phpMussel verwendet keine [Kryptografie](https://de.wikipedia.org/wiki/Kryptographie) zu den Cache oder Protokollierung. Kryptographie für den Cache oder Protokollierung kann in Zukunft eingeführt werden, aber es gibt derzeit keine konkreten Pläne dafür. Wenn Sie befürchten, dass unbefugte Dritte Zugang zu Teilen von phpMussel erhalten, die PII oder vertrauliche Informationen wie Cache oder Protokolle enthalten, würde ich empfehlen, phpMussel nicht an einem öffentlich zugänglichen Ort zu installieren (z.B., installieren Sie phpMussel außerhalb des Standard-Verzeichnisses `public_html` oder eines entsprechenden Verzeichnisses, das für die meisten Standard-Webserver verfügbar ist) und dass entsprechend restriktive Berechtigungen für das Verzeichnis erzwungen werden, in dem sie sich befinden (insbesondere für das vault verzeichnis). Wenn dies nicht ausreicht, um Ihre Bedenken auszuräumen, konfigurieren Sie phpMussel so, dass die Arten von Informationen, die Ihre Bedenken verursachen, nicht erfasst oder protokolliert werden (z.B. durch Deaktivieren der Protokollierung).
1478+
phpMussel verwendet keine [Kryptografie](https://de.wikipedia.org/wiki/Kryptographie) zu den Cache oder Protokollierung. Kryptographie für den Cache oder Protokollierung kann in Zukunft eingeführt werden, aber es gibt derzeit keine konkreten Pläne dafür. Wenn Sie befürchten, dass unbefugte Dritte Zugang zu Teilen von phpMussel erhalten, die PII oder vertrauliche Informationen wie Cache oder Protokolle enthalten, würde ich empfehlen, phpMussel nicht an einem öffentlich zugänglichen Ort zu installieren (z.B., installieren Sie phpMussel außerhalb des Standard-Verzeichnisses `public_html` oder eines entsprechenden Verzeichnisses, das für die meisten Standard-Webserver verfügbar ist) und dass entsprechend restriktive Berechtigungen für das Verzeichnis erzwungen werden, in dem sie sich befinden. Wenn dies nicht ausreicht, um Ihre Bedenken auszuräumen, konfigurieren Sie phpMussel so, dass die Arten von Informationen, die Ihre Bedenken verursachen, nicht erfasst oder protokolliert werden (z.B. durch Deaktivieren der Protokollierung).
14391479

14401480
#### 11.4 COOKIES
14411481

@@ -1477,4 +1517,4 @@ Alternativ gibt es einen kurzen (nicht autoritativen) Überblick über die GDPR/
14771517
---
14781518

14791519

1480-
Zuletzt aktualisiert: 16 Juli 2020 (2020.07.16).
1520+
Zuletzt aktualisiert: 21 Juli 2020 (2020.07.21).

0 commit comments

Comments
 (0)