From 56a1fca144013e11b98c6e4d2d5ff97eec154cf8 Mon Sep 17 00:00:00 2001 From: Caleb Mazalevskis Date: Wed, 1 Mar 2023 15:47:13 +0800 Subject: [PATCH] Deprecating v2 and earlier. --- v2-and-earlier/readme.ar.md | 1982 -------------------------------- v2-and-earlier/readme.de.md | 1728 ---------------------------- v2-and-earlier/readme.en.md | 1720 --------------------------- v2-and-earlier/readme.es.md | 1719 --------------------------- v2-and-earlier/readme.fr.md | 1725 --------------------------- v2-and-earlier/readme.id.md | 1712 --------------------------- v2-and-earlier/readme.it.md | 1715 --------------------------- v2-and-earlier/readme.ja.md | 1712 --------------------------- v2-and-earlier/readme.ko.md | 1710 --------------------------- v2-and-earlier/readme.nl.md | 1729 ---------------------------- v2-and-earlier/readme.pt.md | 1715 --------------------------- v2-and-earlier/readme.ru.md | 1713 --------------------------- v2-and-earlier/readme.ur.md | 1981 ------------------------------- v2-and-earlier/readme.vi.md | 1709 --------------------------- v2-and-earlier/readme.zh-tw.md | 1713 --------------------------- v2-and-earlier/readme.zh.md | 1713 --------------------------- 16 files changed, 27996 deletions(-) delete mode 100644 v2-and-earlier/readme.ar.md delete mode 100644 v2-and-earlier/readme.de.md delete mode 100644 v2-and-earlier/readme.en.md delete mode 100644 v2-and-earlier/readme.es.md delete mode 100644 v2-and-earlier/readme.fr.md delete mode 100644 v2-and-earlier/readme.id.md delete mode 100644 v2-and-earlier/readme.it.md delete mode 100644 v2-and-earlier/readme.ja.md delete mode 100644 v2-and-earlier/readme.ko.md delete mode 100644 v2-and-earlier/readme.nl.md delete mode 100644 v2-and-earlier/readme.pt.md delete mode 100644 v2-and-earlier/readme.ru.md delete mode 100644 v2-and-earlier/readme.ur.md delete mode 100644 v2-and-earlier/readme.vi.md delete mode 100644 v2-and-earlier/readme.zh-tw.md delete mode 100644 v2-and-earlier/readme.zh.md diff --git a/v2-and-earlier/readme.ar.md b/v2-and-earlier/readme.ar.md deleted file mode 100644 index 4934858..0000000 --- a/v2-and-earlier/readme.ar.md +++ /dev/null @@ -1,1982 +0,0 @@ -##
phpMussel v2 بالعربية
- -###
المحتويات:
-
- -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -###
١. مقدمة
- -
شكراً لك على إستخدام phpMussel، المبرمج بلغة PHP للكشف عن ملفات الإختراق والفيروسات والبرمجيات الخبيثة الموجودة حيث يعتمد السكربت على توقيعات ClamAV وغيرها.

- -
حقوق النشر محفوظة ل PHPMUSSEL لعام ٢٠١٣ وما بعده تحت رخصة GNU/GPLv2 للمبرمج Caleb M (Maikuolan).

- -
هذا البرنامج مجاني، يمكنك تعديله وإعادة نشره تحت رخصة GNU. نشارك هذا السكربت على أمل أن تعم الفائدة لكن لا نتحمل أية مسؤولية أو أية ضمانات لاستخدامك، اطلع على تفاصيل رخصة GNU للمزيد من المعلومات عبر الملف "LICENSE.txt" وللمزيد من المعلومات:
-- . -- . - -
شكر خاص لClamAV لكل من الإلهام للمشروع والتواقيع التي يعمد عليها السكربت، والتي من دونها كان من الممكن أن لا يتم إنجاز هذا البرنامج أو بأفضل الأحوال ستكون قيمته محدودة جداً.

- -
شكر خاص أيضاً ل SourceForge و Bitbucket و GitHub لإستضافتهم ملفات المشروع، وأيضاً لمصادر التوقيعات التي يستخدمها phpMussel مثل: PhishTank و NLNetLabs و Malware.Expert وغيرهم، والشكر مقدم لكل من يدعم المشروع وشكراً لك لاستخدامك للسكربت.

- -
هذا المستند و الحزم المرتبطة به يمكن تحميلها مجاناً من:
-- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -###
٢. كيفية التحميل
- -####
٢.٠ تثبيت يدويا (لخدمات الويب)
- -
١. بقراءتك لهذا سنفرض بأنك قمت بتحميل السكربت، من هنا عليك العمل على جهازك المحلي أو نظام إدارة المحتوى لإضافة هذه الأمور، مجلد مثل "/public_html/phpmussel/" أو ما شابه سيكون كاف.

- -
٢. إعادة تسمية "config.ini.RenameMe" إلى "config.ini" (تقع داخل "vault")، واختياريا (هذه الخطوة اختيارية ينصح بها للمستخدمين المتقدمين ولا ينصح بها للمبتدئين)، افتحه، وعدل الخيارات كما يناسبك (أعلى كل خيار يوجد وصف مختصر للوظيفة التي يقوم بها).

- -
٣. إرفع الملفات للمجلد الذي اخترته(لست بحاجة لرفع "*.txt/*.md" لكن في الغالب يجب أن ترفع جميع الملفات).

- -
٤. غير التصريح لمجلد vault للتصريح "755" (إذا كان هناك مشاكل، يمكنك محاولة "777"، ولكن هذه ليست آمنة). المجلد الرئيسي الذي يحتوي على الملفات-المجلد الذي اخترته سابقاً-، بالعادة يمكن تجاهله، لكن يجب التأكد من التصريح إذا واجهت مشاكل في الماضي(إفتراضيا يجب أن يكون "755"). باختصار: لكي تعمل الحزمة بشكل صحيح، يجب أن تكون PHP قادرة على قراءة وكتابة الملفات داخل دليل vault. العديد من الأشياء (التحديث، التسجيل، الخ) لن تكون ممكنة، إذا تعذر على PHP الكتابة إلى دليل vault، ولن تعمل الحزمة على الإطلاق إذا تعذر على PHP القراءة من دليل vault. ومع ذلك، للحصول على الأمان الأمثل، يجب ألا يكون دليل vault متاحًا للجميع (المعلومات الحساسة، مثل المعلومات التي يحتوي عليها config.ini أو frontend.dat، يمكن أن تتعرض لمهاجمين محتملين إذا كان دليل vault متاحًا للجميع).

- -
٥. تثبيت أي التوقيعات التي ستحتاج إليها. نرى: تثبيت التوقيعات).

- -
٦. الآن أنت بحاجة لربط phpMussel لنظام إدارة المحتوى أو النظام الذي تستخدمه، هناك عدة طرق لفعل هذا لكن أسهل طريقة ببساطة إضافة السكربت لبداية النواة في نظامك (سيتم إعادة التحميل لكل وصول لأي صفحة في الموقع) بإستخدام جمل "require" أو "include"، بالعادة سيتم التخزين في "/includes"، "/assets" أو "/functions"، وسيتم تسميته بالغالب مثل: "init.php"، "common_functions.php"، "functions.php" أو ما شابه. من الممكن أن تكون مستخدم ل CMS لذا يمكن أن أقدم بعض المساعدة بخصوص هذا الموضوع، لإستخدام "require" أو "include" قم بإضافة الكود التالي لبداية الملف الرئيسي لبرنامجك، عدل النص الموجود داخل علامات التنصيص لمسار "loader.php" لديك.

- -`` - -
إحفظ الملف ثم قم بإعادة رفعه.

- -
-- أو بدلاً من ذلك --

- -
إذا كنت تستخدم Apache webserver وتستطيع الوصول ل "php.ini"، بإستطاعتك إستخدام "auto_prepend_file" للتوجيه ل phpMussel لكل طلب مثل:

- -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -
أو هذا في ملف ".htaccess":

- -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -
٧. لقد إنتهيت لكن يجب عليك التأكد من أن كل شيئ على ما يرام، للتأكد حاول رفع ملفات الفحص الموجودة في الحزمة .tests/samples لموقعك. (تأكد من أنك قمت بتضمين ملفات التوقيع `phpmussel*.*db` في إعداد `active` الخاص بك لبدء تشغيل ملفات الاختبار). إذا كل شيئ يعمل على ما يرام يجب أن تظهر رسالة من phpMussel لتأكيد على أنه تم حجب الملفات المرفوعة بنجاح، إذا لم يظهر شيئ إذاً هناك شيئ لا يعمل على ما يرام، إذا كنت تستخدم إضافات متقدمة أو أدوات فحص أخرى أقترح أن تجرب من خلالهم أيضاً للتأكد إذا ما كان كل شيئ على ما يرام.

- -####
٢.١ تثبيت يدويا (لخدمات واجهة سطر الأوامر)
- -
١. بقراءتك لهذا سنفرض بأنك قمت بتحميل السكربت، من هنا عليك العمل على جهازك المحلي.

- -
٢. يتطلب phpMussel أن يتم تثبيت PHP على الجهاز المضيف من أجل تنفيذه. إذا لم يكن PHP مثبتا على جهازك، الرجاء قم بتثبيت PHP على جهازك، و اتبع أي تعليمات يقدمها مثبت PHP.

- -
٣. هذه الخطوة اختيارية ينصح بها للمستخدمين المتقدمين ولا ينصح بها للمبتدئين، إفتح "config.ini" الموجود داخل vault هذا الملف يحتوي جميع التعليمات ل phpMussel، أعلى كل خيار يوجد وصف مختصر للوظيفة التي يقوم بها، عدل الخيارات كما يناسبك.

- -
٤. بشكل إختياري، يمكنك إستخدام phpMussel لواجهة سطر الأوامر بإنشاء ملف "باتش" لتحميل PHP و phpMussel تلقائياً، للقيام بهذا إفتح محرر النصوص مثل Notepad++ ثم أكتب المسار الكامل لملف "php.exe" الموجود في دليل التثبيت متبوع بمسافة ثم المسار الكامل لملف "loader.php" احفظ الملف بصيغة "bat."، إفتح الملف الذي قمت بإنشاءه لتشغيل phpMussel في المستقبل.

- -
٥. تثبيت أي التوقيعات التي ستحتاج إليها. نرى: تثبيت التوقيعات).

- -
٦. في هذه المرحلة، لقد انتهيت! ومع ذلك فربما يجب عليك اختباره للتأكد من أنه يعمل بشكل صحيح. لاختبار phpMussel، قم بتشغيله و حاول فحص الدليل .tests/samples المتوفر مع الحزمة.

- -####
٢.٢ تثبيت مع COMPOSER
- -
يتم تسجيل phpMussel مع Packagist، و بالتالي، إذا كنت على دراية به، يمكنك استخدامه لتثبيت phpMussel (ستظل بحاجة إلى إعداده على الرغم من ذلك؛ نرى "تثبيت يدويا (لخدمات الويب)" الخطوتين ٢، ٤، ٥ و ٦).

- -`composer require phpmussel/phpmussel` - -####
٢.٣ تثبيت التوقيعات
- -
منذ v1.0.0، لا يتم تضمين التوقيعات في الحزمة الرئيسية. التوقيعات مطلوبة من قبل phpMussel للكشف عن تهديدات محددة. هناك 3 طرق رئيسية لتثبيت التوقيعات:

- -
    -
  • ١. تثبيت تلقائيا باستخدام الصفحة الأمامية التحديثات.
  • -
  • ٢. توليد التوقيعات باستخدام "SigTool" وتثبيت يدويا.
  • -
  • ٣. تحميل التوقيعات من "phpMussel/Signatures" وتثبيت يدويا.
  • -
- -#####
٢.٣.١ تثبيت تلقائيا باستخدام الصفحة الأمامية التحديثات.
- -
أولا، ستحتاج إلى التأكد من تمكين front-end. نرى: إدارة FRONT-END.

- -
ثم، ستحتاج إلى الانتقال إلى صفحة التحديثات، العثور على ملفات التوقيع اللازمة، واستخدام الخيارات المتوفرة على الصفحة، وتثبيتها، وتنشيطها.

- -#####
٢.٣.٢ توليد التوقيعات باستخدام "SigTool" وتثبيت يدويا.
- -
نرى: وثائق SigTool.

- -
لاحظ أيضًا: يعالج SigTool التوقيعات من ClamAV فقط. من أجل الحصول على التوقيع من مصادر أخرى، مثل تلك المكتوبة خصيصًا لـ phpMussel، والتي تتضمن التوقيعات اللازمة للكشف عن عينات اختبار phpMussel، يجب استكمال هذه الطريقة بإحدى الطرق الأخرى المذكورة هنا.

- -#####
٢.٣.٣ تحميل التوقيعات من "phpMussel/Signatures" وتثبيت يدويا.
- -
أولا، اذهب إلى phpMussel/Signatures. يحتوي المستودع على ملفات توقيع GZ مضغوط مختلفة. تحميل الملفات التي تحتاج إليها، فك ضغطها، ونسخ الملفات المضغوطة إلى الدليل /vault/signatures لتثبيتها. قم بإدراج أسماء الملفات المنسوخة إلى التوجيه active في تهيئة phpMussel لتنشيطها.

- ---- - - -###
٣. كيفية الإستخدام
- -####
٣.٠ كيفية الإستخدام (لخدمات الويب)
- -
لقد تم إعداد phpMussel ليكون البرنامج النصي الذي سوف يعمل بشكل مرضي على جهازك مع الحد الأدنى من المتطلبات على جهازك: بمجرد تثبيته بشكلي أساسي فإنه ببساطة يجب أن يعمل.

- -
سيتم فحص الملفات تلقائياً لقد تم إعداده إفتراضياً لذا ليس عليك القيام بشيئ.

- -
مع ذلك، فإنك قادراً أيضاً على إرشاد phpMussel لمسح ملفات معينة مثل الدلائل و/ أو المحفوظات. للقيام بذلك فعليك أولاً: سوف تحتاج إلى التأكد من أن يتم تعيين التكوين المناسب في ملف "config.ini" (يجب تعطيل عملية التنظيف) وعندما تنتهي من ذلك، في ملف PHP و الذي تم ربطه مع phpMussel، استخدم الدالة التالية في التعليمة البرمجية "الكود" الذي ستضعه:

- -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -
    -
  • $what_to_scan يمكن أن تكون سلسلة، مصفوفة، أو مجموعة من المصفوفات، وتشير إلى أي ملف/ملفات، دليل و/أو دلائل ليتم إجراء المسح عليها.
  • -
  • $output_type هي قيمة منطقية تدل على نتائج الفحص ليتم إرجاعها كالتالي، الخطأ يرشد الدالة لإرجاع نتائج الفحص على شكل عدد (النتائج المرجعة -4 يشير إلى أن البيانات لا يمكن فحصها بسبب التشفير، -3 يشير إلى أن مشاكل تمت مواجهتها مع ملفات التوقيعات، -2 تشير إلى أنه تم الكشف عن بيانات تالفة خلال الفحص وبالتالي فشل في إكمال الفحص، 0 يشير إلى أن هدف الفحص غير موجود و بالتالي لم تكن هناك حاجة لعملية الفحص، 1 يشير إلى أن الهدف تم فحصه بنجاح و لم يتم الكشف عن أي مشاكل، 2 يشير إلى أن الهدف تم فحصه بنجاح و تم الكشف عن مشاكل. القيمة الصحيحة ترشد الدالة لإرجاع نتائج الفحص كنص مقروء للبشر. بالإضافة إلى ذلك، في كلتا الحالتين، يمكن الوصول إلى النتائج عبر المتغيرات العالمية بعد اكتمال الفحص. هذا المتغير هو اختياري و إذا لم تحدد فالافتراضي هو القيمة الخطأ.
  • -
  • $output_flatness هي قيمة منطقية تشير إلى دالة بالعودة لنتائج الفحص من النوعين (عندما يكون هناك أهداف فحص متعددة)، سواء خاطئة فتعود النتائج على شكل مصفوفة، أو صحيحة فتعود النتائج على شكل سلسلة. هذا المتغير هو اختياري و إذا لم تحدد فالافتراضي هو القيمة الخطأ.
  • -
- -
أمثلة:

- -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -
يتحول كالتالي (كسلسلة):

- -``` - Wed, 16 Sep 2013 02:49:46 +0000 Started. - > Checking '/user_name/public_html/my_file.html': - -> No problems found. - Wed, 16 Sep 2013 02:49:47 +0000 Finished. -``` - -
للحصول على مفعول كامل لأي من التوقيعات التي يستخدمها phpMussel أثناء التفحص، وكيف يتعامل مع هذه التوقيعات، راجع قسم (٨) دستخط فارمیٹ في هذا الملف التمهيدي.

- -
إذا واجهت أي إيجابيات زائفة أي إذا واجهت شيئا جديدا تعتقد أنه يجب أن يكون قد تم حظره أو أي شيء آخر بخصوص التوقيعات، فيرجى الاتصال بي لإبلاغي عن ذلك حتى أستطيع إجراء التغييرات اللازمة، والتي إذا لم تقوم بالاتصال بي، فإنني قد لا أكون منتبه لها. (نرى: ما هو "إيجابية خاطئة"؟).

- -
لتعطيل التواقيع التي يتضمنها phpMussel (مثل إذا كنت تعاني من إيجابية زائفة محددة لأغراضك التي لا ينبغي أن يتم عادة إزالتها)، قم بإضافة أسماء التوقيع المحدد المراد تعطيله إلى التوقيعات ملف قائمة رمادية (/vault/greylist.csv)، مفصولة بفواصل.

- -
أنظر أيضا: كيفية الوصول إلى تفاصيل محددة حول الملفات عند مسحها ضوئيا؟
- -####
٣.١ كيفية الاستخدام (لخدمات واجهة سطر الأوامر)
- -
يرجى الرجوع إلى قسم "تثبيت يدويا (لخدمات واجهة سطر الأوامر)" من هذا الملف التمهيدي.

- -
كما يجب أن تدرك أن phpMussel فمن الماسح الضوئي على الطلب؛ وهي ليست الماسح الضوئي على وصول (مع استثناء ل تحميل الملف، عندما يحدث). وعلى عكس البرامج التقليدية لمكافحة الفيروسات فإنها لا تراقب الذاكرة النشطة! لكنها سوف تكشف عن الفيروسات فقط الواردة في تلك الملفات المحددة التي طلبت منه فحصها، وفي تحميل الملف.

- ---- - - -###
٤. إدارة FRONT-END
- -####
٤.٠ ما هو FRONT-END.

- -
Front-end يوفر وسيلة سهلة للحفاظ على، وإدارة، وتحديث phpMussel. يمكنك عرض، حصة، وتحميل ملفات الدخول، يمكنك تعديل تكوين، يمكنك تثبيت وإلغاء تثبيت مكونات، ويمكنك تحميل وتنزيل وتعديل الملفات.

- -
Front-end معطل في البداية، لمنع الوصول غير المصرح به (الدخول غير المصرح به قد يكون له عواقب أمنية كبيرة). تعليمات لتمكينه أدناه.

- -####
٤.١ كيفية تمكين FRONT-END.

- -
١. العثور "disable_frontend" من في "config.ini"، وتعيينها إلى false (القيمة القياسية هي true).

- -
٢. الوصول إلى "loader.php" من المتصفح (مثلا، "http://localhost/phpmussel/loader.php").

- -
٣. تسجيل الدخول باستخدام اسم المستخدم وكلمة المرور الافتراضية (admin/password).

- -
ملحوظة: تغيير اسم المستخدم وكلمة المرور الخاصة بك بعد تسجيل الدخول للمرة الأولى، من أجل منع الوصول غير المصرح به (هذا مهم جدا)!

- -
أيضًا، للحصول على الأمان الأمثل، نوصي بشدة بتمكين 2FA لجميع حسابات الواجهة الأمامية (الإرشادات الواردة أدناه).

- -####
٤.٢ كيفية استخدام FRONT-END.

- -
في كل صفحة، ويفسر ذلك كيفية استخدامها. إذا كنت بحاجة إلى أي مساعدة، يرجى الاتصال بالدعم. وهناك أيضا بعض مقاطع الفيديو المفيدة المتاحة على موقع يوتيوب.

- -####
٤.٣ 2FA

- -
من الممكن جعل front-end أكثر أمانًا عن طريق تمكين 2FA. عند تسجيل الدخول إلى حساب باستخدام 2FA، يتم إرسال بريد إلكتروني إلى عنوان البريد الإلكتروني المقترن بهذا الحساب. تحتوي هذه الرسالة الإلكترونية على "رمز 2FA"، والذي يجب على المستخدم إدخاله، بالإضافة إلى اسم المستخدم وكلمة المرور، حتى تتمكن من تسجيل الدخول باستخدام هذا الحساب. وهذا يعني أن الحصول على كلمة مرور الحساب لن يكون كافيًا لأي متسلل أو مهاجم محتمل ليتمكن من تسجيل الدخول إلى هذا الحساب، لأنهم سيحتاجون أيضًا إلى الوصول بالفعل إلى عنوان البريد الإلكتروني المرتبط بهذا الحساب حتى يتمكنوا من تلقي رمز 2FA واستخدامه في الجلسة.

- -
أولاً، لتمكين 2FA، استخدم صفحة تحديثات front-end لتثبيت مكون PHPMailer. phpMussel يستخدم PHPMailer لإرسال رسائل البريد الإلكتروني. ملحوظة: على الرغم من أن phpMussel متوافق مع PHP >= 5.4.0، PHPMailer يتطلب PHP >= 5.5.0، مما يعني أن تمكين 2FA لـ phpMussel front-end لن يكون ممكنًا لمستخدمي PHP 5.4.

- -
بعد تثبيت PHPMailer، ستحتاج إلى تعبئة توجيهات التهيئة لـ PHPMailer عبر صفحة تهيئة phpMussel أو ملف التكوين. يتم تضمين مزيد من المعلومات حول توجيهات التكوين هذه في قسم التكوين في هذا المستند. بعد ملء توجيهات تهيئة PHPMailer، اضبط enable_two_factor على true. 2FA ممكّن الآن.

- -
بعد ذلك، ستحتاج إلى ربط عنوان بريد إلكتروني بحساب، حتى يعرف phpMussel مكان إرسال رموز 2FA عند تسجيل الدخول باستخدام هذا الحساب. للقيام بذلك، استخدم عنوان البريد الإلكتروني كاسم مستخدم للحساب (مثل foo@bar.tld)، أو تضمين عنوان البريد الإلكتروني كجزء من اسم المستخدم بالطريقة نفسها التي تريدها عند إرسال بريد إلكتروني بشكل طبيعي (مثل Foo Bar <foo@bar.tld>).

- -
ملحوظة: حماية "vault" ضد الوصول غير المصرح به (على سبيل المثال، من خلال تعزيز أمن الخادم الخاص بك وتقييد أذونات الوصول العام)، أهمية خاصة هنا، لأن الوصول غير المصرح به إلى ملف التكوين الخاص بك (المخزن في "vault")، قد يؤدي إلى تعريض إعدادات SMTP الصادرة (بما في ذلك اسم مستخدم وكلمة مرور SMTP). يجب التأكد من تأمين "vault" بشكل صحيح قبل تمكين 2FA. إذا كنت غير قادر على القيام بذلك، فعلى الأقل، يجب عليك إنشاء حساب بريد إلكتروني جديد مخصص لهذا الغرض، وذلك لتقليل المخاطر المرتبطة بإعدادات SMTP المكشوفة.

- ---- - - -###
٥. CLI (واجهة سطر الأوامر).
- -
يمكن تشغيل phpMussel باعتباره برنامج فحص ملفات تفاعلي في وضع CLI في ظل النظم المستندة إلى Windows. راجع قسم "كيفية التثبيت (لواجهة سطر الاوامر)" من هذا الملف التمهيدي لمزيد من التفاصيل.

- -
للحصول على قائمة الأوامر المتاحة لواجهة سطر الأوامر، اكتب "c" في موجه واجهة سطر الأوامر واضغط "دخول" Enter.

- -
بالإضافة إلى، للراغبين، فيديو تعليمي عن كيفية استخدام phpMussel في وضع CLI متوفر هنا:
-- - ---- - - -###
٦. الملفات الموجودة في هذه الحزمة
- -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -###
٧. خيارات التكوين/التهيئة
- -
وفيما يلي قائمة من المتغيرات الموجودة في ملف تكوين "config.ini"، بالإضافة إلى وصف الغرض منه و وظيفته.

- -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -####
"general" (التصنيف)
-
التكوين العام لـ phpMussel.

- -#####
"cleanup"
-
    -
  • إلغاء تعيين المتغيرات وذاكرة التخزين المؤقت التي يستخدمها البرنامج النصي بعد المسح الأولي للتحميل؟ زائفة/False = لا؛ صحيح/True = نعم [افتراضي]. إذا كنت -لا -تستخدم البرنامج النصي وراء المسح الأولي للتحميل، يجب تعيين هذا صحيح (نعم)، للحد من استخدام الذاكرة. إذا كنت تستخدم البرنامج النصي وراء المسح الأولي للتحميل، ينبغي أن تحدد إلى زائفة/False =(لا)، لتجنب داع إعادة تحميل البيانات المكررة في الذاكرة. في الممارسة العامة، ينبغي عادة أن يتم تعيين إلى صحيح، ولكن، إذا كنت تفعل ذلك، فإنك لن تكون قادرا على استخدام البرنامج النصي في أي شيء سوى المسح الأولي لتحميل الملف.
  • -
  • ليس له أي تأثير في وضع CLI "واجهة سطر الأوامر".
  • -
- -#####
"scan_log"
-
    -
  • اسم الملف لملف تسجيل جميع نتائج المسح. قم بتعيين اسم الملف، أو اتركه فارغا للتعطيل.
  • -
- -#####
"scan_log_serialized"
-
    -
  • اسم الملف من ملف لتسجيل جميع نتائج المسح إلى (باستخدام تنسيق متسلسل). تحديد اسم الملف، أو اتركه فارغا للتعطيل.
  • -
- -#####
"scan_kills"
-
    -
  • اسم الملف من ملف لتسجيل كل سجلات الملفات التي منعت او اوقفت من .تحديد اسم الملف، أو اتركه فارغا لتعطيل.
  • -
- -
نصيحة مفيدة: إن أردت، يمكنك إلحاق تاريخ/المعلومات في الوقت إلى أسماء ملفات السجل من خلال تضمين هذه في اسم: "{yyyy}" لمدة عام كامل، "{yy}" لمدة عام يختصر، "{mm}" لمدة شهر، "{dd}" ليوم واحد، "{hh}" لمدة ساعة (راجع الأمثلة أدناه).

- -``` - scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt' - scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt' - scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt' -``` - -#####
"error_log"
-
    -
  • ملف لتسجيل أي أخطاء غير مميتة المكتشفة. تحديد اسم الملف، أو اتركه فارغا لتعطيل.
  • -
- -#####
"truncate"
-
    -
  • اقتطاع ملفات السجل عندما تصل إلى حجم معين؟ القيمة هي الحجم الأقصى في بايت/كيلوبايت/ميغابايت/غيغابايت/تيرابايت الذي قد ينمو ملفات السجل إلى قبل اقتطاعه. القيمة الافتراضية 0KB تعطيل اقتطاع (ملفات السجل يمكن أن تنمو إلى أجل غير مسمى). ملاحظة: ينطبق على ملفات السجل الفردية! ولا يعتبر حجمها جماعيا.
  • -
- -#####
"log_rotation_limit"
-
    -
  • يحدد تدوير السجل عدد ملفات السجل التي يجب أن تكون موجودة في أي وقت. عند إنشاء ملفات السجل الجديدة، إذا تجاوز العدد الإجمالي لبيانات السجل الحد المحدد، فسيتم تنفيذ الإجراء المحدد. يمكنك تحديد الحد المرغوب هنا. ستعمل القيمة 0 على تعطيل تدوير السجل.
  • -
- -#####
"log_rotation_action"
-
    -
  • يحدد تدوير السجل عدد ملفات السجل التي يجب أن تكون موجودة في أي وقت. عند إنشاء ملفات السجل الجديدة، إذا تجاوز العدد الإجمالي لبيانات السجل الحد المحدد، فسيتم تنفيذ الإجراء المحدد. يمكنك تحديد الإجراء المطلوب هنا. Delete = احذف أقدم السجلات، حتى لا يتم تجاوز الحد. Archive = أرشفة أولاً، ثم احذف أقدم السجلات، حتى لا يتم تجاوز الحد.
  • -
- -
التوضيح الفني: في هذا السياق، تعني كلمة "أقدم"، هذا يعني "الأقل معدلة مؤخرا".

- -#####
"timezone"
-
    -
  • يتم استخدام هذا لتحديد المنطقة الزمنية التي يجب أن يستخدمها phpMussel لعمليات التاريخ / الوقت. إذا لم تكن بحاجة إليه، فتجاهله. يتم تحديد القيم المحتملة بواسطة PHP. يُوصى بشكل عام بدلاً من ضبط توجيه المنطقة الزمنية في ملف php.ini. على الرغم من أنه في بعض الأحيان (على سبيل المثال عند العمل مع موفري استضافة مشتركة محدودة)، لا يكون ذلك ممكنًا دائمًا، وهكذا، يتم توفير هذا الخيار هنا.
  • -
- -#####
"time_offset"
-
    -
  • v1: "timeOffset"
  • -
  • إذا بالتوقيت المحلي الخاص بك ليست هي نفسها كما الخادم الخاص بك، يمكنك تحديد إزاحة هنا (لضبط التاريخ / المعلومات في الوقت صنعت بواسطة phpMussel). الإزاحة المستندة دقيقة.
  • -
  • مثال (لإضافة ساعة واحدة):
  • -
- -`time_offset=60` - -#####
"time_format"
-
    -
  • v1: "timeFormat"
  • -
  • شكل التواريخ المستخدم من قبل phpMussel. الافتراضي:
  • -
- -`{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}` - -#####
"ipaddr"
-
    -
  • أين يمكن العثور على عنوان IP لربط الطلبات؟ (مفيدة للخدمات مثل لايتكلاود و مثلها) الافتراضي = REMOTE_ADDR. تحذير: لا تغير هذا إلا إذا كنت تعرف ما تفعلونه!
  • -
- -
القيم الموصى بها ل "ipaddr":

- - 
القيمة
|  
استعمال
----|--- -`HTTP_INCAP_CLIENT_IP` | Incapsula reverse proxy (إنكابسولا عكس الوكيل). -`HTTP_CF_CONNECTING_IP` | Cloudflare reverse proxy (كلودفلاري عكس الوكيل). -`CF-Connecting-IP` | Cloudflare reverse proxy (كلودفلاري عكس الوكيل؛ لبديل؛ إذا كان ما سبق لا يعمل). -`HTTP_X_FORWARDED_FOR` | Cloudbric reverse proxy. -`X-Forwarded-For` | [Squid reverse proxy (عكس الوكيل)](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* - 
يحددها تكوين الخادم.
| [Nginx reverse proxy (إنجن إكس عكس الوكيل)](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` |  
لا يوجد عكس الوكيل (الافتراضي).
- -#####
"enable_plugins"
-
    -
  • تمكين دعم ملحقات phpMussel؟ زائفة/False = لا؛ صحيح/True = نعم [الافتراضي].
  • -
- -#####
"forbid_on_block"
-
    -
  • هل phpMussel يرسل 403 من العناوين مع الرسالة منعت إيداع الملف، أو يبقى مع المعتادة 200 موافق؟ خطأ = رقم (200). صحيح/True = نعم (403) [الافتراضي].
  • -
- -#####
"unsupported_media_type_header"
-
    -
  • هل يجب على phpMussel إرسال 415 رأسًا عندما يتم حظر التحميلات بسبب أنواع الملفات المدرجة في القائمة السوداء؟ عندما يكون هذا الإعداد صحيحًا، يحل هذا الإعداد محل forbid_on_block. زائفة/False = لا [الافتراضي]؛ صحيح/True = نعم.
  • -
- -#####
"delete_on_sight"
-
    -
  • تمكين هذا التوجيه وإرشاد النصي لمحاولة حذف فورا عن أي الممسوحة ضوئيا تحميل ملف محاولة مطابقة أي معايير الكشف، سواء عن طريق التوقيعات أو غير ذلك. لن يكون لمست الملفات مصممة على أن تكون "نظيفة". في حالة المحفوظات، سيتم حذف أرشيف كامل، بغض النظر عن ما إذا كان أو لم يكن ملف المخالف هو واحد فقط من العديد من الملفات الواردة في الأرشيف. بالنسبة لحالة إيداع ملف المسح الضوئي، عادة، فإنه ليس من الضروري لتمكين هذا التوجيه، لأن العادة، PHP وتطهير محتويات ذاكرة التخزين المؤقت تلقائيا عند انتهاء التنفيذ، وهذا يعني انها سوف عادة حذف أي الملفات التي تم تحميلها من خلال ذلك إلى الخادم ما لم يكونوا قد تم نقلها أو نسخها أو حذفها بالفعل. يضاف هذا التوجيه هنا كإجراء إضافي من الأمن لأولئك الذين نسخ من PHP قد لا تتصرف دائما على النحو المتوقع. = كاذبة بعد المسح، وترك الملف وحده [الافتراضي]. صحيح/True = بعد المسح، إن لم يكن نظيفة، تحذف فورا.
  • -
- -#####
"lang"
-
    -
  • تحديد اللغة الافتراضية الخاصة بـ phpMussel.
  • -
- -#####
"lang_override"
-
    -
  • الترجمة وفقًا لـ HTTP_ACCEPT_LANGUAGE كلما أمكن ذلك؟ صحيح/True = نعم [افتراضي]؛ زائفة/False = لا.
  • -
- -#####
"numbers"
-
    -
  • لتحديد كيفية عرض الأرقام.
  • -
- -
القيم المدعومة حاليًا:

- -القيمة | ينتج عنه | وصف ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | القيمة القياسية -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -
ملحوظة: هذه القيم ليست موحدة في أي مكان، وربما لن تكون ذات صلة خارج الحزمة. أيضا، قد تتغير القيم المدعومة في المستقبل.

- -#####
"quarantine_key"
-
    -
  • phpMussel غير قادرة على الحجر ترفع علم حاول تحميل الملف في عزلة داخل "قبو" phpMussel، إذا كان هذا هو ما تريد أن تفعله. المستخدمين العاديين من phpMussel التي ترغب ببساطة لحماية مواقعها على شبكة الإنترنت أو بيئة استضافة دون وجود أي مصلحة في تحليل عميق أي ترفع علم تحميل الملفات حاول يجب ترك هذه الوظيفة ذوي الاحتياجات الخاصة، ولكن أي المستخدمين المهتمين في مزيد من التحليل للترفع علم حاولت تحميل الملفات للبحث عن البرامج الضارة أو ما شابه مثل هذه الأمور ينبغي أن تمكن هذه الوظيفة. الحجر الصحي لترفع العلم تحميل الملفات حاول يمكن في بعض الأحيان أن تساعد في تصحيح ايجابيات كاذبة، إذا كان هذا هو الشيء الذي كثيرا ما يحدث لك. إلى تعطيل وظيفة العزل، ببساطة مغادرة "quarantine_key" التوجيه فارغة، أو مسح محتويات هذا التوجيه إذا لم يكن خاليا بالفعل. لتمكين وظيفة العزل، وإدخال قيمة في التوجيه. و "quarantine_key" هي ميزة أمنية مهمة من وظائف الحجر الصحي المطلوبة كوسيلة لمنع وظيفة الحجر الصحي من أن تستغل من قبل المهاجمين المحتملين، وكوسيلة لمنع أي احتمال تنفيذ البيانات المخزنة داخل الحجر الصحي. و "quarantine_key" ينبغي أن يعامل بنفس الطريقة التي يعامل بها كلمات السر الخاصة بك: وكلما كان ذلك أفضل، وحراسته مشددة. للحصول على أفضل تأثير، استخدم بالتزامن مع "delete_on_sight".
  • -
- -#####
"quarantine_max_filesize"
-
    -
  • الحد الأقصى لحجم الملف المسموح به من الملفات للحجر الصحي. لن يكون الحجر الصحي الملفات أكبر من القيمة المحددة. هذا التوجيه لا يقل أهمية عن وسيلة لجعل الأمر أكثر صعوبة لأي مهاجمين محتملين لإغراق الحجر الصحي الخاص مع البيانات غير المرغوب فيها مما يمكن أن يسبب استخدام البيانات التشغيل بعيدا عن خدمة الاستضافة. الافتراضي = 2MB.
  • -
- -#####
"quarantine_max_usage"
-
    -
  • الحد الأقصى لاستخدام الذاكرة يسمح للحجر الصحي. إذا كان إجمالي الذاكرة المستخدمة من قبل الحجر الصحي تصل هذه القيمة، سيتم حذف أقدم الملفات المعزولة حتى الذاكرة الإجمالية المستخدمة لم تعد تصل هذه القيمة. هذا التوجيه لا يقل أهمية عن وسيلة لجعل الأمر أكثر صعوبة لأي مهاجمين محتملين لإغراق الحجر الصحي الخاص مع البيانات غير المرغوب فيها مما يمكن أن يسبب استخدام البيانات التشغيل بعيدا عن خدمة الاستضافة. الافتراضي = 64MB.
  • -
- -#####
"quarantine_max_files"
-
    -
  • الحد الأقصى لعدد الملفات التي يمكن أن توجد في وحدة العزل. عند إضافة ملفات جديدة إلى وحدة العزل، إذا تم تجاوز هذا الرقم، فسيتم حذف الملفات القديمة حتى لا يتجاوز الجزء المتبقي هذا الرقم. الافتراضي = 100.
  • -
- -#####
"honeypot_mode"
-
    -
  • عند تمكين وضع مصيدة، و phpMussel محاولة لعزل كل تحميل ملف واحد أن يواجه، بغض النظر عن ما إذا كان أو لم يكن ملف يتم تحميلها يطابق أي وشملت التوقيعات، وسوف لا المسح الفعلي أو تحليل لتلك تحميل الملفات حاول أن يحدث في الواقع. وينبغي أن تكون هذه الوظيفة مفيدة لأولئك الذين يرغبون في استخدام phpMussel لأغراض فيروس / بحث عن البرامج الضارة، ولكن هذا لا يوصى لتمكين هذه الوظيفة إذا كان الغرض من استخدام phpMussel من قبل المستخدم هو الفعلي إيداع ملف المسح، ولا ينصح لاستخدام وظائف مصيدة لأغراض أخرى غير honeypotting. افتراضيا، يتم تعطيل هذا الخيار. زائفة/False = معطل [الافتراضي]. = الحقيقية تمكين.
  • -
- -#####
"scan_cache_expiry"
-
    -
  • إلى متى يجب أن phpMussel تخزين نتائج المسح؟ القيمة هي عدد الثواني لتخزين نتائج المسح ل. الافتراضي هو 21600 ثانية (6 ساعات)؛ وقيمة 0 تعطيل التخزين المؤقت نتائج المسح.
  • -
- -#####
"disable_cli"
-
    -
  • وضع تعطيل CLI؟ يتم تمكين وضع CLI افتراضيا، ولكن يمكن أن تتداخل أحيانا مع بعض أدوات الاختبار (مثل PHPUnit، على سبيل المثال) وغيرها من التطبيقات القائمة على المبادرة القطرية. إذا كنت لا تحتاج إلى تعطيل وضع CLI، يجب تجاهل هذا التوجيه. خطأ = تمكين وضع CLI [الافتراضي]. صحيح/True = وضع تعطيل CLI.
  • -
- -#####
"disable_frontend"
-
    -
  • تعطيل وصول front-end؟ وصول front-end يستطيع جعل phpMussel أكثر قابلية للإدارة، ولكن يمكن أيضا أن تكون مخاطر أمنية محتملة. من المستحسن لإدارة phpMussel عبر back-end متى أمكن، لكن وصول front-end متوفر عندما لم يكن ممكنا. يبقيه المعوقين إلا إذا كنت في حاجة إليها. زائفة/False = تمكين وصول front-end؛ صحيح/True = تعطيل وصول front-end [الافتراضي].
  • -
- -#####
"max_login_attempts"
-
    -
  • الحد الأقصى لعدد محاولات تسجيل الدخول (front-end). الافتراضي = 5.
  • -
- -#####
"frontend_log"
-
    -
  • v1: "FrontEndLog"
  • -
  • ملف لتسجيل محاولات الدخول الأمامية. تحديد اسم الملف، أو اتركه فارغا لتعطيل.
  • -
- -#####
"disable_webfonts"
-
    -
  • هل تريد تعطيل ويبفونتس؟ صحيح/True = نعم [افتراضي]؛ زائفة/False = لا.
  • -
- -#####
"maintenance_mode"
-
    -
  • هل تريد تمكين وضع الصيانة؟ صحيح/True = نعم؛ زائفة/False = لا [افتراضي]. تعطيل كل شيء بخلاف front-end. قد تكون مفيدة أحيانا عند تحديث نظام إدارة المحتوى والأطر وما إلى ذلك.
  • -
- -#####
"default_algo"
-
    -
  • يحدد الخوارزمية التي سيتم استخدامها لكل كلمات المرور والجلسات المستقبلية. خيارات: PASSWORD_DEFAULT (افتراضي)، PASSWORD_BCRYPT، PASSWORD_ARGON2I (يتطلب PHP >= 7.2.0)، PASSWORD_ARGON2ID (يتطلب PHP >= 7.3.0).
  • -
- -#####
"statistics"
-
    -
  • هل تريد تتبع إحصاءات استخدام phpMussel؟ صحيح/True = نعم؛ زائفة/False = لا [افتراضي].
  • -
- -#####
"hide_version"
-
    -
  • إخفاء معلومات الإصدار من السجلات وإخراج الصفحة؟ صحيح/True = نعم؛ زائفة/False = لا [افتراضي].
  • -
- -#####
"disabled_channels"
-
    -
  • يمكن استخدام هذا لمنع phpMussel من استخدام قنوات معينة عند إرسال الطلبات (على سبيل المثال، عند التحديث، عند جلب بيانات تعريف المكون، إلخ).
  • -
- -#####
"default_timeout"
-
    -
  • المهلة الافتراضية لاستخدامها للطلبات الخارجية؟ الافتراضي = 12 ثانية.
  • -
- -####
"signatures" (التصنيف)
-
تكوين التوقيعات.

- -#####
"active"
-
    -
  • v1: "Active"
  • -
  • قائمة من الملفات توقيع النشطة، محدد بفواصل.
  • -
- -
ملحوظة:
    -
  • يجب أولاً تثبيت ملفات التوقيع، قبل أن تتمكن من تنشيطها.
  • -
  • لكي تعمل ملفات الاختبار بشكل صحيح، يجب تثبيت ملفات التوقيع وتنشيطها.
  • -
  • يتم تخزين قيمة هذا التوجيه في ذاكرة التخزين المؤقت. بعد تغييرها، لتصبح التغييرات سارية المفعول، قد تحتاج إلى حذف ذاكرة التخزين المؤقت.
  • -
- -#####
"fail_silently"
-
    -
  • هل يجب على phpMussel الابلاغ عندما يتم توقيع ملفات مفقودة أو تالفة؟ إذا كان "fail_silently" المعوقين، في عداد المفقودين وسيتم الإبلاغ عن ملفات فساد في المسح، وإذا "fail_silently" تمكين، في عداد المفقودين وسيتم تجاهل ملفات فساد، مع مسح الإبلاغ عن تلك الملفات أنه لا توجد أي مشاكل. وهذا ين بغي عموما أن تترك وحدها إلا إذا كنت تعاني من أعطال أو مشاكل مشابهة. خطأ = معطل. صحيح/True = ممكن [افتراضي].
  • -
- -#####
"fail_extensions_silently"
-
    -
  • هل يجب على phpMussel الابلاغ عندما تفقد الملحقات؟ إذا تم تعطيل "fail_extensions_silently"، وسيتم إبلاغ ملحقات مفقودة على المسح، وإذا تم تمكين "fail_extensions_silently"، سيتم تجاهل ملحقات المفقودة، مع مسح الإبلاغ عن تلك الملفات أنه لا توجد أي مشاكل. تعطيل هذا التوجيه قد يحتمل زيادة الأمان، ولكن قد يؤدي أيضا إلى زيادة من ايجابيات كاذبة. خطأ = معطل. صحيح/True = ممكن [افتراضي].
  • -
- -#####
"detect_adware"
-
    -
  • هل يجب على توقيعات phpMussel الكشف عن تجسس؟ زائفة/False = لا؛ صحيح/True = نعم [افتراضي].
  • -
- -#####
"detect_joke_hoax"
-
    -
  • هل يجب على توقيعات phpMussel الكشف عن خدعة البرمجيات الخبيثة / الفيروسات؟ زائفة/False = لا؛ صحيح/True = نعم [افتراضي].
  • -
- -#####
"detect_pua_pup"
-
    -
  • هل يجب على توقيعات phpMussel الكشف عن PUAs؟ زائفة/False = لا؛ صحيح/True = نعم [افتراضي].
  • -
- -#####
"detect_packer_packed"
-
    -
  • هل يجب على توقيعات phpMussel الكشف عن تعبئة والبيانات المعبأة؟ زائفة/False = لا؛ صحيح/True = نعم [افتراضي].
  • -
- -#####
"detect_shell"
-
    -
  • هل يجب على توقيعات phpMussel الكشف عن البرامج النصية قذيفة؟ زائفة/False = لا؛ صحيح/True = نعم [افتراضي].
  • -
- -#####
"detect_deface"
-
    -
  • هل يجب على توقيعات phpMussel الكشف عن مهاجمات وdefacers؟ زائفة/False = لا؛ صحيح/True = نعم [افتراضي].
  • -
- -#####
"detect_encryption"
-
    -
  • يجب phpMussel كشف ومنع الملفات المشفرة؟ زائفة/False = لا؛ صحيح/True = نعم [افتراضي].
  • -
- -####
"files" (التصنيف)
-
ملف التعامل مع التكوين.

- -#####
"max_uploads"
-
    -
  • العدد الأقصى المسموح به من ملفات لمسح أثناء تحميل الملفات مسح قبل إحباط عملية الفحص وإعلام المستخدم أنهم تحميل أكثر من اللازم في وقت واحد! يوفر الحماية ضد هجوم النظري حيث يحاول أحد المهاجمين دوس النظام الخاص بك أو CMS من الحمولة الزائدة phpMussel إلى إبطاء عملية PHP لوقف طحن. الموصى بها: 10. أنت قد ترغب في رفع أو خفض هذا الرقم اعتمادا على سرعة الجهاز. لاحظ أن هذا الرقم لا يأخذ في الحسبان أو تتضمن محتويات المحفوظات.
  • -
- -#####
"filesize_limit"
-
    -
  • حدود حجم الملف بالكيلو بايت. 65536 = 64MB [افتراضي]. 0 = لا يوجد حد (greylisted دائما)، أي (إيجابية) قيمة رقمية قبلت. هذا يمكن أن يكون مفيدا عندما يحد التكوين الخاص بي مقدار الذاكرة عملية يمكن أن تعقد أو إذا كان لديك PHP حدود التكوين حجم الملف من الإضافات.
  • -
- -#####
"filesize_response"
-
    -
  • ماذا تفعل مع الملفات التي تتجاوز الحد الأقصى لحجم الملف (إن وجد). زائفة/False = القائمة البيضاء. صحيح/True = القائمة السوداء [افتراضي].
  • -
- -#####
"filetype_whitelist"، "filetype_blacklist"، "filetype_greylist"
-
    -
  • إذا كان النظام يسمح فقط أنواع معينة من الملفات المراد تحميلها، أو إذا كان النظام ينفي صراحة أنواع معينة من الملفات، تحديد تلك نوع الملف في قوائم بيضاء، القوائم السوداء و القوائم الرمادية يمكن أن تزيد من السرعة التي يتم تنفيذ المسح من خلال السماح للبرنامج بتخطي بعض أنواع الملفات. الشكل هو CSV (قيم مفصولة بفواصل). إذا كنت ترغب في مسح كل شيء، وليس من القائمة البيضاء، القائمة السوداء أو القائمة الرمادية، وترك المتغير (/ ث) فارغة. وبذلك تعطيل القائمة البيضاء / السوداء / القائمة الرمادية.
  • -
  • الترتيب المنطقي للمعالجة هو:
  • -
      -
    • إذا نوع الملف موجود في القائمة البيضاء، لا يفحص ولا تحجب الملف، وعدم التدقيق في ملف ضد القائمة السوداء أو القائمة الرمادية.
    • -
    • إذا نوع الملف موجود في القائمة السوداء، لا تفحص الملف ولكن منع ذلك على أي حال، وعدم التدقيق في ملف ضد قائمة رمادية.
    • -
    • إذا كانت قائمة رمادية فارغة أو إذا كانت قائمة رمادية ليس فارغا من نوع الملف، مسح الملفات حسب طبيعتها وتحديد ما إذا كان لمنع ذلك بناء على نتائج الفحص، ولكن إذا كانت قائمة رمادية ليس فارغا ونوع الملف هو ليس ملف قائمة رمادية، معالجة الملف على القائمة السوداء، لذلك لا المسح الضوئي ولكن منع ذلك على أي حال.
    • -
    -
- -#####
"check_archives"
-
    -
  • محاولة للتحقق من محتويات المحفوظات؟ = كاذبة لا تحقق. صحيح/True = افحص [افتراضي].
  • -
- - 
شكل
|  
يمكن قراءة
|  
يمكن قراءة بشكل متكرر
|  
يمكن الكشف عن التشفير
|  
ملاحظات
----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ |  
يتطلب libzip (عادة المجمعة مع PHP على أي حال). مدعوم أيضًا (يستخدم تنسيق zip): ✔️ الكشف عن كائن OLE. ✔️ الكشف عن ماكرو في Office.
-Tar | ✔️ | ✔️ | ➖ |  
لا يوجد متطلبات خاصة. التنسيق لا يدعم التشفير.
-Rar | ✔️ | ✔️ | ✔️ |  
يتطلب الملحق rar (عند عدم تثبيت هذا الامتداد، يتعذر على phpMussel قراءة ملفات rar).
-Phar | ❌ | ❌ | ❌ |  
تمت إزالة دعم قراءة ملفات phar في الإصدار 1.6.0، ولن تتم إضافته مرة أخرى، نظرًا لوجود مخاوف أمنية.
- -
إذا كان أي شخص قادرًا ومستعدًا للمساعدة في تنفيذ الدعم لقراءة تنسيقات الأرشيفات الأخرى، فسيتم الترحيب بهذه المساعدة.

- -#####
"filesize_archives"
-
    -
  • ترحيل حجم ملف القائمة السوداء / قائمة بيضاء لمحتويات المحفوظات؟ زائفة/False = لا (فقط كل ما يدرجون)؛ صحيح/True = نعم [افتراضي].
  • -
- -#####
"filetype_archives"
-
    -
  • ترحيل نوع الملف القائمة السوداء / القائمة البيضاء لمحتويات المحفوظات؟ زائفة/False = لا (فقط كل ما يدرجون) [افتراضي]. صحيح/True = نعم.
  • -
- -#####
"max_recursion"
-
    -
  • الحد الأقصى لإعادة الحد الأقصى لعمق المحفوظات. افتراضي = 3.
  • -
- -#####
"block_encrypted_archives"
-
    -
  • كشف ومنع تشفير المحفوظات؟ لأن phpMussel ليست قادرة على مسح محتويات المحفوظات مشفرة، فمن الممكن أن التشفير أرشيف يجوز توظيف من قبل مهاجم كوسيلة لمحاولة تجاوز phpMussel، والماسحات الضوئية مكافحة الفيروسات وغيرها من مثل هذه الحماية. يمكن أن تعليمات phpMussel لمنع أي المحفوظات التي كان تكتشف لتكون مشفرة المحتمل أن يساعد على الحد من أي مخاطر المرتبطة بهذه مثل هذه الاحتمالات. زائفة/False = لا؛ صحيح/True = نعم [افتراضي].
  • -
- -#####
"max_files_in_archives"
-
    -
  • الحد الأقصى لعدد الملفات المطلوب مسحها من داخل الأرشيف قبل إحباط الفحص. افتراضي = 0 (ليس أي حد أقصى).
  • -
- -####
"attack_specific" (التصنيف)
-
تعليمات للهجوم المحدد.

- -
الكشف عن الهجوم المتقلب: صحيح/True = على. زائفة/False = إيقاف.

- -#####
"chameleon_from_php"
-
    -
  • البحث عن العنوان PHP في الملفات التي ليست ملفات PHP و لا المحفوظات معترفة بها.
  • -
- -#####
"can_contain_php_file_extensions"
-
    -
  • قائمة ملحقات الملفات المسموح بها تحتوي على شفرة PHP، مفصولة بفواصل. إذا تم تمكين الكشف عن هجوم حرباء PHP، فسيتم الكشف عن الملفات التي تحتوي على كود PHP، والتي تحتوي على ملحقات ليست موجودة في هذه القائمة، على أنها هجمات حرباء على PHP.
  • -
- -#####
"chameleon_from_exe"
-
    -
  • البحث عن العناوين قابلة للتنفيذ في الملفات التي ليست التنفيذية ولا المحفوظات المعترف بها والقابلة للتنفيذ التي هي العناوين غير صحيحة.
  • -
- -#####
"chameleon_to_archive"
-
    -
  • اكتشاف رؤوس غير صحيحة في الأرشيفات والملفات المضغوطة. المدعومة: BZ/BZIP2، GZ/GZIP، LZF، RAR، ZIP
  • -
- -#####
"chameleon_to_doc"
-
    -
  • البحث عن المستندات التي عناوينها غير صحيحة (المدعومة: DOC، وزارة النقل، PPS، PPT، XLA، XLS، WIZ).
  • -
- -#####
"chameleon_to_img"
-
    -
  • البحث عن الصور التي عناوينها غير صحيحة (المدعومة: BMP، DIB، PNG، GIF، JPEG، JPG، XCF، PSD، PDD، WEBP).
  • -
- -#####
"chameleon_to_pdf"
-
    -
  • البحث عن الملفات PDF التي عناوينها غير صحيحة.
  • -
- -#####
"archive_file_extensions"
-
    -
  • ملحقات ملفات الأرشيف المعترف بها (الشكل هو CSV، وينبغي فقط إضافة أو إزالة عندما تحدث المشاكل؛ إزالة دون داع قد يسبب ايجابيات كاذبة لتظهر لملفات الأرشيف، في حين اضاف داع سوف القائمة البيضاء أساسا ما كنت تقوم بإضافة من كشف المحدد الهجوم؛ تعديل مع الحذر، لاحظ أيضا أن هذا ليس له تأثير على ما المحفوظات يمكن ولا يمكن تحليلها على مستوى المحتوى). القائمة، كما هو في التقصير، يسرد تلك الأشكال الأكثر شيوعا في غالبية النظم واتفاقية الأنواع المهاجرة، ولكن عمدا ليست شاملة بالضرورة.
  • -
- -#####
"block_control_characters"
-
    -
  • حظر أي ملفات تحتوي على أي أحرف التحكم (عدا أسطر جديدة)؟ ("[\x00-\x08\x0b\x0c\x0e\x1f\x7f]") إذا كنت فقط تحميل نص عادي، ثم يمكنك تشغيل هذا الخيار لتوفير بعض الحماية إضافية على النظام الخاص بك. ومع ذلك، إذا قمت بتحميل أي شيء آخر غير نص عادي، وتحول هذا على قد يؤدي إلى ايجابيات كاذبة. زائفة/False = كاذبة لا منع [افتراضي]. صحيح/True = بلوك.
  • -
- -#####
"corrupted_exe"
-
    -
  • تلف الملفات وتحليل الأخطاء. خطأ = تجاهل. صحيح/True = كتلة [افتراضي]. كشف ومنع الملفات المحتمل تلف PE (محمول قابل للتنفيذ)؟ في كثير من الأحيان (ولكن ليس دائما)، عندما تلف جوانب معينة من ملف PE أو لا يمكن تحليله بشكل صحيح، فإنه يمكن أن يكون مؤشرا على وجود عدوى فيروسية. العمليات المستخدمة من قبل معظم برامج مكافحة الفيروسات للكشف عن الفيروسات في ملفات PE تتطلب تحليل تلك الملفات بطرق معينة والتي إذا كان مبرمج للفيروس هو على علم، ومحاولة خصيصا لمنع، من أجل السماح للفيروس لتبقى غير مكتشفة .
  • -
- -#####
"decode_threshold"
-
    -
  • الحد الأقصى لطول البيانات الخام من خلاله أن يتم الكشف عن أوامر فك (في حالة وجود أي مشكلات في الأداء ملحوظة أثناء المسح). افتراضي = 512KB. صفر أو قيمة فارغة تعطيل عتبة (إزالة مثل هذا القيد على أساس حجم الملف).
  • -
- -#####
"allow_leading_trailing_dots"
-
    -
  • السماح النقاط الرائدة والزائدة في أسماء الملفات؟ يمكن استخدام هذا أحيانًا لإخفاء الملفات أو خداع بعض الأنظمة للسماح بدخول الدليل. زائفة/False = لا تسمح [افتراضي]. صحيح/True = السماح.
  • -
- -#####
"block_macros"
-
    -
  • حاول حظر أي ملفات تحتوي على وحدات ماكرو؟ قد تحتوي بعض أنواع المستندات وجداول البيانات على وحدات ماكرو قابلة للتنفيذ، وبالتالي توفير ناقلات برامج ضارة محتملة خطيرة. زائفة/False = لا تمنع [افتراضي]. صحيح/True = تمنع.
  • -
- -#####
"scannable_threshold"
-
    -
  • الحد الأقصى لطول البيانات الخام التي يسمح phpMussel لقراءة ومسح (في حالة وجود أي مشكلات في الأداء ملحوظة أثناء المسح). افتراضي = 32MB. صفر أو قيمة فارغة تعطيل العتبة. عموما، يجب أن لا تكون هذه القيمة أقل من متوسط حجم الملف من تحميل الملفات التي تريد وتتوقع الحصول على الخادم الخاص بك أو الموقع، لا ينبغي أن يكون أكثر من التوجيه filesize_limit، ويجب أن لا يكون خامس أكثر من ما يقرب من واحد من مجموع تخصيص الذاكرة المسموح منح لPHP عن طريق ملف التكوين "php.ini". هذا التوجيه موجود في محاولة لمنع phpMussel من استخدام ما يصل الكثير من الذاكرة (التي تريد منعها من أن تكون قادرة على مسح بنجاح الملفات فوق حجم الملف معين).
  • -
- -####
"compatibility" (التصنيف)
-
تعليمات التوافق مع phpMussel.

- -#####
"ignore_upload_errors"
-
    -
  • يجب أن يكون هذا التوجيه عموما هو تعطيل ما لم تصبح مطلوبة حصول على الوظائف الصحيحة لـ phpMussel على النظام الخاص بك محددة. عادة، عندما يكون في وضع تعطيل، عندما يكتشف phpMussel وجود عناصر في مجموعة $_FILES، وأنها سوف محاولة لبدء فحص الملفات التي تمثل تلك العناصر، وإذا كانت تلك العناصر هي فارغة أو فارغة، سوف phpMussel العودة رسالة خطأ. هذا هو السلوك الصحيح للـ phpMussel. ومع ذلك، بالنسبة لبعض CMS، العناصر الفارغة في $_FILES يمكن أن تحدث نتيجة لسلوك طبيعي لتلك CMS، أو أخطاء قد يتم الإعلام عندما لم تكن هناك أي، في هذه الحالة، السلوك العادي للphpMussel سوف تتدخل مع السلوك العادي من تلك CMS. في حال حدوث مثل هذه الحالة بالنسبة لك، تمكين هذا الخيار سوف يكلف phpMussel ليست محاولة لبدء المسح الضوئي لمثل هذه العناصر الفارغة، تجاهلها عندما وجدت وعدم إعادة أي رسائل خطأ ذات الصلة، مما يتيح استمرار طلب الصفحة. زائفة/False = أطفئ؛ صحيح/True = تشغيل.
  • -
- -#####
"only_allow_images"
-
    -
  • عند التعيين على true، أي ملفات ليست صورًا واجهها الماسح الضوئي سيتم وضع علامة على الفور، دون أن يتم فحصها. قد يساعد هذا في تقليل الوقت اللازم لإكمال الفحص في بعض الحالات. تعيين على false بشكل افتراضي.
  • -
- -####
"heuristic" (التصنيف)
-
تعليمات الكشف عن مجريات الأمور.

- -#####
"threshold"
-
    -
  • هناك توقيعات معينة من phpMussel التي تهدف إلى تحديد الصفات المشبوهة والمحتمل أن تكون ضارة من الملفات التي يتم تحميلها دون في أنفسهم تحديد تلك الملفات التي تم تحميلها على وجه التحديد بأنها خبيثة. هذه القيمة "الحد الأقصى " تقول phpMussel ما الحد الأقصى للوزن الكلي من الصفات المشبوهة والمحتمل أن تكون ضارة من الملفات التي يتم تحميلها هذا المسموح به هو قبل تلك الملفات ليتم وضع علامة بأنها خبيثة. تعريف الوزن في هذا السياق هو العدد الإجمالي من الصفات المشبوهة والمحتمل أن تكون ضارة تحديدها. افتراضيا، سيتم تعيين هذه القيمة إلى 3. القيمة المنخفضة عموما سوف يؤدي إلى حدوث أعلى من ايجابيات كاذبة ولكن عددا أكبر من الملفات الخبيثة التي لوحت، في حين أن أعلى قيمة عموما سوف يؤدي إلى حدوث انخفاض من ايجابيات كاذبة ولكن انخفاض عدد الملفات الخبيثة التي توضع. انها عموما من الأفضل ترك هذه القيمة في الافتراضي إلا إذا كنت تعاني من مشاكل المتعلقة بها.
  • -
- -####
"virustotal" (التصنيف)
-
تعليمات VirusTotal.com.

- -#####
"vt_public_api_key"
-
    -
  • اختياريا، phpMussel غير قادرة على مسح الملفات باستخدام الفيروسات مجموع API كوسيلة لتوفير مستوى تتعزز بشكل كبير من الحماية ضد الفيروسات، و ملفات التجسس، والبرمجيات الخبيثة وغيرها من التهديدات. افتراضيا، ملفات المسح الضوئي باستخدام الفيروسات مجموع API يتم تعطيل. لتمكينه، لا بد من وضع مفتاح API من الفيروسات إجمالي. ويرجع ذلك إلى فائدة كبيرة أن هذا يمكن أن توفر لك، هذا شيء أنا أوصي تمكين. يرجى أن يكون على علم، مع ذلك، أن استخدام الفيروسات مجموع API، التي يجب أن تتوافق مع شروط الخدمة، ويجب أن تلتزم جميع المبادئ التوجيهية حسب وصفه الفيروسات مجموع الوثائق! لا يجوز لك استخدام هذه الميزة التكامل ما لم:
  • -
      -
    • لقد قرأت ووافقت على شروط الخدمة من فيروس توتال و API لها. شروط الخدمة من فيروس توتال و API ليمكن العثور عليها هنا.
    • -
    • لقد قرأت وفهمت، كحد أدنى، ديباجة الفيروسات وثائق API ملفه مجموع (كل شيء بعد "VirusTotal Public API v2.0" ولكن قبل "Contents"). يمكن العثور على وثائق Virus Total API هنا.
    • -
    -
- -
ملاحظة: إذا مسح الملفات باستخدام فيروس معطل مجموع API، فلن تحتاج إلى مراجعة أي من توجيهات في هذه الفئة ("virustotal")، لأن أيا منهم سوف تفعل أي شيء إذا تم تعطيل هذا. للحصول على الفيروسات مجموع مفتاح API، من أي مكان على موقعه على الانترنت، انقر على الرابط "تاريخ جماعتنا " التي تقع نحو الجزء العلوي الأيسر من الصفحة، أدخل المعلومات المطلوبة، ثم انقر على "اشترك" عند الانتهاء. اتباع جميع التعليمات المرفقة، وعندما كنت قد حصلت على مفتاح API العام، نسخ/لصق هذا المفتاح API العام إلى توجيه "vt_public_api_key" من "config.ini" ملف التكوين.

- -#####
"vt_suspicion_level"
-
    -
  • افتراضيا، سوف يقوم phpMussel بتقييد الملفات التي تقوم بمسح باستخدام الفيروسات API الكلي لتلك الملفات التي تعتبرها "المشبوهة". يمكنك ضبط اختياريا هذا التقييد عن طريق تغيير قيمة التوجيه "vt_suspicion_level".
  • -
  • "0": تعتبر الملفات فقط مشبوهة إذا، عند مسحها بواسطة phpMussel باستخدام التواقيع الخاصة بها، وتعتبر أنها لحمل الوزن الكشف عن مجريات الأمور. وهذا يعني عمليا أن استخدام الفيروسات أن مجموع API يكون للرأي ثان لأنه عندما يشتبه phpMussel أن ملف يحتمل أن تكون ضارة، ولكن لا يمكن استبعاد تماما إلى أنه قد يحتمل أيضا أن تكون حميدة (غير الخبيثة)، وبالتالي لولاها عادة لا يرفضها أو العلم بأنها خبيثة.
  • -
  • "1": تعتبر الملفات المشبوهة إذا، عند مسحها بواسطة phpMussel باستخدام التواقيع الخاصة بها، وتعتبر أنها لحمل الوزن الكشف عن مجريات الأمور، إذا كنت معروفة ليكون قابل للتنفيذ (ملفات PE، ملفات mach-o، ELF / لينكس، الخ)، أو إذا كنت معروفة لتكون ذات شكل التي يمكن أن تحتوي على بيانات قابلة للتنفيذ (مثل وحدات الماكرو القابلة للتنفيذ، DOC / ملفات DOCX، ملفات الأرشيف مثل RARS، الكود البريدية وغيرها). هذا هو مستوى الشكوك الافتراضية وأوصت للتطبيق، وهذا يعني فعليا أن استخدام الفيروسات أن مجموع API يكون للرأي ثان لأنه عندما phpMussel لا يجد في البداية أي شيء ضار أو خطأ في ملف أنها تعتبر أن تكون مشبوهة، وبالتالي سوف خلاف ذلك عادة لا يرفضها أو العلم بأنها خبيثة.
  • -
  • "2": تعتبر جميع الملفات المشبوهة ويجب أن يتم فحصها باستخدام الفيروسات مجموع API. أنا لا أوصي عموما تطبيق هذا المستوى الشك، نظرا لخطر الوصول إلى الحصة API بشكل أسرع مما سيكون عليه الحال كثيرا، ولكن هناك ظروف معينة (مثل عندما المسئول عن الموقع أو المضيف لديها القليل جدا من الإيمان أو الثقة على الإطلاق في أي من المحتويات التي يتم تحميلها من مستخدميها) حيث هذا المستوى شك يمكن أن يكون مناسبا. مع هذا المستوى الشك، كل الملفات لا يتم حظر عادة أو ترفع العلم بأنها خبيثة سيتم مسحها ضوئيا باستخدام الفيروسات مجموع API. نلاحظ مع ذلك، أن phpMussel والتوقف عن استخدام الفيروسات API الكلي عندما تم التوصل إلى الحصص API الخاص بك (بغض النظر عن مستوى الشك)، والتي من المرجح أن يتم التوصل الحصص بشكل أسرع بكثير عند استخدام هذا المستوى الشك.
  • -
- -
ملاحظة: بغض النظر عن مستوى الشبهات، لن يتم فحصها أي الملفات التي إما أن تكون على القائمة السوداء أو التي أدرجها phpMussel باستخدام الفيروسات مجموع API، لان لقد أعلن هؤلاء مثل هذه الملفات بالفعل إما خبيثة أو حميدة من قبل phpMussel بحلول الوقت الذي كانوا لظل ذلك تم فحصها من قبل الفيروسات مجموع API، وبالتالي لن تكون هناك حاجة مسح إضافي. والقصد من قدرة phpMussel لمسح الملفات باستخدام الفيروسات مجموع API لبناء المزيد من الثقة لما إذا كان ملف خبيث أو حميد في هذه الظروف حيث phpMussel نفسها ليس من المؤكد تماما ما إذا كان ملف خبيث أو حميد.

- -#####
"vt_weighting"
-
    -
  • هل phpMussel يطبق نتائج المسح باستخدام الفيروسات مجموع API كما المكتشفة أو الممكن كشفها؟ يوجد هذا التوجيه لأنه على الرغم من أن مسح ملف باستخدام محركات متعددة (كما فايروس توتال لا) ينبغي أن يؤدي في معدل اكتشاف زيادة (وبالتالي في عدد أكبر من الملفات الخبيثة الوقوع)، فإنه يمكن أن يؤدي أيضا إلى ارتفاع عدد كاذبة الإيجابيات، وبالتالي، في بعض الظروف، فإن نتائج المسح يمكن الاستفادة بشكل أفضل كما على درجة الثقة بدلا من أن تكون نتيجة محددة. إذا تم استخدام قيمة 0، سيتم تطبيق نتائج المسح باستخدام الفيروسات مجموع API كما المكتشفة و بالتالي إذا أي محرك تستخدم من قبل الفيروسات مجموع أعلام الملف تم مسحها ضوئيا بأنها خبيثة، وphpMussel النظر في الملف إلى تكون ضارة. إذا تم استخدام أي قيمة أخرى، سيتم تطبيق نتائج المسح باستخدام الفيروسات مجموع API كما الترجيح الكشف و بالتالي فإن عدد من المحركات المستخدمة من قبل الفيروسات إجمالي هذا العلم الملف تم مسحها ضوئيا بأنها خبيثة سيكون بمثابة نتيجة الثقة (أو الترجيح الكشف) عن ما إذا كان ملف تم مسحها ضوئيا ينبغي النظر الخبيثة التي كتبها phpMussel (القيمة المستخدمة سيمثل الحد الأدنى من الثقة يسجل أو الوزن المطلوب من أجل أن تعتبر ضارة). يتم استخدام قيمة 0 افتراضيا.
  • -
- -#####
"vt_quota_rate" و "vt_quota_time"

-
    -
  • استنادا إلى وثائق الفيروسات الكلي API، "فإنه يقتصر على الأكثر 4 طلبات من أي نوع في أي إطار زمني معين 1 دقيقة. إذا قمت بتشغيل honeyclient، مصيدة أو أي أتمتة الآخر الذي يجري لتوفير الموارد اللازمة لفايروس توتال ولا استرداد فقط تقارير يحق لك الحصول على أعلى حصص معدلات الطلب". افتراضيا، سوف phpMussel الالتزام الصارم لهذه القيود، ولكن نظرا لإمكانية هذه الحصص نسبة تجري زيادة، وتقدم هذه التوجيهات اثنين كوسيلة لتتمكن من إرشاد phpMussel على ما الحد الأقصى ينبغي أن تلتزم بها. إلا إذا كنت قد أعطيت تعليمات للقيام بذلك، فإنه من غير المستحسن بالنسبة لك لزيادة هذه القيم و لكن إذا كنت قد واجهت مشاكل تتعلق الوصول الحصص الخاصة بك، وخفض هذه القيم قد يساعد في بعض الأحيان كنت في التعامل مع هذه المشاكل. يتم تحديد الحد الأقصى معدل حسابك عن طلبات "vt_quota_rate" من أي نوع في أي إطار "vt_quota_time" الوقت دقيقة معين.
  • -
- -####
"urlscanner" (التصنيف)
-
مدمج في phpMussel هو ماسح URL، قادر على الكشف عن عناوين المواقع الخبيثة من داخل أي بيانات أو ملفات تم فحصها.

- -
ملاحظة: إذا تم تعطيل فحص URL، فلن تحتاج إلى مراجعة أي من توجيهات في هذه الفئة ("urlscanner")، لأن لا احد منهم سوف تفعل أي شيء إذا تم تعطيل هذا.

- -
تكوين بحث API في فحص URL.

- -#####
"google_api_key"
-
    -
  • تمكين عمليات بحث API إلى API التصفح الآمن من Google عندما يتم تعريف مفتاح API الضروري. التصفح الآمن في جوجل: عمليات البحث API بحاجة إلى مفتاح API، والتي يمكن الحصول عليها من هنا.
  • -
  • ملاحظة: مطلوب تمديد cURL من أجل استخدام هذه الميزة.
  • -
- -#####
"maximum_api_lookups"
-
    -
  • العدد الأقصى المسموح به من عمليات بحث واجهة برمجة التطبيقات لأداء في تكرار المسح الفردية. لأن كل بحث API إضافية سوف يضيف إلى الوقت الإجمالي المطلوب لإكمال كل تكرار المسح، قد ترغب في اشتراط وجود قيود من أجل الإسراع في عملية المسح الشاملة. عند تعيينها إلى 0، سيتم تطبيق الحد الأقصى لا هذا العدد المسموح به. تعيين إلى 10 افتراضيا.
  • -
- -#####
"maximum_api_lookups_response"
-
    -
  • ماذا تفعل إذا تم تجاوز الحد الأقصى المسموح به من عمليات بحث API؟ = كاذبة لا تفعل شيئا (متابعة المعالجة) [افتراضي]. صحيح/True = تحديد الملف.
  • -
- -#####
"cache_time"
-
    -
  • متى (بالثواني) يجب التوصل إلى نتائج عمليات بحث API؟ الافتراضي هو 3600 ثانية (1 ساعة).
  • -
- -####
"legal" (التصنيف)
-
التكوين المتعلق بالمتطلبات القانونية.

- -
لمزيد من المعلومات حول المتطلبات القانونية وكيف يمكن أن يؤثر ذلك على متطلبات التهيئة الخاصة بك، يرجى الرجوع إلى قسم المعلومات القانونية من الوثائق.

- -#####
"pseudonymise_ip_addresses"
-
    -
  • إخفاء عناوين IP عند كتابة السجلات؟ صحيح/True = نعم [افتراضي]؛ زائفة/False = لا.
  • -
- -#####
"privacy_policy"
-
    -
  • عنوان سياسة الخصوصية ذات الصلة ليتم عرضها في تذييل الصفحات التي تم إنشاؤها. حدد عنوان URL، أو اتركه فارغًا لتعطيله.
  • -
- -####
"template_data" (التصنيف)
-
توجيهات/متغيرات القوالب والمواضيع.

- -
تتعلق البيانات بقالب انتاج HTML تستخدم لتوليد "رفض تحميل" الرسالة المعروضة للمستخدمين على تحميل ملف حجبها. إذا كنت تستخدم موضوعات مخصصة لـ phpMussel، هو مصدر إخراج HTML من ملف template_custom.html وغيرها، ويتم الحصول على إخراج HTML من ملف template.html. يتم تحليل المتغيرات الخطية لهذا القسم من ملف التكوين إلى إخراج HTML عن طريق استبدال أي أسماء المتغيرات محاط بواسطة الأقواس الموجودة داخل إخراج HTML مع البيانات المتغيرة المناظرة. فمثلا، أين foo="bar"، أي مثيل <p>{foo}</p> وجدت داخل إخراج HTML ستصبح <p>bar</p>.

- -#####
"theme"
-
    -
  • الموضوع الافتراضي لاستخدام phpMussel.
  • -
- -#####
"magnification"
-
    -
  • v1: "Magnification"
  • -
  • تكبير الخط. افتراضي = 1.
  • -
- -#####
"css_url"
-
    -
  • ملف الصيغة النموذجية للمواضيع مخصصة يستخدم خصائص CSS الخارجية، في حين أن ملف قالب لموضوع الافتراضي يستخدم خصائص CSS الداخلية. لإرشاد phpMussel لاستخدام ملف النموذجية للمواضيع مخصصة، تحديد عنوان HTTP العام من ملفات CSS موضوع المخصصة لديك باستخدام "css_url" متغير. إذا تركت هذا الحقل فارغا متغير، سوف يقوم phpMussel باستخدام ملف القالب لموضوع التقصير.
  • -
- -####
"PHPMailer" (التصنيف)
-
تكوين PHPMailer.

- -
حاليا، يستخدم phpMussel PHPMailer فقط من أجل 2FA. إذا لم تستخدم الواجهة الأمامية، أو إذا لم تستخدم 2FA، فيمكنك تجاهل هذه التوجيهات.

- -#####
"event_log"
-
    -
  • v1: "EventLog"
  • -
  • ملف لتسجيل جميع الأحداث المتعلقة ب PHPMailer. تحديد اسم الملف، أو اتركه فارغا لتعطيل.
  • -
- -#####
"skip_auth_process"
-
    -
  • v1: "SkipAuthProcess"
  • -
  • تعيين هذا التوجيه إلى true يرشد PHPMailer لتخطي عملية المصادقة التي تحدث عادة عند إرسال البريد الإلكتروني عبر SMTP. يجب تجنب هذا، لأن تخطي هذه العملية قد يعرض البريد الإلكتروني الصادر إلى هجمات MITM، ولكنه قد يكون ضروريًا في الحالات التي تمنع فيها هذه العملية من اتصال PHPMailer بخادم SMTP.
  • -
- -#####
"enable_two_factor"
-
    -
  • v1: "Enable2FA"
  • -
  • يحدد هذا التوجيه ما إذا كان سيتم استخدام 2FA للحسابات front-end أم لا.
  • -
- -#####
"host"
-
    -
  • v1: "Host"
  • -
  • مضيف SMTP الذي يستخدم للبريد الإلكتروني الصادر.
  • -
- -#####
"port"
-
    -
  • v1: "Port"
  • -
  • رقم المنفذ المراد استخدامه للبريد الإلكتروني الصادر. افتراضي = 587.
  • -
- -#####
"smtp_secure"
-
    -
  • v1: "SMTPSecure"
  • -
  • البروتوكول المستخدم عند إرسال البريد الإلكتروني عبر SMTP (TLS أو SSL).
  • -
- -#####
"smtp_auth"
-
    -
  • v1: "SMTPAuth"
  • -
  • يحدد هذا التوجيه ما إذا كنت تريد مصادقة جلسات SMTP (يجب ألا يغير هذا عادة).
  • -
- -#####
"username"
-
    -
  • v1: "Username"
  • -
  • اسم المستخدم لاستخدامه عند إرسال البريد الإلكتروني عبر SMTP.
  • -
- -#####
"password"
-
    -
  • v1: "Password"
  • -
  • كلمة المرور لاستخدامها عند إرسال البريد الإلكتروني عبر SMTP.
  • -
- -#####
"set_from_address"
-
    -
  • v1: "setFromAddress"
  • -
  • عنوان المرسل للاستشهاد عند إرسال البريد الإلكتروني عبر SMTP.
  • -
- -#####
"set_from_name"
-
    -
  • v1: "setFromName"
  • -
  • اسم المرسل للاستشهاد عند إرسال البريد الإلكتروني عبر SMTP.
  • -
- -#####
"add_reply_to_address"
-
    -
  • v1: "addReplyToAddress"
  • -
  • عنوان الرد للاستشهاد عند إرسال البريد الإلكتروني عبر SMTP.
  • -
- -#####
"add_reply_to_name"
-
    -
  • v1: "addReplyToName"
  • -
  • اسم الرد للاستشهاد عند إرسال البريد الإلكتروني عبر SMTP.
  • -
- -####
"supplementary_cache_options" (التصنيف)
-
خيارات ذاكرة التخزين المؤقت التكميلية.

- -#####
"prefix"
-
    -
  • سيتم إضافة القيمة المحددة هنا إلى جميع مفاتيح إدخال ذاكرة التخزين المؤقت. فارغ بشكل افتراضي. عند وجود عدة عمليات تثبيت على نفس الخادم، يمكن أن يكون ذلك مفيدًا للحفاظ على ذاكرة التخزين المؤقت منفصلة عن بعضها البعض.
  • -
- -#####
"enable_apcu"
-
    -
  • يحدد هذا ما إذا كنت تريد استخدام APCu للتخزين المؤقت. افتراضي = False (زائفة).
  • -
- -#####
"enable_memcached"
-
    -
  • يحدد هذا ما إذا كنت تريد استخدام Memcached للتخزين المؤقت. افتراضي = False (زائفة).
  • -
- -#####
"enable_redis"
-
    -
  • يحدد هذا ما إذا كنت تريد استخدام Redis للتخزين المؤقت. افتراضي = False (زائفة).
  • -
- -#####
"enable_pdo"
-
    -
  • يحدد هذا ما إذا كنت تريد استخدام PDO للتخزين المؤقت. افتراضي = False (زائفة).
  • -
- -#####
"memcached_host"
-
    -
  • قيمة المضيف Memcached. افتراضي = "localhost".
  • -
- -#####
"memcached_port"
-
    -
  • قيمة منفذ Memcached. افتراضي = "11211".
  • -
- -#####
"redis_host"
-
    -
  • قيمة المضيف Redis. افتراضي = "localhost".
  • -
- -#####
"redis_port"
-
    -
  • قيمة منفذ Redis. افتراضي = "6379".
  • -
- -#####
"redis_timeout"
-
    -
  • Redis قيمة المهلة. افتراضي = "2.5".
  • -
- -#####
"pdo_dsn"
-
    -
  • قيمة PDO DSN. افتراضي = "mysql:dbname=phpmussel;host=localhost;port=3306".
  • -
- -
(نرى: ما هو "PDO DSN"؟ كيف يمكنني استخدام PDO مع phpMussel؟)

- -#####
"pdo_username"
-
    -
  • PDO اسم المستخدم.
  • -
- -#####
"pdo_password"
-
    -
  • PDO كلمه السر.
  • -
- ---- - - -###
٨. شكل/تنسيق التوقيع
- -
أنظر أيضا:
-
- -
أول 9 بايت [x0-x8] من ملف التوقيع phpMussel هو phpMussel، والعمل بمثابة "عدد سحري" (magic number)، لتحديدها كملفات توقيع (وهذا يساعد على منع عن طريق الخطأ باستخدام الملفات التي ليست ملفات التوقيع). البايت المقبل [x9] يحدد نوع ملف التوقيع، والتي يجب أن تعرف من أجل أن تكون قادرة على تفسير ملف التوقيع بشكل صحيح. يتم التعرف على الأنواع التالية من ملفات التوقيع:

- - 
نوع
|
بايت
|
وصف
----|---|--- -`General_Command_Detections` | `0?` |
بالنسبة إلى ملفات التوقيع "القيم المفصولة بفواصل". التوقيعات هي سلاسل مشفرة عشرية للبحث عن الملفات. التوقيعات هنا ليس لديها أي أسماء أو تفاصيل أخرى (فقط السلسلة للكشف).
-`Filename` | `1?` |
لتوقيعات اسم الملف.
-`Hash` | `2?` |
لتوقيعات تجزئة الملف.
-`Standard` | `3?` |
لملفات التوقيع التي تعمل مباشرة مع محتوى الملف.
-`Standard_RegEx` | `4?` |
لملفات التوقيع التي تعمل مباشرة مع محتوى الملف. يمكن أن تحتوي التوقيعات على تعبيرات عادية.
-`Normalised` | `5?` |
لملفات التوقيع التي تعمل مع محتوى ملف أنسي-تطبيع.
-`Normalised_RegEx` | `6?` |
لملفات التوقيع التي تعمل مع محتوى ملف أنسي-تطبيع. يمكن أن تحتوي التوقيعات على تعبيرات عادية.
-`HTML` | `7?` |
لملفات التوقيع التي تعمل مع محتوى ملف بتنسيق هتمل.
-`HTML_RegEx` | `8?` |
لملفات التوقيع التي تعمل مع محتوى ملف بتنسيق هتمل. يمكن أن تحتوي التوقيعات على تعبيرات عادية.
-`PE_Extended` | `9?` |
لملفات التوقيع التي تعمل مع البيانات الوصفية PE (باستثناء البيانات الوصفية المقطعية PE).
-`PE_Sectional` | `A?` |
لملفات التوقيع التي تعمل مع البيانات الوصفية المقطع PE.
-`Complex_Extended` | `B?` |
لملفات التوقيع التي تعمل مع قواعد مختلفة استنادا إلى بيانات التعريف الموسعة التي تم إنشاؤها بواسطة phpMussel.
-`URL_Scanner` | `C?` |
لملفات التوقيع التي تعمل مع عناوين URL.
- -
البايت المقبل [x10] هو خط جديد [0A]، ويختتم رأس ملف التوقيع phpMussel.

- -
كل خط غير فارغ بعد ذلك هو توقيع أو قاعدة. كل توقيع أو قاعدة تحتل سطر واحد. وفيما يلي وصف لأشكال التوقيع المعتمدة.

- -#### *
توقيعات اسم الملف
* -
كل توقيعات اسم الملف تتبع التنسيق التالي:

- -`NAME:FNRX` - -
حيث "NAME" هو الاسم المذكور في التوقيع و "FNRX" نمط التعابير المنطقية بحيث تتطابق الأسماء (الغير مشفرة) مقابله.

- -#### *
توقيعات تجزئة
* -
جميع التوقيعات تجزئة تتبع التنسيق:

- -`HASH:FILESIZE:NAME` - -
حيث "HASH" هي تجزئة تجزئة للملف كله (عادة MD5)، و "FILESIZE" هي الحجم الإجمالي لذلك الملف و "NAME" هو الاسم المذكور في التوقيع.

- -#### *
توقيعات PE الجزئية
* -
جميع توقيعات PE الجزئية تتبع التنسيق:

- -`SIZE:HASH:NAME` - -
حيث "HASH" هو تجزئة "MD5" لجزء من ملف PE، "SIZE" هو الحجم الكلي لهذا القسم، "NAME" هو الاسم المذكور في التوقيع.

- -#### *
توقيعات PE الموسعة
* -
جميع توقيعات PE الموسعة تتبع التنسيق:

- -`$VAR:HASH:SIZE:NAME` - -
حيث $VAR هو اسم المتغير PE للتطابق معه، "HASH" هو تجزئة "MD5" هذا المتغير، "SIZE" هو الحجم الكلي لهذا المتغير والاسم هو الاسم المذكور في التوقيع.

- -#### *
التوقيعات المركبة الموسعة
* -
التواقيع المركبة الموسعة هي مختلفة عن أنواع أخرى من التوقيعات المحتملة مع phpMussel، في أنهم يقومون بمطابقة مع ما تم تعيينه من قبل التوقيعات أنفسهم وأنها يمكن أن تتطابق ضد معايير متعددة. محدد مع معايير المطابقة ";" ونوع المطابقة و بيانات المطابقة و كل معايير المطابقة محددة بواسطة ":" ذلك أن شكل هذه التوقيعات يميل قليلا إلى مثل:

- -`$variable1:SOMEDATA;$variable2:SOMEDATA;SignatureName` - -#### *
كل شيء آخر
* -
جميع التوقيعات الأخرى تتبع التنسيق:

- -`NAME:HEX:FROM:TO` - -
حيث "NAME" هو الاسم المذكور لهذا التوقيع و "HEX" هو الترميز الجزئي السادس عشري من الملف المراد أن يقابله تواقيع معينة. من وإلى المعاملات الاختيارية، مشيرا من خلالها إلى المواضع في البيانات المصدر للتحقق منها.

- -#### *
التعابير المنطقية
* -
أي شكل من أشكال التعابير المنطقية يتم فهمها ومعالجتها بشكل صحيح عن طريق PHP و يجب أيضا أن يكون مفهوما بشكل صحيح و تتم معالجتها بواسطة phpMussel و توقيعاتها. مع ذلك، أود أن أقترح اتخاذ الحذر الشديد عند كتابة توقيعات التعابير المنطقية الجديدة، لأنه إذا لم تكن متأكدا تماما مما تفعله، يمكن أن يكون هناك عدم انتظام كبير و/أو نتائج غير متوقعة. القي نظرة على phpMussel مصدر الترميز إذا لم تكن متأكدا تماما من السياق الذي يتم تحليل البيانات باستخدام التعابير المنطقية. أيضا، تذكر أن كل أنماط (باستثناء اسم الملف، أرشيف البيانات الوصفية وأنماط MD5) يجب أن تتبع ترميز سادس عشري(عند تركيب نمط ما، بالتأكيد)!

- ---- - - -###
٩. مشاكل التوافق المعروفة
- -####
PHP و PCRE
- -
phpMussel يتطلب PHP و PCRE لتنفيذ وظيفته بشكل صحيح و بدون أحدهما أو كلاهما فإن البرنامج لن يعمل بشكل صحيح. تأكد من أن نظامك يمتلك كلا من PHP و PCRE مثبتين و متاحين قبل أن تقوم بتنزيل و تثبيت phpMussel.

- -####
التوافق البرمجي لبرنامج مكافحة الفيروسات
- -
من المعروف أن مشاكل التوافق بين phpMussel وبعض بائعي برامج مكافحة الفيروسات تحدث في بعض الأحيان في الماضي، لذلك كل بضعة أشهر، أتحقق من أحدث الإصدارات المتاحة من قاعدة بيانات phpMussel ضد Virus Total، لمعرفة ما إذا كانت هناك أية مشكلات تم الإبلاغ عنها هناك. عندما يتم الإبلاغ عن المشكلات هناك، سأذكر المشاكل هنا في الوثائق.

- -
عندما راجعت مؤخرًا (2022.05.12)، لم يتم الإبلاغ عن أي مشاكل.

- -
لا أتحقق من ملفات التوقيع أو الوثائق أو أي محتوى محيطي آخر. تسبب ملفات التوقيع دائمًا بعض الإيجابيات الخاطئة عندما تكتشفها حلول مكافحة الفيروسات الأخرى. لذلك أوصي بشدة، إذا كنت تخطط لتثبيت phpMussel على جهاز يوجد به بالفعل حل آخر لمكافحة الفيروسات، لإدراج ملفات توقيع phpMussel في القائمة البيضاء.

- ---- - - -###
١٠. أسئلة وأجوبة (FAQ)
- -
- -####
ما هو "التوقيع"؟

- -
في phpMussel، يشير "التوقيع" إلى البيانات التي تعمل كمعرف، وعادة ما تكون قطعة صغيرة من الكل أكبر لشيء نسعى. تتضمن عادة تصنيفا، وبيانات مفيدة أخرى للمساعدة في توفير سياق إضافي. وهذا يمكن أن يساعدنا على تحديد أفضل طريقة للمضي قدما عندما نجد ذلك.

- -####
ما هو "إيجابية خاطئة"؟

- -
المصطلح "إيجابية خاطئة" (بدلا من ذلك: "خطأ إيجابية خاطئة"؛ "انذار خاطئة"؛ الإنجليزية: false positive; false positive error; false alarm)، وصف ببساطة، بشكل عام، يستخدم عند اختبار حالة، للإشارة إلى نتائج هذا الاختبار، عندما تكون النتائج إيجابية (أي، تحديد حالة أن يكون "إيجابية"، أو "صحيح")، ولكن من المتوقع أن تكون (أو كان ينبغي أن يكون) سلبي (أي، الحالة، في الواقع، هو "سلبي"، أو "خاطئة"). "إيجابية خاطئة" ويمكن اعتبار التناظرية من "الذئب الباكي" (حيث لحالة يجري اختبارها هو ما إذا كان هناك ذئب بالقرب من القطيع، الحالة هو "خاطئة" في أنه لا يوجد الذئب بالقرب من القطيع، و الحالة يقال بأنها "إيجابية" بواسطة الراعي عن طريق الدعوة "الذئب، الذئب")، أو التناظرية من الفحص الطبي حيث المريض يتم تشخيص المرض، عندما تكون في واقع، ليس لديهم المرض.

- -
بعض المصطلحات ذات الصلة هي "إيجابية صحيح"، "سلبي صحيح" و "سلبي خاطئة". "إيجابية صحيح" هو عندما تكون نتائج الاختبار والحالة الفعلية للحالة على حد سواء صحيح (أو "إيجابية")، و "سلبي صحيح" هو عندما تكون نتائج الاختبار والحالة الفعلية للحالة على حد سواء خاطئة (أو "سلبي")؛ "إيجابية صحيح" أو "سلبي صحيح" ويعتبر أن تكون "الاستدلال الصحيح". نقيض ل "إيجابية خاطئة" هو "سلبي خاطئة"؛ "سلبي خاطئة" هو عندما تكون النتائج سلبي (أي، تحديد حالة أن يكون "سلبي"، أو "خاطئة")، ولكن من المتوقع أن تكون (أو كان ينبغي أن يكون) إيجابية (أي، الحالة، في الواقع، هو "إيجابية"، أو "صحيح").

- -
في سياق phpMussel، هذه المصطلحات تشير إلى التوقيعات phpMussel والملفات التي كانت منع. عندما phpMussel يمنع ملف نظرا لتوقيع سيئة، قديمة أو غير صحيحة، ولكن لا ينبغي أن تفعل ذلك، أو عندما يفعل ذلك لأسباب خاطئة، نشير إلى هذا الحدث باعتباره "إيجابية خاطئة". عندما phpMussel يفشل لمنع ملف التي كان ينبغي أن سدت، بسبب تهديدات غير متوقعة، التوقيعات المفقودة أو أوجه القصور توقيع، نشير إلى هذا الحدث باعتباره "افتقد" (هذا هو التناظرية من ا "سلبي خاطئة").

- -
هذا يمكن تلخيصها حسب الجدول أدناه:

- - 
phpMussel لا ينبغي منع ملف
|  
phpMussel يجب منع ملف
|   ----|---|--- - 
سلبي صحيح (الاستدلال الصحيح)
|
افتقد (التناظرية من سلبي خاطئة)
|
phpMussel لا يمنع ملف
إيجابية خاطئة
|
إيجابية صحيح (الاستدلال الصحيح)
|
phpMussel منع ملف
- -####
عدد المرات التي يتم تحديثها التوقيعات؟

- -
أنه يختلف. نحن نحاول قدر الإمكان، ولكن نظرا لالتزامات أخرى، حياتنا اليومية، وعدم حصولهم على رواتبهم، تحديث الجدول الزمني الدقيق لا يمكن أن تكون مضمونة. ورحب المساعدة دائما.

- -####
لقد واجهت مشكلة! أنا لا أعرف ما يجب القيام به! الرجاء المساعدة!
-
    -
  • تحقق مما إذا كنت تستخدم أحدث إصدار من البرنامج والتوقيع الملفات.
  • -
  • قراءة الوثائق. قد تكون هناك إجابات هناك.
  • -
  • قراءة صفحة المشكلات. قد تكون هناك إجابات هناك.
  • -
  • لا يوجد حتى الآن إجابات؟ يرجى طلب المساعدة عبر صفحة القضايا.
  • -
- -####
أريد استخدام phpMussel (قبل v2) مع نسخة PHP كبار السن من 5.4.0؛ يمكنك أن تساعد؟

- -
لا. PHP >= 5.4.0 هو الحد الأدنى لمتطلبات phpMussel < v2.

- -####
أريد استخدام phpMussel (v2) مع نسخة PHP كبار السن من 7.2.0؛ يمكنك أن تساعد؟

- -
لا. PHP >= 7.2.0 هو الحد الأدنى لمتطلبات phpMussel v2.

- -
انظر أيضا: مخططات التوافق.

- -####
هل يمكنني استخدام تثبيت phpMussel واحد لحماية نطاقات متعددة؟

- -
نعم. يمكن استخدام phpMussel لحماية نطاقات متعددة. إذا كان التكوين المطلوب مختلفا، للقيام بذلك، إنشاء ملفات تكوين جديدة، واسمه وفقا للنطاقات التي تتطلب الحماية. كمثال، ل "https://www.some-domain.tld/"، أطلق عليه اسما "some-domain.tld.config.ini". اسم النطاق يأتي من "HTTP_HOST". يتم تجاهل "www".

- -####
أنا لا أريد أن تضيع الوقت مع تثبيت هذا أو ضمان أنه يعمل لموقع الويب الخاص بي؛ يمكنني دفع لك أن تفعل ذلك بالنسبة لي؟

- -
ربما. وينظر في ذلك على أساس كل حالة على حدة. أخبرنا احتياجاتك وما تقدمه. سنخبرك بما إذا كنا نستطيع مساعدتك أم لا.

- -####
هل يمكنني توظيفك أو أي من مطوري هذا المشروع للعمل الخاص؟

- -
راجع اإلجابة أعاله.

- -####
أنا بحاجة إلى تعديلات متخصصة، والتخصيصات، الخ؛ يمكنك أن تساعد؟

- -
راجع اإلجابة أعاله.

- -####
أنا مطور، مصمم موقع، أو مبرمج. هل يمكنني قبول أو عرض العمل المتعلق بهذا المشروع؟

- -
نعم. ترخيصنا لا يحظر هذا.

- -####
أريد أن أساهم في المشروع؛ هل يمكنني فعل هذا؟

- -
نعم. المساهمة في المشروع هو موضع ترحيب كبير. يرجى الاطلاع على "CONTRIBUTING.md" لمزيد من المعلومات.

- -####
كيفية الوصول إلى تفاصيل محددة حول الملفات عند مسحها ضوئيا؟

- -
يمكنك الوصول إلى تفاصيل محددة حول الملفات عند مسحها عن طريق تعيين مصفوفة لاستخدامها لهذا الغرض قبل توجيه phpMussel لمسحها.

- -
في المثال أدناه، يتم تعيين $Foo لهذا الغرض. بعد مسح /file/path/...، سيتم تضمين معلومات مفصلة حول الملفات التي تحتوي عليها /file/path/... من قبل $Foo.

- -```PHP -المصفوفة عبارة عن مصفوفة متعددة الأبعاد تتكون من عناصر تمثل كل ملف يتم مسحه ضوئيا وعناصر فرعية تمثل تفاصيل هذه الملفات. وهذه العناصر الفرعية هي كما يلي:

- -- Filename (`string`) -- FromCache (`bool`) -- Depth (`int`) -- Size (`int`) -- MD5 (`string`) -- SHA1 (`string`) -- SHA256 (`string`) -- CRC32B (`string`) -- 2CC (`string`) -- 4CC (`string`) -- ScanPhase (`string`) -- Container (`string`) -- † FileSwitch (`string`) -- † Is_ELF (`bool`) -- † Is_Graphics (`bool`) -- † Is_HTML (`bool`) -- † Is_Email (`bool`) -- † Is_MachO (`bool`) -- † Is_PDF (`bool`) -- † Is_SWF (`bool`) -- † Is_PE (`bool`) -- † Is_Not_HTML (`bool`) -- † Is_Not_PHP (`bool`) -- ‡ NumOfSections (`int`) -- ‡ PEFileDescription (`string`) -- ‡ PEFileVersion (`string`) -- ‡ PEProductName (`string`) -- ‡ PEProductVersion (`string`) -- ‡ PECopyright (`string`) -- ‡ PEOriginalFilename (`string`) -- ‡ PECompanyName (`string`) -- Results (`int`) -- Output (`string`) - -
† - لم يتم توفير نتائج مخبأة (تقدم فقط لنتائج مسح جديدة).

- -
‡ - يتم توفيرها فقط عند مسح ملفات PE.

- -
اختياريا، يمكن تدمير هذه المصفوفة باستخدام ما يلي:

- -```PHP -$phpMussel['Destroy-Scan-Debug-Array']($Foo); -``` - -####
هل يمكنني استخدام cron لتحديث تلقائيا؟

- -
نعم. يتم تضمين API في front-end للتفاعل مع صفحة التحديثات عبر النصوص البرمجية الخارجية. وهناك نص منفصل، Cronable، هو متاح، ويمكن استخدامها من قبل مدير كرون أو كرون جدولة لتحديث هذا وغيرها من الحزم المعتمدة تلقائيا (يوفر هذا البرنامج النصي وثائقه الخاصة).

- -####
هل يمكن فحص ملفات phpMussel بأسماء غير ANSI؟

- -
لنفترض أن هناك مجلدًا تريد مسحه ضوئيًا. في هذا المجلد، لديك بعض الملفات ذات أسماء غير ANSI.

- -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -
لنفترض أنك إما تستخدم وضع CLI أو واجهة برمجة تطبيقات phpMussel لإجراء المسح الضوئي.

- -
عند استخدام PHP < 7.1.0، على بعض الأنظمة، لن يرى phpMussel هذه الملفات عند محاولة مسح المجلد، وبالتالي، لن تتمكن من فحص هذه الملفات ضوئيًا. من المرجح أن ترى النتائج نفسها كما لو كنت تفحص مجلدًا فارغًا:

- -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -
بالإضافة إلى ذلك، عند استخدام PHP < 7.1.0، ينتج عن فحص الملفات بشكل فردي نتائج مثل هذه:

- -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - > Checking 'X:/directory/Пример.txt' (FN: b831eb8f): - -> Invalid file! - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -
أو هذه:

- -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - > X:/directory/??????.txt is not a file or directory. - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -
هذا بسبب الطريقة التي تعامل بها PHP مع أسماء ملفات غير ANSI قبل PHP 7.1.0. إذا واجهت هذه المشكلة، فإن الحل هو تحديث تثبيت PHP الخاص بك إلى الإصدار 7.1.0 أو الأحدث. في PHP >= 7.1.0، يتم التعامل مع أسماء ملفات غير ANSI بشكل أفضل، ويجب أن يكون phpMussel قادرًا على فحص الملفات بشكل صحيح.

- -
للمقارنة، فإن النتائج عند محاولة مسح المجلد باستخدام PHP >= 7.1.0:

- -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - -> Checking '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> No problems found. - -> Checking '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> No problems found. - -> Checking '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> No problems found. - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -
ومحاولة مسح الملفات بشكل فردي:

- -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - > Checking 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> No problems found. - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -####
القوائم السوداء – القوائم البيضاء – القائمة الرمادية – ما هي، وكيف أستخدمها؟

- -
تعبر المصطلحات معان مختلفة في سياقات مختلفة. في phpMussel، هناك ثلاث سياقات حيث يتم استخدام هذه المصطلحات: استجابة حجم الملف، استجابة نوع الملف، والتوقيع القائمة الرمادية.

- -
من أجل تحقيق نتيجة مرغوبة بأقل تكلفة ممكنة للمعالجة، هناك بعض الأشياء البسيطة التي يمكن لـ phpMussel التحقق منها قبل مسح الملفات، مثل حجم الملف والاسم والامتداد. فمثلا؛ إذا كان الملف كبيرًا جدًا، أو إذا كانت إضافته تشير إلى نوع من الملفات لا نريد السماح به على مواقعنا الإلكترونية على أي حال، فيمكننا الإبلاغ عن الملف على الفور، ولا تحتاج إلى فحصه.

- -
استجابة حجم الملف هي الطريقة التي يستجيب بها phpMussel عندما يتجاوز الملف حدًا معينًا. على الرغم من عدم وجود قوائم فعلية، يمكن اعتبار الملف في هذه القوائم بناءً على حجمه. يوجد خياران منفصلان للتوصيف لتحديد الحد والاستجابة المرغوبة على التوالي.

- -
استجابة نوع الملف هي الطريقة التي يستجيب بها phpMussel لتمديد الملف. توجد ثلاثة خيارات تكوين منفصلة لتحديد الإضافات التي يجب أن تكون على أي القوائم. يمكن اعتبار الملف مدرجًا بشكل فعال إذا كانت إضافته مطابقة لأي من الإضافات المحددة على التوالي.

- -
في هذين السياقين، يعني الوجود في القائمة البيضاء أنه لا يجب فحصه أو وضع علامة عليه؛ في القائمة السوداء يعني أنه يجب وضع علامة عليها (وبالتالي لا تحتاج لمسحها ضوئيًا)؛ وكونه على الشبح الرمزي يعني أن هناك حاجة إلى مزيد من التحليل لتحديد ما إذا كان ينبغي لنا وضع علامة عليه (أي، يجب فحصها).

- -
القائمة الرمادية هو قائمة بالتوقيعات التي يجب تجاهلها (هذا يذكر لفترة وجيزة في وقت سابق من الوثائق). عندما يتم تشغيل التوقيع على توقيع القائمة الرمادية، يستمر phpMussel بالعمل من خلال توقيعاته ولا يتخذ أي إجراء معين فيما يتعلق بالتوقيع. لا توجد قائمة سوداء مميزة، لأن السلوك الضمني هو سلوك طبيعي للتوقيعات المشغلة على أي حال، وليس هناك قائمة بيضاء مميزة، لأن السلوك الضمني لن يكون منطقيًا حقًا بالنظر إلى كيفية عمل phpMussel العادي والإمكانيات المتوفرة لديه بالفعل.

- -
يكون توقيع القائمة الرمادية مفيدًا إذا كنت بحاجة إلى حل المشكلات التي يسببها توقيع معين دون تعطيل أو إلغاء تثبيت ملف التوقيع بأكمله.

- -####
عندما أقوم بتنشيط أو إلغاء تنشيط ملفات التوقيع عبر صفحة التحديثات، فإنها تقوم بترتيبها أبجديًا في التكوين. هل يمكنني تغيير الطريقة التي يتم تصنيفها بها؟

- -
نعم. إذا كنت بحاجة إلى فرض بعض الملفات للتنفيذ بترتيب معين، فيمكنك إضافة بعض البيانات الاعتباطية قبل أسمائها في توجيه التهيئة حيث يتم إدراجها، مفصولة بنقطتين. عندما تقوم صفحة التحديثات بفرز الملفات في وقت لاحق، ستؤثر هذه البيانات العشوائية المضافة على ترتيب الفرز، مما يؤدي إلى تنفيذها وفقًا للترتيب الذي تريده، دون الحاجة إلى إعادة تسمية أي منها.

- -
على سبيل المثال، بافتراض توجيه تكوين مع الملفات المسرودة كما يلي:

- -`file1.php,file2.php,file3.php,file4.php,file5.php` - -
إذا كنت تريد file3.php تنفيذ أولاً، يمكنك إضافة شيء مثل aaa: قبل اسم الملف:

- -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -
وبعد ذلك، إذا تم تنشيط ملف جديد، file6.php، فعندما تقوم صفحة التحديثات بفرزها مرة أخرى، يجب أن ينتهي الأمر بهذا الشكل:

- -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -
نفس الموقف عندما يتم إلغاء تنشيط الملف. وبالعكس، إذا أردت تنفيذ الملف آخر، فيمكنك إضافة شيء مثل zzz: قبل اسم الملف. على أي حال، لن تحتاج إلى إعادة تسمية الملف المعني.

- -####
ما هو "PDO DSN"؟ كيف يمكنني استخدام PDO مع phpMussel؟

- -
"PDO" هو اختصار لـ "PHP Data Objects" (كائنات بيانات PHP). يوفر واجهة لـ PHP لتكون قادرة على الاتصال ببعض أنظمة قواعد البيانات التي يشيع استخدامها في مختلف تطبيقات PHP.

- -
"DSN" هو اختصار لـ "data source name" (اسم مصدر البيانات). يصف "PDO DSN" لـ PDO كيف يجب أن تتصل بقاعدة بيانات.

- -
يوفر phpMussel خيار استخدام PDO لأغراض التخزين المؤقت. من أجل هذا للعمل بشكل صحيح، ستحتاج إلى تكوين phpMussel وفقًا لذلك، وتمكين PDO، وإنشاء قاعدة بيانات جديدة لاستخدام لphpMussel (إذا لم يكن لديك بالفعل قاعدة بيانات لاستخدام لphpMussel)، وإنشاء جدول جديد في قاعدة البيانات الخاصة بك بما يتوافق مع الهيكل الموصوف أدناه.

- -
عندما يكون اتصال قاعدة البيانات بنجاح، لكن الجدول الضروري غير موجود، فسيحاول إنشاؤه تلقائيًا. ومع ذلك، لم يتم اختبار هذا السلوك على نطاق واسع ولا يمكن ضمان النجاح.

- -
هذا، بالطبع، ينطبق فقط إذا كنت تريد بالفعل أن تستخدم PDO لphpMussel. إذا كنت سعيدًا بدرجة كافية لاستخدام التخزين المؤقت للملفات (وفقًا للتهيئة الافتراضية لـ phpMussel)، أو أي من خيارات التخزين المؤقت الأخرى المتوفرة، فلن تحتاج إلى متاعب نفسك في إعداد قواعد البيانات والجداول.

- -
يستخدم الهيكل الموصوف أدناه "phpmussel" كاسم قاعدة البيانات الخاصة به، ولكن يمكنك استخدام أي اسم تريده لقاعدة البيانات الخاصة بك، طالما يتم نسخ نفس الاسم في تكوين DSN الخاص بك.

- -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -
يجب تكوين توجيه التكوين pdo_dsn الخاص بـ phpMussel كما هو موضح أدناه.

- -``` -اعتمادًا على برنامج تشغيل قاعدة البيانات المستخدم... -├─4d (تحذير: تجريبي، لم يتم اختباره، غير مستحسن) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └المضيف للاتصال مع للعثور على قاعدة البيانات -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └اسم قاعدة البيانات المراد استخدامها -│ │ │ -│ │ └رقم المنفذ للاتصال بالمضيف مع -│ │ -│ └المضيف للاتصال مع للعثور على قاعدة البيانات -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └اسم قاعدة البيانات المراد استخدامها -│ │ │ -│ │ └المضيف للاتصال مع للعثور على قاعدة البيانات -│ │ -│ └"mssql", "sybase", "dblib": القيم الممكنة -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├يمكن أن يكون الطريق إلى ملف قاعدة البيانات المحلية -│ │ -│ ├يمكن الاتصال مع المضيف ورقم المنفذ -│ │ -│ └يجب عليك الرجوع إلى وثائق Firebird إذا كنت تريد استخدام هذا -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └التي فهرستها قاعدة البيانات للتواصل مع -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └التي فهرستها قاعدة البيانات للتواصل مع -├─mysql (الأكثر الموصى بها) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └رقم المنفذ للاتصال بالمضيف مع -│ │ │ -│ │ └المضيف للاتصال مع للعثور على قاعدة البيانات -│ │ -│ └اسم قاعدة البيانات المراد استخدامها -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├يمكن الرجوع إلى قاعدة البيانات المفهرسة المحددة -│ │ -│ ├يمكن الاتصال مع المضيف ورقم المنفذ -│ │ -│ └يجب عليك الرجوع إلى وثائق Oracle إذا كنت تريد استخدام هذا -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├يمكن الرجوع إلى قاعدة البيانات المفهرسة المحددة -│ │ -│ ├يمكن الاتصال مع المضيف ورقم المنفذ -│ │ -│ └└يجب عليك الرجوع إلى وثائق ODBC/DB2 إذا كنت تريد استخدام هذا -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └اسم قاعدة البيانات المراد استخدامها -│ │ │ -│ │ └رقم المنفذ للاتصال بالمضيف مع -│ │ -│ └المضيف للاتصال مع للعثور على قاعدة البيانات -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └المسار إلى ملف قاعدة البيانات المحلية للاستخدام -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └اسم قاعدة البيانات المراد استخدامها - │ │ - │ └رقم المنفذ للاتصال بالمضيف مع - │ - └المضيف للاتصال مع للعثور على قاعدة البيانات -``` - -
إذا لم تكن متأكدًا مما يمكنك استخدامه في جزء معين من DSN، فحاول أولاً معرفة ما إذا كان يعمل كما هو، دون تغيير أي شيء.

- -
لاحظ أن pdo_username و pdo_password يجب أن يكونا نفس اسم المستخدم وكلمة المرور اللذين اخترتهما لقاعدة بياناتك.

- -####
تحميلاتي غير متزامنة (على سبيل المثال، يستخدم ajax، ajaj، json، إلخ). لا أرى أي رسالة أو تحذير خاص عند حظر التحميل. ماذا يحدث هنا؟

- -
هذا امر طبيعي. يتم تقديم صفحة phpMussel القياسية "رفض تحميل" ك HTML، والتي يجب أن تكون كافية للطلبات المتزامنة المعتادة، ولكن ربما لن يكون ذلك كافيًا إذا كانت وسيلة التحميل لديك تتوقع شيئًا آخر. إذا كانت عمليات التحميل غير متزامنة، أو تحتاج إلى تقديمها بشكل غير متزامن، هناك بعض الأشياء التي يمكنك تجربتها حتى يتمكن phpMussel من تلبية احتياجات وظيفة التحميل.

- -
    -
  • ١. إنشاء قالب إخراج مخصص لخدمة شيء آخر غير HTML.
  • -
  • ٢. إنشاء مكون إضافي مخصص لتجاوز صفحة "رفض تحميل" القياسية تمامًا واطلب من معالج التحميل فعل شيء آخر عندما يتم حظر التحميل (هناك بعض روابط المكوّنات الإضافية التي يوفرها معالج التحميل والتي قد تكون مفيدة لهذا الغرض).
  • -
  • ٣. تعطيل معالج التحميل بالكامل وبدلاً من ذلك فقط اتصل بـ phpMussel API من داخل وظيفة التحميل الخاصة بك.
  • -
- -####
هل يستطيع phpMussel اكتشاف EICAR؟

- -
نعم. يتم تضمين توقيع للكشف عن EICAR في "ملف توقيع التعبيرات العادية القياسية phpMussel" (phpmussel_regex.db). طالما تم تثبيت ملف التوقيع هذا وتنشيطه، يجب أن يكون phpMussel قادرًا على اكتشاف EICAR. نظرًا لأن قاعدة بيانات ClamAV تتضمن أيضًا العديد من التوقيعات خصيصًا لاكتشاف EICAR، يمكن لـ ClamAV اكتشاف EICAR بسهولة، ولكن نظرًا لأن phpMussel لا يستخدم سوى مجموعة فرعية صغيرة من إجمالي التوقيعات التي يوفرها ClamAV، فقد لا تكون كافية في حد ذاتها لـ phpMussel لاكتشاف EICAR. قد تعتمد القدرة على اكتشافه أيضًا على التكوين الدقيق الخاص بك.

- ---- - - -###
١١. المعلومات القانونية
- -####
١١.٠ مقدمة القسم

- -
يصف هذا القسم من الوثائق الاعتبارات القانونية الممكنة فيما يتعلق باستخدام الحزمة وتنفيذها، ويوفر بعض المعلومات الأساسية ذات الصلة. قد يكون هذا مهمًا لبعض المستخدمين كوسيلة لضمان التوافق مع أي متطلبات قانونية قد تكون موجودة في البلدان التي يعملون فيها، وقد يحتاج بعض المستخدمين إلى تعديل سياسات موقع الويب الخاصة بهم وفقًا لهذه المعلومات.

- -
أولا، يرجى ندرك أنني (مؤلف حزمة) لست محام، وليس أي نوع من المهنيين القانونيين المؤهلين. لذلك، لست مؤهلاً قانونًا لتقديم المشورة القانونية. أيضا، في بعض الحالات، قد تختلف المتطلبات القانونية بين الدول والاختصاصات المختلفة، وهذه المتطلبات القانونية المتفاوتة قد تكون متناقضة في بعض الأحيان (على سبيل المثال، الدول التي تفضل "حقوق الخصوصية" و "الحق في أن تنسى"، مقارنة بالبلدان التي تفضل "الاحتفاظ بالبيانات"). ضع في اعتبارك أيضًا أن الوصول إلى الحزمة لا يقتصر على بلدان أو ولايات قضائية محددة، وبالتالي، فإن مستخدمي الحزمة من المحتمل أن يكونوا متنوعين جغرافيًا. بالنظر إلى هذه النقاط، فأنا لست في وضع يسمح لي بالإشارة إلى ما يعنيه أن يكون "متوافقة مع القانون" مع الجميع. ومع ذلك، آمل أن تساعدك هذه المعلومات على أن تقرر بنفسك ما يجب عليك القيام به للبقاء ملتزمين قانونًا في سياق الحزمة. إذا كانت لديك أي شكوك بخصوص هذه المعلومات، أو إذا كنت بحاجة إلى مساعدة ومشورة إضافية من منظور قانوني، فإنني أوصيك باستشارة متخصص قانوني مؤهل.

- -####
١١.١ المسؤولية

- -
كما هو مذكور بالفعل من قبل ترخيص الحزمة، يتم توفير الحزمة دون أي ضمان. وهذا يشمل (على سبيل المثال لا الحصر) كل نطاق المسؤولية. يتم توفير الحزمة لك لراحتك، على أمل أن تكون مفيدة، وأنها سوف توفر بعض الفائدة بالنسبة لك. ومع ذلك، سواء كنت تستخدم أو تنفذ الحزمة، فذلك هو خيارك. لا تضطر إلى استخدام الحزمة أو تنفيذها، ولكن عندما تقوم بذلك، فأنت مسؤول عن هذا القرار. لا أنا ولا أي مساهم آخر في الحزمة مسؤول قانونيًا عن عواقب القرارات التي تتخذها، بصرف النظر عما إذا كانت مباشرة أو غير مباشرة أو ضمنية أو غير ذلك.

- -####
١١.٢ الأطراف الثالثة

- -
اعتمادا على التكوين الدقيق والتنفيذ، قد تتواصل الحزمة وتتبادل المعلومات مع أطراف ثالثة في بعض الحالات. في بعض السياقات، من خلال بعض السلطات القضائية، يمكن تعريف ذلك على أنه "معلومات تعريف شخصية".

- -
إن كيفية استخدام هذه المعلومات من قِبل هذه الجهات الخارجية تخضع لسياساتها، وهي خارج نطاق هذه الوثائق. ومع ذلك، في جميع هذه الحالات، يمكن تعطيل مشاركة المعلومات. في جميع هذه الحالات، إذا اخترت تمكينها، تقع على عاتقك مسؤولية البحث عن أي مخاوف قد تكون لديك بشأن الخصوصية والأمان واستخدام هذه المعلومات من قِبل هذه الأطراف الثالثة. إذا وجدت أي شكوك، أو إذا كنت غير راضي عن سلوك هذه الأطراف الثالثة، قد يكون من الأفضل تعطيل كل مشاركة المعلومات مع هذه الأطراف الثالثة.

- -
لغرض الشفافية، يتم وصف نوع المعلومات المشتركة أدناه.

- -#####
١١.٢.٠ خطوط الويب

- -
بعض السمات المخصصة، واجهة المستخدم القياسية phpMussel، وصفحة "رفض تحميل" قد تستخدم خطوط الويب لأسباب جمالية. يتم تعطيل خطوط الويب بشكل افتراضي. عند التمكين، هناك اتصال مباشر بين متصفح المستخدم ومضيف الويب. قد ينطوي ذلك على نقل معلومات مثل عنوان IP الخاص بالمستخدم، وكيل المستخدم، نظام التشغيل، وغيرها من التفاصيل المتاحة للطلب. تستضيف خدمة خطوط Google معظم خطوط الويب هذه.

- -
خيارات التكوين ذات الصلة:
-
    -
  • disable_webfonts <- general
  • -
- -#####
١١.٢.١ ماسح URL

- -
قد تتم مشاركة عناوين URL الموجودة داخل عمليات تحميل الملفات مع براجهة برمجة تطبيقات التصفح الآمن Google، بناءً على كيفية تهيئة الحزمة. تتطلب واجهة برمجة تطبيقات التصفح الآمن من Google مفاتيح API لكي تعمل بشكل صحيح، وبالتالي يتم تعطيلها افتراضيًا.

- -
خيارات التكوين ذات الصلة:
-
    -
  • google_api_key <- urlscanner
  • -
- -#####
١١.٢.٢ VIRUS TOTAL

- -
عندما يقوم phpMussel بمسح تحميل الملف، قد تتم مشاركة تجزئة تلك الملفات مع Virus Total API، بناءً على كيفية تكوين الحزمة. هناك خطط لتتمكن من مشاركة ملفات كاملة في وقت ما في المستقبل أيضًا، ولكن هذه الميزة غير مدعومة بواسطة الحزمة في الوقت الحالي. مطلوب مفتاح API من أجل استخدام هذه الميزة.

- -
يمكن أيضًا مشاركة المعلومات (بما في ذلك الملفات والبيانات الوصفية ذات الصلة للملف) التي تم مشاركتها مع Virus Total مع شركائها والشركات التابعة لها ومختلف الشركات الأخرى لأغراض البحث. يتم وصف ذلك بمزيد من التفاصيل من خلال سياسة الخصوصية الخاصة بهم.

- -
نرى: Privacy Policy – VirusTotal.

- -
خيارات التكوين ذات الصلة:
-
    -
  • vt_public_api_key <- virustotal
  • -
- -####
١١.٣ تسجيل

- -
التسجيل هو جزء مهم من phpMussel لعدد من الأسباب. قد يكون من الصعب تشخيص وحل إيجابيات خاطئة عندما لا يتم تسجيل أحداث الحظر التي تسبب لهم. بدون تسجيل، قد يكون من الصعب تشخيص الإيجابيات الكاذبة، للتأكد من أداء phpMussel بشكل جيد، وقد يكون من الصعب تحديد مواطن ضعفها، وما هي التغييرات التي قد تكون مطلوبة لتكوينها أو توقيعاتها، لكي تستمر في العمل على النحو المنشود. بغض النظر، ربما لا يريد الجميع التسجيل، لذلك يبقى اختياريًا تمامًا. في phpMussel، يتم تعطيل التسجيل افتراضيًا. لتمكينه، يجب تكوين phpMussel وفقًا لذلك.

- -
بالإضافة إلى، ما إذا كان تخزين هذا النوع من البياناتمسموحًا به قانونًا، وإلى الحد المسموح به قانونًا (ذلك بالقول، أنواع المعلومات التي يمكن تسجيلها، إلى متى، وتحت أي ظروف)، قد تختلف، وهذا يتوقف على الاختصاص واعتمادًا على سياق التنفيذ (فمثلا، سواء كنت تعمل كفرد أو مؤسسة، وعما إذا كان ذلك على أساس تجاري أو غير تجاري). لذلك قد يكون من المفيد لك قراءة هذا القسم بعناية.

- -
هناك العديد من أنواع المعلومات المختلفة التي يمكن تسجيلها، لأسباب مختلفة.

- -#####
١١.٣.٠ سجلات الفحص

- -
عند تمكينه في تكوين الحزمة، يحتفظ phpMussel بسجلات الملفات التي يقوم بمسحها. يتوفر هذا النوع من التسجيل بتنسيقين مختلفين:
-
    -
  • السجلات التي يمكن قراءتها من قبل البشر.
  • -
  • سجلات مسلسلة.
  • -
- -
عادةً ما تبدو الإدخالات إلى ملف السجل البشري المقروء شيئًا مثل هذا (كمثال):

- -``` -Mon, 21 May 2018 00:47:58 +0800 بدأت. -> فحص 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> الكشف phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 انتهى. -``` - -
عادةً ما يتضمن إدخال سجل الفحص المعلومات التالية:
-
    -
  • تاريخ ووقت فحص الملف.
  • -
  • اسم الملف الممسوح ضوئيًا.
  • -
  • CRC32b تجزئة اسم ومحتويات الملف.
  • -
  • ما تم اكتشافه في الملف (إذا تم اكتشاف أي شيء).
  • -
- -
خيارات التكوين ذات الصلة:
-
    -
  • scan_log <- general
  • -
  • scan_log_serialized <- general
  • -
- -
عندما يتم ترك هذه التوجيهات فارغة، سيظل هذا النوع من التسجيل معطلاً.

- -#####
١١.٣.١ التحميلات المحظورة

- -
عند تمكينه في تكوين الحزمة، phpMussel يحتفظ بسجلات التحميلات التي تم حظرها.

- -
عادةً ما تبدو إدخالات السجل هذه شيئًا مثل هذا (كمثال):

- -
-التاريخ: Mon, 21 May 2018 00:47:56 +0800
-عنوان IP: 127.0.0.1
-== نتائج المسح (لماذا تم الإبلاغ عنها) ==
-الكشف phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)!
-== إعادة بناء التواقيع التجزئة ==
-3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt
-الحجر الصحي بأنه "/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu".
-
- -
تتضمن معلومات حول التحميلات المحظورة عادةً ما يلي:
-
    -
  • التاريخ والوقت الذي تم حظر التحميل فيه.
  • -
  • عنوان IP الذي نشأ فيه التحميل.
  • -
  • سبب حظر الملف (ما تم اكتشافه).
  • -
  • اسم الملف المحظور.
  • -
  • MD5 وحجم الملف المحظور.
  • -
  • ما إذا كان الملف قد تم عزله، وتحت أي اسم داخلي.
  • -
- -
خيارات التكوين ذات الصلة:
-
    -
  • scan_kills <- general
  • -
- -#####
١١.٣.٢ سجلات الواجهة الأمامية

- -
هذا التسجيل يتصل محاولات تسجيل الدخول الأمامية. يحدث فقط عندما يحاول مستخدم تسجيل الدخول إلى الواجهة الأمامية، وفقط عندما يتم تمكين الوصول للجهة الأمامية.

- -
يحتوي إدخال سجل الواجهة الأمامية على عنوان IP الخاص بالمستخدم الذي يحاول تسجيل الدخول وتاريخ ووقت حدوث المحاولة ونتائج المحاولة (تم تسجيل الدخول بنجاح، أو فشل في تسجيل الدخول). يبدو عادة مثل هذا (كمثال):

- -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - حاليا على. -``` - -
خيارات التكوين ذات الصلة:
-
    -
  • frontend_log <- general
  • -
- -#####
١١.٣.٣ دوران السجل

- -
قد ترغب في تطهير السجلات بعد فترة من الوقت، أو قد تكون مطلوبة للقيام بذلك بموجب القانون (أي أن مقدار الوقت المسموح به قانونًا لك للاحتفاظ بالسجلات قد يكون محدودًا بموجب القانون). يمكنك تحقيق ذلك عن طريق تضمين علامات التاريخ/الوقت في أسماء ملفات السجل الخاصة بك كما هو محدد بواسطة تكوين الحزمة الخاصة بك (على سبيل المثال، {yyyy}-{mm}-{dd}.log)، ثم تمكين دوران السجل (يسمح لك تدوير السجل بتنفيذ بعض الإجراءات على ملفات السجل عندما يتم تجاوز الحدود المحددة).

- -
فمثلا: إذا كان من الضروري قانونًا حذف السجلات بعد 30 يومًا، يمكنني تحديد {dd}.log في أسماء ملفات السجل الخاصة بي ({dd} يمثل عدد الأيام)، قم بتعيين قيمة log_rotation_limit إلى 30، وقم بتعيين قيمة log_rotation_action إلى Delete.

- -
على العكس من ذلك، إذا كنت مطالبًا بالاحتفاظ بالسجلات لفترة زمنية طويلة، فيمكنك تعطيل تدوير السجل، أو يمكنك تعيين قيمة log_rotation_action إلى Archive، لضغط ملفات السجل، وبالتالي تقليل إجمالي مساحة القرص التي يشغلونها.

- -
خيارات التكوين ذات الصلة:
-
    -
  • log_rotation_limit <- general
  • -
  • log_rotation_action <- general
  • -
- -#####
١١.٣.٤ سجل اقتطاع

- -
إذا أردت، يمكنك اقتطاع ملفات السجل الفردية عندما تتجاوز حجمًا معينًا.

- -
خيارات التكوين ذات الصلة:
-
    -
  • truncate <- general
  • -
- -#####
١١.٣.٥ عنوان IP PSEUDONYMISATION

- -
أولاً، إذا لم تكن على دراية بهذا المصطلح، "pseudonymisation" يشير إلى معالجة البيانات الشخصية على هذا النحو بحيث لا يمكن تحديدها لأي موضوع بيانات محدد بعد الآن بدون معلومات إضافية، وشريطة أن يتم الاحتفاظ بهذه المعلومات التكميلية بشكل منفصل وتخضع للتدابير التقنية والتنظيمية لضمان عدم إمكانية تحديد البيانات الشخصية لأي شخص طبيعي.

- -
يمكن أن تساعد الموارد التالية في شرحها بمزيد من التفاصيل:
-
- -
في بعض الحالات، قد يُطلب منك قانونًا تنفيذ "anonymisation" أو "pseudonymisation" لأي معلومات PII تم جمعها أو معالجتها أو تخزينها. على الرغم من وجود هذا المفهوم منذ بعض الوقت، GDPR/DSGVO يذكر بشكل ملحوظ ويشجع "pseudonymisation".

- -
إذا أردت، يمكن لـ phpMussel القيام بذلك لعناوين IP عند الكتابة إلى السجلات. عند الكتابة إلى السجلات، سيتم تمثيل الثمانية النهائية لعناوين IPv4 وكل شيء بعد الجزء الثاني من عناوين IPv6 بواسطة "x" (تقريب عناوين IPv4 إلى العنوان الأولي للشبكة الفرعية الـ 24 التي تدخلها، وعناوين IPv6 إلى العنوان الأولي للشبكة الفرعية 32 التي تدخلها).

- -
خيارات التكوين ذات الصلة:
-
    -
  • pseudonymise_ip_addresses <- legal
  • -
- -#####
١١.٣.٦ الإحصاء

- -
phpMussel قادر بشكل اختياري على تتبع الإحصائيات مثل العدد الإجمالي للملفات التي تم مسحها وحظرها منذ وقت معين. يتم تعطيل هذه الميزة بشكل افتراضي، ولكن يمكن تمكينها من خلال تهيئة الحزمة. لا يجب اعتبار نوع المعلومات التي يتم تتبعها كمعلومات تحديد الهوية الشخصية.

- -
خيارات التكوين ذات الصلة:
-
    -
  • statistics <- general
  • -
- -#####
١١.٣.٧ التشفير

- -
لا يقوم phpMussel بتشفير ذاكرة التخزين المؤقت أو أي معلومات سجل. قد يتم إدخال تشفير ذاكرة التخزين المؤقت والسجلات في المستقبل، ولكن لا توجد خطط محددة لها حاليًا. إذا كنت قلقًا بشأن حصول أطراف ثالثة غير مصرح لها على إمكانية الوصول إلى أجزاء من phpMussel قد تحتوي على معلومات تحديد الهوية الشخصية أو معلومات حساسة مثل ذاكرة التخزين المؤقت أو السجلات، أوصي بعدم تثبيت phpMussel في مكان يمكن الوصول إليه بشكل عام (على سبيل المثال، مجلد تثبيت phpMussel خارج الدليل public_html القياسي أو ما يعادله، متاح لمعظم خوادم الويب القياسية) والتأكد من فرض الأذونات المقيدة بشكل مناسب لدليل التثبيت (على وجه الخصوص، لدليل vault). إذا لم يكن ذلك كافيًا لمعالجة مخاوفك، فقم بتكوين phpMussel بحيث لا يتم جمع أنواع المعلومات التي تسبب مخاوفك أو تسجيلها في المقام الأول (مثل، عن طريق تعطيل التسجيل).

- -####
١١.٤ ملف تعريف ارتباط

- -
عندما يسجل المستخدم بنجاح في الواجهة الأمامية، يعين phpMussel ملف تعريف ارتباط حتى يتمكن من تذكر المستخدم للطلبات اللاحقة (أي، يتم استخدام ملفات تعريف الارتباط لمصادقة المستخدم على جلسة تسجيل الدخول). في صفحة تسجيل الدخول، يتم عرض تحذير ملف تعريف ارتباط بشكل بارز، ويحذر المستخدم من أنه سيتم تعيين ملف تعريف ارتباط إذا شارك في الإجراء ذي الصلة. لا يتم تعيين ملفات تعريف الارتباط في أي نقاط أخرى في مصدر التعليمات البرمجية.

- -
خيارات التكوين ذات الصلة:
-
    -
  • disable_frontend <- general
  • -
- -####
١١.٥ التسويق والإعلان

- -
لا تجمع phpMussel أو تعالج أي معلومات لأغراض التسويق أو الإعلانات، ولا تبيع أو تحقق أرباحًا من أي معلومات تم جمعها أو تسجيلها. phpMussel ليست مؤسسة تجارية، ولا ترتبط بأي مصالح تجارية، لذا فإن القيام بهذه الأشياء لن يكون له أي معنى. كان هذا هو الحال منذ بداية المشروع، وما زالت الحالة اليوم. بالإضافة إلى ذلك، فإن القيام بهذه الأشياء سيؤدي إلى نتائج عكسية للمشروع والغرض المقصود من المشروع ككل، وطالما استمر في الحفاظ على المشروع، لن يحدث أبداً.

- -####
١١.٦ سياسة الخصوصية

- -
في بعض الحالات، قد يُطلب منك قانونًا عرض رابط لسياسة الخصوصية بوضوح في جميع صفحات وأقسام موقعك. قد يكون هذا أمرًا مهمًا كوسيلة لضمان معرفة المستخدمين جيدًا بممارسات الخصوصية الدقيقة، وأنواع معلومات تحديد الهوية الشخصية التي تجمعها، وكيفية تنوي استخدامها. لتتمكن من تضمين مثل هذا الارتباط في صفحة "رفض تحميل" الخاصة بـ phpMussel، يتم توفير توجيه تكوين لتحديد عنوان URL لسياسة الخصوصية الخاصة بك.

- -
خيارات التكوين ذات الصلة:
-
    -
  • privacy_policy <- legal
  • -
- -####
١١.٧ GDPR/DSGVO

- -
يعد اللائحة العامة لحماية البيانات (GDPR) لائحة خاصة بالاتحاد الأوروبي، والتي تدخل حيز التنفيذ اعتبارًا من 25 مايو 2018. الهدف الأساسي من التنظيم هو إعطاء السيطرة على المواطنين والمقيمين في الاتحاد الأوروبي فيما يتعلق ببياناتهم الشخصية، وتوحيد الأنظمة داخل الاتحاد الأوروبي فيما يتعلق بالخصوصية والبيانات الشخصية.

- -
تحتوي اللائحة على أحكام محددة تتعلق بمعالجة "معلومات التعريف الشخصية" لأي "موضوعات بيانات" تابعة للاتحاد الأوروبي (أي شخص طبيعي محدد أو قابل للتحديد). من أجل الامتثال للأنظمة، "الشركات" (كما هو محدد في اللائحة)، وكذلك أي أنظمة وعمليات ذات صلة، يجب تنفيذ "الخصوصية حسب التصميم" بشكل افتراضي، يجب استخدام أعلى إعدادات الخصوصية الممكنة، يجب تنفيذ الضمانات اللازمة لأية معلومات مخزنة أو معالجتها (بما في ذلك، على سبيل المثال لا الحصر، تنفيذ "pseudonymisation" أو "anonymisation" الكامل للبيانات)، يجب أن يعلن بوضوح وبشكل لا لبس فيه أنواع البيانات التي يجمعونها، كيفية معالجتها، لأي أسباب، إلى متى تحتفظ بها، وإذا شاركوا هذه البيانات مع أطراف ثالثة، وأنواع البيانات المشتركة مع أطراف ثالثة، وكيف، ولماذا، وما إلى ذلك.

- -
لا يجوز معالجة البيانات ما لم يكن هناك أساس قانوني للقيام بذلك، كما هو محدد في اللائحة. وبشكل عام، يعني هذا أنه من أجل معالجة بيانات موضوع البيانات على أساس قانوني، يجب أن يتم ذلك وفقًا لالتزامات قانونية، أو يتم فقط بعد الحصول على موافقة واضحة ومطلعة بشكل لا لبس فيه من موضوع البيانات.

- -
قد تتطور جوانب التنظيم في الوقت المناسب، ومن أجل تجنب نشر المعلومات القديمة، قد يكون من الأفضل معرفة التنظيم من مصدر موثوق، بدلاً من مجرد تضمين المعلومات ذات الصلة هنا في وثائق الحزمة (مثل المعلومات المضمنة قد تصبح في نهاية المطاف عفا عليها الزمن مع تطور التنظيم).

- -
بعض الموارد الموصى بها لتعلم المزيد من المعلومات:
-
- ---- - - -
آخر تحديث: ١٢ مايو ٢٠٢٢ (٢٠٢٢.٠٥.١٢).
diff --git a/v2-and-earlier/readme.de.md b/v2-and-earlier/readme.de.md deleted file mode 100644 index e75d8a4..0000000 --- a/v2-and-earlier/readme.de.md +++ /dev/null @@ -1,1728 +0,0 @@ -## Dokumentation für phpMussel v2 (Deutsch). - -### Inhalt -- 1. [VORWORT](#SECTION1) -- 2. [INSTALLATION](#SECTION2) -- 3. [BENUTZUNG](#SECTION3) -- 4. [FRONTEND-MANAGEMENT](#SECTION4) -- 5. [CLI (BEFEHLSZEILENMODUS)](#SECTION5) -- 6. [IM PAKET ENTHALTENE DATEIEN](#SECTION6) -- 7. [EINSTELLUNGEN](#SECTION7) -- 8. [SIGNATURENFORMAT](#SECTION8) -- 9. [BEKANNTE KOMPATIBILITÄTSPROBLEME](#SECTION9) -- 10. [HÄUFIG GESTELLTE FRAGEN (FAQ)](#SECTION10) -- 11. [RECHTSINFORMATION](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. VORWORT - -Vielen Dank für die Benutzung von phpMussel, einem PHP-Script, um Trojaner, Viren, Malware und andere Bedrohungen in Dateien zu entdecken, die auf Ihr System hochgeladen werden könnten, welches die Signaturen von ClamAV und weitere nutzt. - -[PHPMUSSEL](https://phpmussel.github.io/) COPYRIGHT 2013 und darüber hinaus GNU/GPLv2 by [Caleb M (Maikuolan)](https://github.com/Maikuolan). - -Dieses Skript ist freie Software; Sie können Sie weitergeben und/oder modifizieren unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht; entweder unter Version 2 der Lizenz oder (nach Ihrer Wahl) jeder späteren Version. Dieses Skript wird in der Hoffnung verteilt, dass es nützlich sein wird, allerdings OHNE JEGLICHE GARANTIE; ohne implizite Garantien für VERMARKTUNG/VERKAUF/VERTRIEB oder FÜR EINEN BESTIMMTEN ZWECK. Lesen Sie die GNU General Public License für weitere Details, in der Datei `LICENSE.txt`, ebenfalls verfügbar auf: -- . -- . - -Besonderer Dank geht an [ClamAV](https://www.clamav.net/) für die Inspiration und die Signaturen, die dieses Script benutzt, ohne die dieses Script wahrscheinlich nicht existieren würde oder bestenfalls einen sehr begrenzten Wert hätte. - -Besonderer Dank geht auch an SourceForge, Bitbucket und GitHub für das Hosten der Projektdateien, und an die weiteren Quellen einiger von phpMussel verwendeten Signaturen: [PhishTank](https://www.phishtank.com/), [NLNetLabs](https://nlnetlabs.nl/) und andere, und Besonderer Dank geht an alle diejenigen die das Projekt unterstützen werden, an andere nicht erwähnte Personen, und an Sie, für die Verwendung des Scripts. - -Dieses Dokument und das zugehörige Paket kann von folgenden Links kostenlos heruntergeladen werden: -- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -### 2. INSTALLATION - -#### 2.0 MANUELL INSTALLIEREN (SERVER) - -1) Entpacken Sie das heruntergeladene Archiv auf Ihren lokalen PC. Erstellen Sie ein Verzeichnis, wohin Sie den Inhalt dieses Paketes auf Ihrem Host oder CMS installieren möchten. Ein Verzeichnis wie `/public_html/phpmussel/` o.ä. genügt, solange es Ihren Sicherheitsbedürfnissen oder persönlichen Präferenzen entspricht. - -2) Die Datei `config.ini.RenameMe` (im `vault`-Verzeichnis) zu `config.ini` umbenennen, und optional (empfohlen für erfahrene Anwender, nicht empfohlen für Anwender ohne entsprechende Kenntnisse), öffnen Sie diese Datei (diese Datei beinhaltet alle funktionalen Optionen für phpMussel; über jeder Option beschreibt ein kurzer Kommentar die Aufgabe dieser Option). Verändern Sie die Werte nach Ihren Bedürfnissen. Speichern und schließen Sie die Datei. - -3) Laden Sie den kompletten Inhalt (phpMussel und die Dateien) in das Verzeichnis hoch, für das Sie sich in Schritt 1 entschieden haben. Die Dateien `*.txt`/`*.md` müssen nicht mit hochgeladen werden. - -4) Ändern Sie die Zugriffsberechtigungen des `vault`-Verzeichnisses auf "755" (wenn es Probleme gibt, Sie können "777" versuchen; Dies ist weniger sicher, obwohl). Die Berechtigungen des übergeordneten Verzeichnises, in welchem sich der Inhalt befindet (das Verzeichnis, wofür Sie sich entschieden haben), können so belassen werden, überprüfen Sie jedoch die Berechtigungen, wenn in der Vergangenheit Zugriffsprobleme aufgetreten sind (Voreinstellung "755" o.ä.). Zusammenfassend: Damit das Paket ordnungsgemäß funktioniert, muss PHP in der Lage sein, Dateien im `vault`-Verzeichnis zu lesen und zu schreiben. Viele Dinge (Aktualisierung, Protokollierung, u.s.w.) sind nicht möglich, wenn PHP nicht in das `vault`-Verzeichnis schreiben kann, und das Paket überhaupt nicht funktioniert, wenn PHP nicht aus dem `vault`-Verzeichnis lesen kann. Zur optimalen Sicherheit darf das `vault`-Verzeichnis jedoch NICHT öffentlich zugänglich sein (sensible Informationen, wie die in `config.ini` oder `frontend.dat` enthaltenen Informationen, könnten potenziellen Angreifern ausgesetzt sein, wenn das `vault`-Verzeichnis öffentlich zugänglich ist). - -5) Installiere alle Signaturen, die du brauchst. *Sehen: [SIGNATUREN INSTALLIEREN](#INSTALLING_SIGNATURES).* - -6) Binden Sie phpMussel in Ihr System oder CMS ein. Es gibt viele verschiedene Möglichkeiten, ein Script wie phpMussel einzubinden, am einfachsten ist es, das Script am Anfang einer Haupt-Datei (eine Datei, die immer geladen wird, wenn irgendeine beliebige Seite Ihres Webauftritts aufgerufen wird) Ihres Systems oder CMS mit Hilfe des require- oder include-Befehls einzubinden. Üblicherweise wird eine solche Datei in Verzeichnissen wie `/includes`, `/assets` or `/functions` gespeichert und wird häufig `init.php`, `common_functions.php`, `functions.php` o.ä. genannt. Sie müssen herausfinden, welche Datei dies für Ihre Bedürfnisse ist; Wenn Sie dabei Schwierigkeiten haben das herauszufinden, besuchen Sie die phpMussel Issues-Seite oder die phpMussel Support-Foren und lassen Sie es uns wissen; Es ist möglich, dass entweder ich oder ein anderer Benutzer mit dem CMS, das Sie verwenden, Erfahrung hat (Sie müssen Sie mitteilen, welche CMS Sie verwenden) und möglicherweise in der Lage ist, etwas Unterstützung anzubieten. Fügen Sie in dieser Datei folgenden Code direkt am Anfang ein: - -`` - -Ersetzen Sie den String zwischen den Anführungszeichen mit dem lokalen Pfad der Datei `loader.php`, nicht mit der HTTP-Adresse (ähnlich dem Pfad für das `vault`-Verzeichnis). Speichern und schließen Sie die Datei, laden Sie sie ggf. erneut hoch. - --- ODER ALTERNATIV -- - -Wenn Sie einen Apache-Webserver haben und wenn Sie Zugriff auf die `php.ini` oder eine ähnliche Datei haben, dann können Sie die `auto_prepend_file` Direktive verwenden um phpMussel voranstellen wenn eine PHP-Anfrage erfolgt. Ungefähr so: - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -Oder das in der `.htaccess` Datei: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) Der Installationsvorgang wurde nun fertiggestellt. Sie sollten nun das Programm auf ordnungsgemäße Funktion testen. Sie sollten nun die im Paket enthaltenen Testdateien `.tests/samples` auf Ihre Webseite über die gewöhnlichen browserbasierten Methoden hochladen. (Damit die Testdateien erkannt werden, sollten auch die `phpmussel*.*db`-Signaturdateien installiert und als `active` konfiguriert sein). Funktioniert das Programm ordnungsgemäß, erscheint eine Meldung von phpMussel, dass der Upload erfolgreich blockiert wurde. Erscheint keine Meldung, funktioniert das Programm nicht korrekt. Nutzen Sie andere erweiterte Funktionen oder weitere mögliche Arten von Scannern dieses Programms, so sollten Sie diese ebenfalls testen, um die ordnungsgemäße Funktion sicherzustellen. - - -#### 2.1 MANUELL INSTALLIEREN (CLI - BEFEHLSZEILENMODUS) - -1) Entpacken Sie das heruntergeladene Archiv auf Ihren lokalen PC in ein Verzeichnis, das Ihren Sicherheitsbedürfnissen oder persönlichen Präferenzen entspricht. - -2) phpMussel benötigt eine installierte PHP-Umgebung, um ausgeführt werden zu können. Sofern PHP bei Ihnen nicht installiert ist, installieren Sie es bitte nach den Anweisungen des PHP-Installers. - -3) Optional (empfohlen für erfahrene Anwender, nicht empfohlen für Anwender ohne entsprechende Kenntnisse), öffnen Sie die Datei `config.ini` im `vault`-Verzeichnis) – Diese Datei beinhaltet alle funktionalen Optionen für phpMussel. Über jeder Option beschreibt ein kurzer Kommentar die Aufgabe dieser Option. Verändern Sie die Werte nach Ihren Bedürfnissen. Speichern und schließen Sie die Datei. - -4) Optional, Sie können den Start von phpMussel vereinfachen, indem Sie mittels einer Stapelverarbeitungsdatei PHP und phpMussel automatisch laden. Öffnen Sie einen einfachen Texteditor wie Editor oder Notepad++, tragen Sie den vollständigen Pfad zu Ihrer `php.exe` im Verzeichnis Ihrer PHP-Installation ein, gefolgt von einem Leerzeichen und dem vollständigen Pfad zur `loader.php` im Verzeichnis Ihrer phpMussel-Installation, speichern diese Datei mit einer `.bat`-Dateierweiterung an einem Ort, wo Sie sie leicht finden können und führen Sie sie zukünfig nur noch mit einem Doppelklick aus. - -5) Installiere alle Signaturen, die du brauchst. *Sehen: [SIGNATUREN INSTALLIEREN](#INSTALLING_SIGNATURES).* - -6) Der Installationsvorgang wurde nun fertiggestellt. Sie sollten nun das Programm auf ordnungsgemäße Funktion testen. Um den Test durchzuführen, führen Sie bitte phpMussel aus und versuchen Sie, das Verzeichnis `.tests/samples` in diesem Installationspaket zu scannen. - -#### 2.2 INSTALLATION MIT COMPOSER - -Da [phpMussel bei Packagist registriert ist](https://packagist.org/packages/phpmussel/phpmussel), können Sie phpMussel auch mittels Composer installieren. Allerdings müssen Sie immer noch die Konfiguration, die Berechtigungen, die Signaturen und die Hooks vorbereiten. (Siehe "manuell installieren", Schritt 2, 4, 5, und 6). - -`composer require phpmussel/phpmussel` - -#### 2.3 SIGNATUREN INSTALLIEREN - -Seit v1.0.0, Signaturen werden nicht mit phpMussel enthalten. Signaturen werden von phpMussel benötigt, um bestimmte Bedrohungen zu erkennen. Es gibt 3 Hauptmethoden, um Signaturen zu installieren: - -1. Installieren Sie automatisch die Frontend-Aktualisierungsseite. -2. Signaturen mit "SigTool" generieren und manuell installieren. -3. Signaturen aus "phpMussel/Signatures" herunterladen und manuell installieren. - -##### 2.3.1 Installieren Sie automatisch die Frontend-Aktualisierungsseite. - -Zuerst, müssen Sie sicherstellen, dass das Frontend aktiviert ist. *Sehen: [FRONTEND-MANAGEMENT](#SECTION4).* - -Dann alles was Sie tun müssen, ist auf die Frontend-Aktualisierungsseite gehen, finden Sie die notwendigen Signaturdateien, und mit die Optionen auf der Seite, installieren, und aktivieren. - -##### 2.3.2 Signaturen mit "SigTool" generieren und manuell installieren. - -*Sehen: [SigTool Dokumentation](https://github.com/phpMussel/SigTool#documentation).* - -*Beachten Sie auch: SigTool verarbeitet nur die Signaturen von ClamAV. Um Signaturen aus anderen Quellen zu erhalten, z.B. diejenigen die speziell für phpMussel geschriebenen, die einschließlich der zum Nachweis der Testproben von phpMussel erforderlichen Signaturen, muss diese Methode durch eine der anderen hier genannten Methoden ergänzt werden.* - -##### 2.3.3 Signaturen aus "phpMussel/Signatures" herunterladen und manuell installieren. - -Zuerst, nach [phpMussel/Signatures](https://github.com/phpMussel/Signatures) gehen. Das Repository enthält verschiedene GZ-komprimierte Signaturdateien. Laden Sie die Dateien herunter, die du brauchst, dekomprimieren und kopieren Sie die dekomprimierten Dateien in das `/vault/signatures`-Verzeichnis um sie zu installieren. Auflisten der Namen der kopierten Dateien an die `active`-Direktive in deiner phpMussel-Konfiguration um sie zu aktivieren. - ---- - - -### 3. BENUTZUNG - -#### 3.0 BENUTZUNG (SERVER) - -phpMussel ist dafür vorgesehen, fast vollständig autonom zu funktionieren, ohne dass Sie etwas tun müssen: Sobald es installiert ist, führt es die Tätigkeiten allein aus. - -Das Scannen von Dateiuploads ist automatisiert und standardmäßig eingeschaltet, Sie müssen nichts weiter unternehmen. - -Sie sind jedoch auch in der Lage, phpMussel anzuweisen, spezifische Dateien, Ordner und/oder Archive zu scannen. Um dies auszuführen, stellen Sie sicher, dass diese Konfiguration in der `config.ini` festgelegt ist (`cleanup` muss deaktiviert sein). Erstellen Sie eine mit phpMussel eingebundene PHP-Datei mit folgender Closure: - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan` kann ein String, ein Array oder ein Array von Arrays sein und gibt an, welche Datei, Dateien, Ordner und/oder Ordner gescannt werden sollen. -- `$output_type` ist ein boolescher Wert und gibt an, in welchem Format die Scan-Ergebnisse zurückgegeben werden sollen. `false` weist die Funktion an, Ergebnisse als Integer (Ganzzahl) zurückzugeben. `true` weist die Funktion an, Ergebnisse als lesbaren Text zurückzugeben. Zusätzlich können in beiden Fällen auf die Ergebnisse über globale Variablen nach dem Scannen zugegriffen werden. Diese Variable ist optional und standardmäßig auf `false`. Im Folgenden werden die Integer-Ergebnisse beschrieben: - -| Ergebnisse | Beschreibung | -|---|---| -| -4 | Zeigt an, dass Daten aufgrund der Verschlüsselung nicht gescannt werden konnten. | -| -3 | Zeigt an, dass es Probleme mit den phpMussel Signaturdateien gibt. | -| -2 | Zeigt an, dass beschädigte Dateien gefunden wurden und der Scan nicht abgeschlossen wurde. | -| -1 | Zeigt an, dass fehlende Erweiterungen oder Addons von PHP benötigt werden, um den Scan durchzuführen und der Scan deshalb nicht abgeschlossen wurde. | -| 0 | Zeigt an, dass das Ziel nicht existiert und somit nichts überprüft werden konnte. | -| 1 | Zeigt an, dass das Ziel erfolgreich geprüft wurde und keine Probleme erkannt wurden. | -| 2 | Zeigt an, dass das Ziel erfolgreich geprüft wurde, jedoch Probleme gefunden wurden. | - -- `$output_flatness` ist ein boolescher Wert und gibt der Funktion an, ob die Ergebnisse vom Scannen (falls mehrere Scan-Ziele existieren) als Array oder String zurückgegeben werden sollen. `false` wird die Ergebnisse als Array zurückgeben. `true` wird die Ergebnisse als String zurückgeben. Diese Variable ist optional und standardmäßig auf `false`. - -Beispiel: - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -Gibt so etwas wie dies (als ein String): - -``` - Wed, 16 Sep 2013 02:49:46 +0000 Gestartet. - > Überprüfung '/user_name/public_html/my_file.html': - -> Keine Probleme gefunden. - Wed, 16 Sep 2013 02:49:47 +0000 Fertig. -``` - -Eine vollständige Liste der Signaturen, die phpMussel nutzt und wie diese verarbeitet werden, finden Sie im Abschnitt [SIGNATURENFORMAT](#SECTION8). - -Sollten irgendwelche Fehlalarme (oder "Falsch-Positivs") auftreten, Sie etwas entdecken, was Ihrer Meinung nach blockiert werden sollte oder etwas mit den Signaturen nicht funktionieren, so informieren Sie den Autor, damit die erforderlichen Änderungen durchgeführt werden können. *(Beziehen auf: [Was ist ein "Falsch-Positiv"?](#WHAT_IS_A_FALSE_POSITIVE)).* - -Um die Signaturen, die in phpMussel enthalten sind, zu deaktivieren, fügen Sie die Namen der spezifischen Signatur, die deaktiviert werden soll, durch Kommata abgetrennt, in die Signaturen-Greylist-Datei ein (`/vault/greylist.csv`). - -*Siehe auch: [Wie man spezifische Details über Dateien zugreifen, wenn sie gescannt werden?](#SCAN_DEBUGGING)* - -#### 3.1 BENUTZUNG (CLI - BEFEHLSZEILENMODUS) - -Bitte lesen Sie den Abschnitt "MANUELL INSTALLIEREN (CLI - BEFEHLSZEILENMODUS)". - -Beachten Sie außerdem, dass phpMussel eine *On-Demand-Scanner*; Keine *On-Access-Scanner* (andere als für das Hochladen von Dateien, zum Zeitpunkt der Upload), und nicht den aktiven Speicher überwacht! Es erkennt nur Viren in den Dateien, die hochgeladen werden, und die Sie explizit zum Scannen angegeben haben. - ---- - - -### 4. FRONTEND-MANAGEMENT - -#### 4.0 WAS IST DAS FRONTEND. - -Das Frontend bietet eine bequeme und einfache Möglichkeit, für Ihre phpMussel-Installation zu pflegen, zu verwalten und zu aktualisieren. Sie können Protokolldateien über die Protokollseite anzeigen, teilen und herunterladen, Sie können die Konfiguration über die Konfigurationsseite ändern, Sie können Komponenten über die Aktualisierungsseite installieren und deinstallieren, und Sie können Dateien in Ihrem vault über den Dateimanager hochladen, herunterladen und ändern. - -Das Frontend ist standardmäßig deaktiviert, um unautorisiert Zugriff zu verhindern (unautorisiert Zugriff könnte erhebliche Konsequenzen für Ihre Website und ihre Sicherheit haben). Aktivieren Sie es, indem Sie die unten aufgeführten Anweisungen befolgen. - -#### 4.1 WIE AKTIVIEREN SIE DAS FRONTEND. - -1) Finden Sie die `disable_frontend`-Direktive in der Datei `config.ini`, und setzen Sie es auf `false` (wird es standardmäßig `true` sein). - -2) Greifen Sie `loader.php` aus Ihrem Browser (z.B., `http://localhost/phpmussel/loader.php`). - -3) Einloggen Sie sich mit dem standardmäßig Benutzernamen und Passwort an (admin/password). - -Note: Nachdem Sie sich eingeloggt haben, um einen unautorisiert Zugriff auf das Frontend zu verhindern, sollten Sie sofort Ihren Benutzernamen und Ihr Passwort ändern! Dies ist sehr wichtig, weil es möglich ist, beliebigen PHP-Code auf Ihre Website über das Frontend zu hochladen. - -Für eine optimale Sicherheit wird außerdem empfohlen, die "Zwei-Faktor-Authentifizierung" für alle Frontend-Konten zu aktivieren (Anweisungen unten). - -#### 4.2 WIE MAN DAS FRONTEND BENUTZT. - -Anweisungen sind auf jeder Seite des Frontends vorhanden, um die richtige Verwendung und den vorgesehenen Zweck zu erläutern. Wenn Sie weitere Erklärungen oder spezielle Hilfe benötigen, wenden Sie sich bitte an den Support. Alternativ gibt es einige Videos auf YouTube, die durch Demonstration helfen könnte. - -#### 4.3 ZWEI-FAKTOR-AUTHENTIFIZIERUNG - -Es ist möglich, das Frontend sicherer zu machen, indem Sie die Zwei-Faktor-Authentifizierung ("2FA") aktivieren. Wenn Sie sich bei einem 2FA-aktivierten Konto eingeloggt, wird eine E-Mail an die mit diesem Konto verknüpfte E-Mail-Adresse gesendet. Diese E-Mail enthält einen "2FA-Code", den der Nutzer zusätzlich zum Benutzernamen und Passwort eingeben muss, um sich mit diesem Konto einloggen zu können. Das bedeutet, dass das Erlangen eines Kontopassworts nicht ausreicht, damit sich ein Hacker oder potentieller Angreifer in diesem Konto einloggen kann, da sie auch bereits Zugriff auf die mit diesem Konto verknüpfte E-Mail-Adresse haben müssen, um den mit der Sitzung verbundenen 2FA-Code empfangen und verwenden zu können, dadurch wird das Frontend sicherer. - -Um die Zwei-Faktor-Authentifizierung zu aktivieren, verwenden Sie zunächst die Frontend-Aktualisierungsseite, um die PHPMailer-Komponente zu installieren. phpMussel verwendet PHPMailer zum Senden von E-Mails. Hinweis: Obwohl phpMussel selbst mit PHP >= 5.4.0 kompatibel ist, PHPMailer benötigt PHP >= 5.5.0. Daher ist eine Zwei-Faktor-Authentifizierung für das phpMussel-Frontend für PHP 5.4-Benutzer nicht möglich. - -Nachdem Sie PHPMailer installiert haben, müssen Sie die Konfigurationsdirektiven für PHPMailer über die phpMussel-Konfigurationsseite oder Konfigurationsdatei auffüllen. Weitere Informationen zu diesen Konfigurationsanweisungen finden Sie im Konfigurationsabschnitt dieses Dokuments. Nachdem Sie die PHPMailer-Konfigurationsdirektiven gefüllt haben, setzen Sie `enable_two_factor` auf `true`. Die Zwei-Faktor-Authentifizierung sollte jetzt aktiviert sein. - -Nächster, müssen Sie eine E-Mail-Adresse mit einem Konto verknüpfen, damit phpMussel bei der Einloggen mit diesem Konto weiß, wohin die 2FA-Codes gesendet werden müssen. Um dies zu tun, verwenden Sie die E-Mail-Adresse als Nutzername für das Konto (wie `foo@bar.tld`), oder fügen Sie die E-Mail-Adresse als Teil des Benutzernamens genauso ein wie beim normalen Senden einer E-Mail (wie `Foo Bar `). - -Hinweis: Besonders wichtig ist hier der Schutz Ihres Vault vor unbefugtem Zugriff (z.B., durch die Stärkung der Sicherheit Ihres Servers und die Einschränkung der öffentlichen Zugriffsrechte), da ein unbefugter Zugriff auf Ihre Konfigurationsdatei (die in Ihrem Vault gespeichert ist), Ihre Einstellungen für ausgehenden SMTP (einschließlich SMTP-Benutzername und Passwort) gefährden könnte. Sie sollten sicherstellen, dass Ihr Vault ordnungsgemäß gesichert ist, bevor Sie die Zwei-Faktor-Authentifizierung aktivieren. Wenn dies nicht möglich ist, sollten Sie zumindest ein neues E-Mail-Konto erstellen, das speziell für diesen Zweck vorgesehen ist, um die mit freiliegenden SMTP-Einstellungen verbundenen Risiken zu verringern. - ---- - - -### 5. CLI (BEFEHLSZEILENMODUS) - -phpMussel kann als interaktiver Scanner im CLI-Modus in einer Windows-Systemumgebung genutzt werden. Bitte lesen Sie den Abschnitt INSTALLATION (CLI - BEFEHLSZEILENMODUS). - -Um eine Liste der verfügbaren CLI-Befehle zu erhalten, geben Sie in der Befehlszeile 'c' ein und bestätigen Sie mit Enter. - -Zusätzlich, für Interessenten, ein Video-Tutorial, wie phpMussel im CLI-Modus zu verwenden, können finden Sie hier: -- - ---- - - -### 6. IM PAKET ENTHALTENE DATEIEN - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. EINSTELLUNGEN - -Nachfolgend finden Sie eine Liste der Variablen in der Konfigurationsdatei `config.ini` mit einer kurzen Beschreibung ihrer Funktionen. - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### "general" (Kategorie) -Generelle Konfiguration von phpMussel. - -##### "cleanup" -- Löscht die Scriptvariablen und den Cache nach der Ausführung. False = Nicht löschen; True = Löschen [Standardeinstellung]. Sollten Sie das Script nach der Überprüfung des Uploads nicht mehr nutzen, stellen Sie diese Option auf `true`, um die Speichernutzung zu minimieren. Verwenden Sie das Script noch für weitere Zwecke, stellen Sie die Option auf `false`, um unnötiges mehrfaches Einlesen der Daten in den Speicher zu vermeiden. Normalerweise sollte diese Option auf `true` gesetzt werden, allerdings können Sie das Script dann nur zur Dateiüberprüfung verwenden. -- Kein Einfluss im CLI-Modus. - -##### "scan_log" -- Name einer Datei zum Aufzeichnen aller Resultate von Überprüfungen. Geben Sie einen Dateinamen an oder lassen Sie die Option zum Deaktivieren leer. - -##### "scan_log_serialized" -- Name einer Datei zum Aufzeichnen aller Resultate von Überprüfungen (Format ist serialisiert). Geben Sie einen Dateinamen an oder lassen Sie die Option zum Deaktivieren leer. - -##### "scan_kills" -- Name einer Datei zum Aufzeichnen aller blockierten Uploads. Geben Sie einen Dateinamen an oder lassen Sie die Option zum Deaktivieren leer. - -*Nützlicher Tipp: Wenn du willst, Sie können die Datum/Uhrzeit um die Aufzeichnungen hinzufügen durch diese im Namen einschließlich: `{yyyy}` für komplette Jahr, `{yy}` für abgekürzten Jahr, `{mm}` für Monat, `{dd}` für Tag, `{hh}` für Stunde.* - -*Beispielen:* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### "error_log" -- Einer Datei zum Protokollieren aller erkannten Fehler, die nicht schwerwiegend sind. Geben Sie einen Dateinamen an oder lassen Sie die Option zum Deaktivieren leer. - -##### "truncate" -- Trunkate Protokolldateien, wenn sie eine bestimmte Größe erreichen? Wert ist die maximale Größe in B/KB/MB/GB/TB, die eine Protokolldatei wachsen kann, bevor sie trunkiert wird. Der Standardwert von 0KB deaktiviert die Trunkierung (Protokolldateien können unbegrenzt wachsen). Hinweis: Gilt für einzelne Protokolldateien! Die Größe der Protokolldateien gilt nicht als kollektiv. - -##### "log_rotation_limit" -- Die Protokollrotation begrenzt die Anzahl der Protokolldateien, die gleichzeitig vorhanden sein dürfen. Wenn neue Protokolldateien erstellt werden, und wenn die Gesamtzahl der Protokolldateien den angegebenen Limit überschreitet, wird die angegebene Aktion ausgeführt. Sie können hier das gewünschte Limit angeben. Ein Wert von 0 deaktiviert die Protokollrotation. - -##### "log_rotation_action" -- Die Protokollrotation begrenzt die Anzahl der Protokolldateien, die gleichzeitig vorhanden sein sollten. Wenn neue Protokolldateien erstellt werden, und wenn die Gesamtzahl der Protokolldateien den angegebenen Limit überschreitet, wird die angegebene Aktion ausgeführt. Sie können hier die gewünschte Aktion angeben. Delete = Löschen Sie die ältesten Protokolldateien, bis das Limit nicht mehr überschritten wird. Archive = Zuerst archivieren, und dann löschen Sie die ältesten Protokolldateien, bis das Limit nicht mehr überschritten wird. - -*Technische Erläuterung: "Ältesten" bedeutet, in diesem Zusammenhang, am wenigsten kurzem geändert.* - -##### "timezone" -- Damit wird festgelegt welche Zeitzone phpMussel für Datums/Uhrzeit-Operationen verwenden soll. Wenn Sie es nicht brauchen, ignorieren Sie es. Mögliche Werte werden von PHP bestimmt. Es ist in der Regel statt zur Einstellung der Zeitzone Richtlinie in Ihrer Datei `php.ini` empfohlen, aber manchmal (wie wenn Sie mit begrenzten Shared-Hosting-Provider arbeiten) dies ist nicht immer möglich zu tun, und so, ist diese Option hier zur Verfügung gestellt. - -##### "time_offset" -- *v1: "timeOffset"* -- Wenn Ihr Serverzeit nicht mit Ihrer Ortszeit, Sie können einen Offset hier angeben. Der Zeitversatz ist Minute-basiert. Offset ist in Minuten. -- Beispiel (eine Stunde hinzufügen): `time_offset=60` - -##### "time_format" -- *v1: "timeFormat"* -- Das Datumsformat verwendet von phpMussel. Standardeinstellung = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`. - -##### "ipaddr" -- Ort der IP-Adresse der aktuellen Verbindung im gesamten Datenstrom (nützlich für Cloud-Services) Standardeinstellung = REMOTE_ADDR. Achtung: Ändern Sie diesen Wert nur wenn Sie wissen was Sie tun! - -Empfohlene Werte für "ipaddr": - -Wert | Verwenden ----|--- -`HTTP_INCAP_CLIENT_IP` | Incapsula Reverse Proxy. -`HTTP_CF_CONNECTING_IP` | Cloudflare Reverse Proxy. -`CF-Connecting-IP` | Cloudflare Reverse Proxy (Alternative; Wenn der andere Wert nicht funktioniert). -`HTTP_X_FORWARDED_FOR` | Cloudbric Reverse Proxy. -`X-Forwarded-For` | [Squid Reverse Proxy](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*Definiert durch Server-Konfiguration.* | [Nginx Reverse Proxy](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` | Kein Reverse Proxy (Standardwert). - -##### "enable_plugins" -- Aktivieren Sie die Unterstützung für phpMussel Plugins? False = Nein; True = Ja [Standardeinstellung]. - -##### "forbid_on_block" -- Zurückgegebener 403-HTTP-Header bei einem blockierten Dateiupload. False = Nein (200); True = Ja (403) [Standardeinstellung]. - -##### "unsupported_media_type_header" -- Sollte phpMussel 415 Header senden, wenn Uploads aufgrund von Dateitypen auf der schwarzen Liste blockiert werden? Wenn true, ersetzt diese Einstellung `forbid_on_block`. False = Nein [Standardeinstellung]; True = Ja. - -##### "delete_on_sight" -- Diese Option weist das Script an, Dateien während eines Scans sofort zu löschen, wenn ein Erkennungsmerkmal, ob durch Signaturen oder andere Methoden, zutrifft. Dateien, die als nicht infiziert eingestuft werden, werden nicht berührt. Im Falle von Archiven wird das gesamte Archiv gelöscht, auch wenn nur eine einzige Datei im Archiv infiziert sein sollte. Normalerweise ist es bei einem Dateiupload nicht notwendig, diese Option zu aktivieren, da PHP nach der Ausführung von Scripten den Inhalt vom Cache löscht, d.h. PHP löscht jede Datei, die über den Server hochgeladen wird, sofern Sie nicht verschoben, kopiert oder bereits gelöscht wurde. Diese Option wurde als zusätzliches Maß an Sicherheit hinzugefügt, außerdem für Systeme, deren PHP-Installation nicht dem üblichen Verhalten entspricht. False = Nach der Überprüfung wird die Datei so belassen [Standardeinstellung]; True = Nach der Überprüfung wird die Datei sofort gelöscht, sofern Sie infiziert ist. - -##### "lang" -- Gibt die Standardsprache für phpMussel an. - -##### "lang_override" -- Nach HTTP_ACCEPT_LANGUAGE lokalisieren wann möglich? True = Ja [Standardeinstellung]; False = Nein. - -##### "numbers" -- Gibt an, wie die Nummern angezeigt werden sollen. - -Derzeit unterstützte Werte: - -Wert | Produziert | Beschreibung ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | Standardwert. -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*Beachten: Diese Werte sind nirgends standardisiert und werden wahrscheinlich nicht über das Paket hinaus relevant sein. Auch unterstützte Werte können sich in Zukunft ändern.* - -##### "quarantine_key" -- phpMussel ist in der Lage, Versuche von Datei-Uploads in einem Quarantäne-Verzeichnis zu isolieren, sofern Sie dies tun wollen. Nutzer, die nur daran interessiert sind, ihre Webauftritte oder ihre Hosting-Umgebung zu schützen ohne das Interesse, die markierten Dateien weitergehend zu untersuchen, sollten diese Funktionalität deaktivieren, Nutzer, die diese Dateien zur Ananlyse auf Malware o.ä. benötigen, sollten diese Funktion aktivieren. Die Isolation von markierten Dateien kann manchmal auch bei der Fehlersuche von Fehlalarmen helfen, wenn dies häufiger bei Ihnen auftritt. Um die Quarantänefunktion zu deaktivieren, lassen Sie die Richtlinie `quarantine_key` leer oder löschen Sie den Inhalt dieser Richtlinie, wenn sie nicht bereits leer ist. Um die Quarantänefunktion zu aktivieren, geben Sie einen Wert ein. Der `quarantine_key` ist ein wichtiges Sicherheitsmerkmal der Quarantänfunktionen, um zu verhindern, dass die Quarantänefunktionen einem Exploit ausgesetzt wird und gespeicherte Daten in der Quarantäneumgebung ausgeführt werden können. Der Wert des `quarantine_key` sollte so behandelt werden, wie Ihre Passwörter: Je länger, desto besser, und halten Sie sie geheim. Optimal in Verbindung mit `delete_on_sight`. - -##### "quarantine_max_filesize" -- Die maximal zulässige Dateigröße von Dateien, die in der Quarantäne isoliert werden sollen. Dateien, die größer sind als der angegebene Wert, werden NICHT im Quarantäneverzeichnis gespeichert. Diese Richtlinie ist wichtig, um es einem potentiellen Angreifer zu erschweren, die Quarantäne -und somit Ihren zugesicherten Speicher auf Ihrem Hostservice- mit unerwünschten Daten zu überfluten. Standardeinstellung = 2MB. - -##### "quarantine_max_usage" -- Die maximal zulässige Speichernutzung der Quarantäne. Erreicht die Geamtgröße der Dateien in der Quarantäne diesen Wert, werden die ältesten Dateien in der Quarantäne gelöscht, bis der Wert unterschritten wird. Diese Richtlinie ist wichtig, um es einem potentiellen Angreifer zu erschweren, die Quarantäne -und somit Ihren zugesicherten Speicher auf Ihrem Hostservice- mit unerwünschten Daten zu überfluten. Standardwert = 64MB. - -##### "quarantine_max_files" -- Die maximale Anzahl von Dateien, die in der Quarantäne vorhanden sein können. Wenn neue Dateien zur Quarantäne hinzugefügt werden, werden alte Dateien gelöscht, wenn diese Anzahl überschritten wird, bis der Rest diese Nummer nicht mehr überschreitet. Standardwert = 100. - -##### "honeypot_mode" -- Ist der Honeypot-Modus aktiviert, wird phpMussel jede Datei aus dem Dateiupload isolieren, ohne Rücksicht darauf zu nehmen, ob diese Dateien Signaturen enthalten, es findet auch keine weitere Überprüfung statt. Diese Funktionalität dient ausschließlich dem Zweck der Viren- und Malwareforschung, es wird ausdrücklich nicht empfohlen, phpMussel mit dieser Funktion zum Zwecke der Dateiüberprüfung von Uploads oder anderen Zwecken außer "Honeypotting" zu verwenden. Standardmäßig ist diese Funktion deaktiviert. False = Deativiert [Standardwert]; True = Aktiviert. - -##### "scan_cache_expiry" -- Für wie lange soll phpMussel die Scan-Ergebnisse zwischenspeichern? Wert entspricht der Anzahl Sekunden, wie lange die Scan-Ergebnisse zwischengespeichert werden. Standard ist 21600 Sekunden (6 Stunden); Ein Wert von 0 wird das Zwischenspeichern von Scan-Ergebnissen deaktivieren. - -##### "disable_cli" -- CLI-Modus deaktivieren? CLI-Modus ist standardmäßig aktiviert, kann aber manchmal bestimmte Test-Tools (Beispielsweise PHPUnit) und andere CLI-basierte Anwendungen beeinträchtigen. Wenn Sie den CLI-Modus nicht deaktivieren müssen, sollten Sie diese Anweisung ignorieren. False = CLI-Modus aktivieren [Standardeinstellung]; True = CLI-Modus deaktivieren. - -##### "disable_frontend" -- Frontend-Access deaktivieren? Frontend-Access kann phpMussel einfacher zu handhaben machen, aber es kann auch ein potentielles Sicherheitsrisiko sein. Es wird empfohlen, wenn möglich, phpMussel über die Back-End-Access zu verwalten, aber Frontend-Access ist für den Fall vorgesehen, wenn dies nicht möglich ist. Halten Sie es deaktiviert außer wenn Sie es brauchen. False = Frontend-Access aktivieren; True = Frontend-Access deaktivieren [Standardeinstellung]. - -##### "max_login_attempts" -- Maximale Anzahl der Versucht zum Anmelden (Frontend). Standardeinstellung = 5. - -##### "frontend_log" -- *v1: "FrontEndLog"* -- Datei für die Protokollierung von Frontend Anmelde-Versuchen. Geben Sie einen Dateinamen an oder lassen Sie die Option zum Deaktivieren leer. - -##### "disable_webfonts" -- Web-Fonts deaktivieren? True = Ja [Standardeinstellung]; False = Nein. - -##### "maintenance_mode" -- Deaktiviert alles andere als das Frontend. Manchmal nützlich für die Aktualisierung Ihrer CMS, Frameworks, u.s.w. Wartungsmodus aktivieren? True = Ja; False = Nein [Standardeinstellung]. - -##### "default_algo" -- Definiert den Algorithmus für alle zukünftigen Passwörter und Sitzungen. Optionen: PASSWORD_DEFAULT (Standardeinstellung), PASSWORD_BCRYPT, PASSWORD_ARGON2I (erfordert PHP >= 7.2.0), PASSWORD_ARGON2ID (erfordert PHP >= 7.3.0). - -##### "statistics" -- phpMussel-Nutzungsstatistiken verfolgen? True = Ja; False = Nein [Standardeinstellung]. - -##### "hide_version" -- Versionsinformationen aus Protokollen und Seitenausgabe ausblenden? True = Ja; False = Nein [Standardeinstellung]. - -##### "disabled_channels" -- Dies kann verwendet werden, um zu verhindern, dass phpMussel beim Senden von Anforderungen bestimmte Kanäle verwendet (z.B., beim Aktualisieren, beim Abrufen von Komponentenmetadaten, u.s.w.). - -##### "default_timeout" -- Standardzeitlimit für externe Anforderungen? Standardeinstellung = 12 Sekunden. - -#### "signatures" (Kategorie) -Konfiguration der Signaturen. - -##### "active" -- *v1: "Active"* -- Eine Liste der aktiven Signaturdateien, die durch Kommas getrennt sind. - -*Hinweis:* -- *Signaturdateien müssen zuerst installiert werden, bevor Sie sie aktivieren können.* -- *Damit die Testdateien erkannt werden, müssen die phpMussel-Signaturdateien installiert sein.* -- *Der Wert dieser Einstellung wird im Cache gespeichert. Nach einer Änderung der Konfiguration, muss ggfs. der Cache geleert werden.* - -##### "fail_silently" -- Reaktion von phpMussel auf fehlende oder defekte Signaturen. Ist `fail_silently` deaktiviert, werden fehlende oder defekte Signaturen während des Scanvorgangs gemeldet, ist `fail_silently` aktiviert, werden fehlende oder defekte Signaturen ignoriert, ohne dass entsprechende Probleme gemeldet werden. Diese Option sollte so belassen werden, es sei denn, Sie erwarten Abstürze oder ähnliches. False = Deaktiviert; True = Aktiviert [Standardeinstellung]. - -##### "fail_extensions_silently" -- Soll phpMussel melden, wenn Dateierweiterungen fehlen? Wenn `fail_extensions_silently` deaktiviert ist, werden fehlende Dateierweiterungen beim Scannen gemeldet und wenn `fail_extensions_silently` aktiviert ist, werden fehlende Dateierweiterungen ignoriert und beim Scan gemeldet, dass es mit diesen Dateien keine Probleme gibt. Das Deaktivieren dieser Anweisung kann möglicherweise deine Sicherheit erhöhen, kann aber auch zu mehr Falschmeldungen führen. False = Deaktiviert; True = Aktiviert [Standardeinstellung]. - -##### "detect_adware" -- Soll phpMussel Signaturen für die Erkennung von Adware parsen? False = Nein; True = Ja [Standardeinstellung]. - -##### "detect_joke_hoax" -- Soll phpMussel Signaturen für die Erkennung von Scherz/Fake-Malware/Viren parsen? False = Nein; True = Ja [Standardeinstellung]. - -##### "detect_pua_pup" -- Soll phpMussel Signaturen für die Erkennung von PUAs/PUPs parsen? False = Nein; True = Ja [Standardeinstellung]. - -##### "detect_packer_packed" -- Soll phpMussel Signaturen für die Erkennung von Packern und komprimierten Daten parsen? False = Nein; True = Ja [Standardeinstellung]. - -##### "detect_shell" -- Soll phpMussel Signaturen für die Erkennung von Shell-Scripten parsen? False = Nein; True = Ja [Standardeinstellung]. - -##### "detect_deface" -- Soll phpMussel Signaturen für die Erkennung von Defacements und Defacer parsen? False = Nein; True = Ja [Standardeinstellung]. - -##### "detect_encryption" -- Soll phpMussel verschlüsselte Dateien erkennen und blockieren? False = Nein; True = Ja [Standardeinstellung]. - -#### "files" (Kategorie) -Generelle Konfigurationen für die Handhabung von Dateien. - -##### "max_uploads" -- Maximale erlaubte Anzahl zu überprüfender Dateien während eines Dateiuploads bevor der Scan abgebrochen und der Nutzer darüber informiert wird, dass er zu viele Dateien auf einmal hochgeladen hat. Bietet einen Schutz gegen den theoretischen Angriff eines DDoS auf Ihr System oder CMS, indem der Angreifer phpMussel überlastet und den PHP-Prozess zum Stillstand bringt. Empfohlen: 10. Sie können den Wert abhängig von Ihrer Hardware erhöhen oder senken. Beachten Sie, dass dieser Wert nicht den Inhalt von Archiven berücksichtigt. - -##### "filesize_limit" -- Begrenzung der Dateigröße in KB. 65536 = 64MB [Standardeinstellung]; 0 = Keine Begrenzung (wird immer zur Greylist hinzugefügt), jeder (positive) numerische Wert wird akzeptiert. Dies ist nützlich, wenn Ihre PHP-Konfiguration den verfügbaren Speicherverbrauch je Prozess einschränkt oder die Dateigröße von Uploads begrenzt. - -##### "filesize_response" -- Handhabung von Dateien, die die Begrenzung der Dateigröße (sofern angegeben) überschreiten. False = Hinzufügen zur Whitelist; True = Hinzufügen zur Blacklist [Standardeinstellung]. - -##### "filetype_whitelist", "filetype_blacklist", "filetype_greylist" -- Sofern Ihr System spezielle Dateitypen im Upload erlaubt oder komplett verweigert, so unterteilen Sie diese Dateitypen in Whitelists, Blacklists oder Greylists, um den Scanvorgang zu beschleunigen, indem diese Dateitypen übersprungen werden. Format ist CSV (comma separated values, Komma-getrennte Werte). Möchten Sie lieber alles überprüfen lassen, so lassen Sie die Variable(n) leer; Dies deaktiviert die Whitelist/Blacklist/Greylist. -- Logische Reihenfolge der Verarbeitung ist: - - Wenn der Dateityp in der Whitelist ist, scanne und blockieren nicht die Datei, und überprüfe nicht wenn die Datei in der Whitelist oder in der Greylist ist. - - Wenn der Dateityp in der Blacklist ist, scanne nicht die Datei aber blockieren sie trotzdem, und überprüfe nicht wenn die Datei in der Greylist ist. - - Wenn die Greylist leer ist oder wenn die Greylist nicht leer ist und der Dateityp in der Greylist ist, scanne die Datei wie standardmäßig eingestellt ist und stelle fest, ob diese blockiert werden soll, basierend auf dem Scan, aber wenn die Greylist nicht leer ist und der Dateityp nicht in der Greylist ist, behandel die Datei als ob sie in der Blacklist ist, scanne sie nicht aber blockiere sie trotzdem. - -##### "check_archives" -- Soll der Inhalt von Archiven überprüft werden? False = Nein (keine Überprüfung); True = Ja (wird überprüft) [Standardeinstellung]. - -Format | Kann lesen | Kann rekursiv lesen | Kann die Verschlüsselung erkennen | Notizen ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | Benötigt [libzip](https://secure.php.net/manual/en/zip.requirements.php) (normalerweise sowieso mit PHP gebündelt). Auch unterstützt (verwendet das Zip-Format): ✔️ OLE-Objekt-Erkennung. ✔️ Office-Makro-Erkennung. -Tar | ✔️ | ✔️ | ➖ | Keine besonderen Anforderungen. Format unterstützt keine Verschlüsselung. -Rar | ✔️ | ✔️ | ✔️ | Benötigt die [rar](https://pecl.php.net/package/rar)-Erweiterung (Wenn diese Erweiterung nicht installiert ist, kann phpMussel keine rar-Dateien lesen). -Phar | ❌ | ❌ | ❌ | Die Unterstützung für das Lesen von phar-Dateien wurde in v1.6.0 entfernt, und wird aufgrund von Sicherheitsbedenken nicht erneut hinzugefügt. - -*Wenn jemand in der Lage und bereit ist, Unterstützung beim Lesen anderer Archivformate zu implementieren, wäre eine solche Hilfe willkommen.* - -##### "filesize_archives" -- Soll das Blacklisting/Whitelisting der Dateigröße auf den Inhalt des Archivs übertragen werden? False = Nein (alles nur in die Greylist aufnehmen); True = Ja [Standardeinstellung]. - -##### "filetype_archives" -- Soll das Blacklisting/Whitelisting des Dateityps auf den Inhalt des Archivs übertragen werden? False = Nein (alles nur in die Greylist aufnehmen) [Standardeinstellung]; True = Ja. - -##### "max_recursion" -- Maximale Grenze der Rekursionstiefe von Archiven. Standardwert = 3. - -##### "block_encrypted_archives" -- Verschlüsselte Archive erkennen und blockieren? Denn phpMussel ist nicht in der Lage, die Inhalte von verschlüsselten Archiven zu scannen. Es ist möglich, dass Archiv-Verschlüsselung von Angreifern zum Umgehen von phpMussel, Antiviren-Scanner und weiterer solcher Schutzlösungen verwendet wird. Die Anweisung, dass phpMussel verschlüsselte Archive blockiert kann möglicherweise helfen, die Risiken, die mit dieser Möglichkeit verbunden sind, zu verringern. False = Nein; True = Ja [Standardeinstellung]. - -##### "max_files_in_archives" -- Maximale Anzahl Dateien, die aus Archiven gescannt werden sollen, bevor der Scan abgebrochen wird. Standardwert = 0 (kein Maximum). - -#### "attack_specific" (Kategorie) -Konfiguration für spezifische Angriffserkennung. - -Chameleon-Angriffserkennung: False = Deaktiviert; True = Aktiviert. - -##### "chameleon_from_php" -- Suche nach PHP-Headern in Dateien, die weder PHP-Dateien noch erkannte Archive sind. - -##### "can_contain_php_file_extensions" -- Eine Liste von Dateierweiterungen, die PHP-Code enthalten dürfen, getrennt durch Kommas. Wenn die PHP-Chameleon-Angriffserkennung aktiviert ist, werden Dateien mit PHP-Code, die Erweiterungen aufweisen, die nicht in dieser Liste enthalten sind, als PHP-Chameleon-Angriffe erkannt. - -##### "chameleon_from_exe" -- Suche nach ausführbaren Headern in Dateien, die weder ausführbar noch erkannte Archive sind und nach ausführbaren Dateien, deren Header nicht korrekt sind. - -##### "chameleon_to_archive" -- Identifizieren Sie falsche Header in Archiven und komprimierten Dateien. Unterstützt: BZ/BZIP2, GZ/GZIP, LZF, RAR, ZIP. - -##### "chameleon_to_doc" -- Suche nach Office-Dokumenten, deren Header nicht korrekt sind (Unterstützt: DOC, DOT, PPS, PPT, XLA, XLS, WIZ). - -##### "chameleon_to_img" -- Suche nach Bildern, deren Header nicht korrekt sind (Unterstützt: BMP, DIB, PNG, GIF, JPEG, JPG, XCF, PSD, PDD, WEBP). - -##### "chameleon_to_pdf" -- Suche nach PDF-Dateien, deren Header nicht korrekt sind. - -##### "archive_file_extensions" -- Erkannte Archiv-Dateierweiterungen (Format ist CSV; nur bei Problemen hinzufügen oder entfernen; unnötiges Entfernen könnte Fehlalarme für Archive auslösen, unnötiges Hinzufügen fügt das zur Whitelist hinzu, was vorher als möglicher Angriff definiert wurde; Ändern Sie diese Liste äußerst vorsichtig; Beachten Sie, dass dies keinen Einfluss darauf hat, wozu Archive fähig sind und nicht auf Inhaltsebene analysiert werden können). Diese Liste enthält die Archivformate, die am häufigsten von der Mehrzahl der Systeme und CMS verwendet werden, ist aber absichtlich nicht vollständig. - -##### "block_control_characters" -- Sollen Dateien, welche Steuerzeichen (andere als Newline/Zeilenumbruch) enthalten, blockiert werden? (`[\x00-\x08\x0b\x0c\x0e\x1f\x7f]`) Sofern Sie _**NUR**_ reinen Text hochladen, können Sie diese Option aktivieren, um Ihrem System zusätzlichen Schutz zu bieten. Sollten Sie anderes als reinen Text hochladen, werden bei aktivierter Option Fehlalarme ausgelöst. False = Nicht blockieren [Standardeinstellung]; True = Blockieren. - -##### "corrupted_exe" -- Defekte Dateien und Parse-Errors. False = Ignorieren; True = Blockieren [Standardeinstellung]. Soll auf potentiell defekte ausführbare Dateien geprüft und diese blockiert werden? Oftmals (aber nicht immer), wenn bestimmte Aspekte einer PE-Datei beschädigt sind oder nicht korrekt verarbeitet werden können, ist dies ein Hinweis auf eine infizierte Datei. Viele Antiviren-Programme nutzen verschiedene Methoden, um Viren in solchen Dateien zu erkennen, sofern sich der Programmierer eines Virus dieser Tatsache bewußt ist, wird er versuchen, diese Maßnahmen zu verhindern, damit der Virus unentdeckt bleibt. - -##### "decode_threshold" -- Schwelle der Menge der Rohdaten, die durch den Decode-Befehl erkannt werden sollen (sofern während des Scanvorgangs spürbare Performance-Probleme auftreten). Standardeinstellung ist 512KB. Null oder ein Null-Wert deaktiviert die Beschränkung (Entfernen aller solcher Einschränkungen basierend auf die Dateigröße). - -##### "scannable_threshold" -- Schwelle der Menge der Rohdaten, die phpMussel lesen und scannen darf (sofern während des Scanvorgangs spürbare Performance-Probleme auftreten). Standardeinstellung ist 32MB. Null oder ein Null-Wert deaktiviert die Beschränkung. Generell sollte dieser Wert nicht kleiner sein als die durchschnittliche Dateigröße von Datei-Uploads, die Sie auf Ihrem Server oder Ihrer Website erwarten, sollte nicht größer sein als die Richtlinie filesize_limit und sollte nicht mehr als ein Fünftel der Gesamtspeicherzuweisung für PHP in der Konfigurationsdatei `php.ini` sein. Diese Richtlinie verhindert, dass phpMussel zu viel Speicher benutzt (was phpMussel daran hindern würde, einen Scan ab einer bestimmten Dateigröße erfolgreich durchzuführen). - -##### "allow_leading_trailing_dots" -- Erlaube führende und nachfolgende Punkte in Dateinamen? Dies kann manchmal verwendet werden, um Dateien auszublenden oder um einige Systeme dazu zu bringen, Directory Traversal zuzulassen. False = Nicht erlauben [Standardeinstellung]. True = Erlauben. - -##### "block_macros" -- Versuchen Sie, alle Dateien die Makros enthalten zu blockieren? Einige Arten von Dokumenten und Tabellen können ausführbare Makros enthalten und somit einen gefährlichen potenziellen Malware-Vektor darstellen. False = Nicht blockieren [Standardeinstellung]; True = Blockieren. - -#### "compatibility" (Kategorie) -Kompatibilitätsdirektiven für phpMussel. - -##### "ignore_upload_errors" -- Diese Direktive sollte generell AUS geschaltet bleiben sofern es nicht für die korrekte Funktion von phpMussel auf Ihrem System benötigt wird. Normalerweise, sobald phpMussel bei AUS geschalteter Direktive ein Element in `$_FILES` array() erkennt, wird es beginnen, die Dateien, die diese Elemente repräsentieren, zu überprüfen, sollten diese Elemente leer sein, gibt phpMussel eine Fehlermeldung zurück. Dies ist das normale Verhalten von phpMussel. Bei einigen CMS werden allerdings als normales Verhalten leere Elemente in `$_FILES` zurückgegeben oder Fehlermeldungen ausgelöst, sobald sich dort keine leeren Elemente befinden, in diesem Fall tritt ein Konflikt zwischen dem normalen Verhalten von phpMussel und dem CMS auf. Sollte eine solche Konstellation bei Ihrem CMS zutreffen, so stellen Sie diese Option AN, phpMussel wird somit nicht nach leeren Elementen suchen, Sie bei einem Fund ignorieren und keine zugehörigen Fehlermeldungen ausgeben, der Request zum Seitenaufruf kann somit fortgesetzt werden. False = AUS/OFF; True = AN/ON. - -##### "only_allow_images" -- Wenn auf true gesetzt, alle vom Scanner gefundenen Dateien die keine Bilder sind, werden sofort markiert, ohne gescannt zu werden. Dies kann in einigen Fällen hilfreich sein für die Durchführung eines Scans erforderliche Zeit zu verkürzen. Standardmäßig auf false gesetzt. - -#### "heuristic" (Kategorie) -Heuristic-Direktive für phpMussel. - -##### "threshold" -- Es gibt bestimmte Signaturen in phpMussel, die dazu dienen, verdächtige und potenziell bösartige Eigenschaften von hochgeladenen Dateien zu identifizieren, ohne diese Dateien an sich zu überprüfen und als bösartig zu identifizieren. Diese Direktive teilt phpMussel mit, welche Gewichtung von verdächtigen und potenziell bösartigen Eigenschaften zulässig ist, bevor diese Dateien als bösartig gekennzeichnet werden. Die Definition des Gewichts ist in diesem Zusammenhang die Gesamtzahl der verdächtigen und potenziell bösartigen Eigenschaften. Standardwert ist 3. Ein niedriger Wert in der Regel führt zu einem vermehrten Auftreten von Fehlalarmen und eine größere Anzahl von schädlichen Dateien werden erkannt, während ein höherer Wert weniger Fehlalarme auslöst und eine geringere Anzahl von schädlichen Dateien markiert werden. Dieser Wert sollte so belassen werden, es sei denn, Sie erkennen Probleme, die durch diese Einstellung hervorgerufen werden. - -#### "virustotal" (Kategorie) -Konfiguration für Virus Total Integration. - -##### "vt_public_api_key" -- Optional, phpMussel kann Dateien mit der Virus Total API scannen, um einen noch besseren Schutz gegen Viren, Trojaner, Malware und andere Bedrohungen zu bieten. Standardmäßig ist das Scannen von Dateien mit der Virus Total API deaktiviert. Um es zu aktivieren, wird ein API Schlüssel von Virus Total benötigt. Wegen dem großen Vorteil den dir das bietet, empfehle ich die Aktivierung. Bitte sei dir bewusst, um die Virus Total API zu nutzen, dass du deren Nutzungsbedingungen zustimmen und dich an alle Richtlinien halten musst, wie es in der Virus Total Dokumentation beschrieben ist! Du darfst diese Integrations-Funktion nicht verwenden AUSSER: - - Du hast die Nutzungsbedingungen von Virus Total und der API gelesen und stimmst diesen zu. Die Nutzungsbedingungen von Virus Total und der API findet man [hier](https://www.virustotal.com/en/about/terms-of-service/). - - Du hast, zu einem Minimum, das Vorwort von der Virus Total Public API Dokumentation gelesen und verstanden (alles nach "VirusTotal Public API v2.0" aber vor "Contents"). Die Virus Total Public API Dokumentation findet man [hier](https://www.virustotal.com/en/documentation/public-api/). - -Anmerkung: Falls das Scannen von Dateien mit der Virus Total API deaktiviert ist, brauchst du keine der Direktiven in dieser Kategorie (`virustotal`) zu überprüfen, weil keine davon etwas machen wenn dies deaktiviert ist. Um einen Virus Total API Schlüssel zu erhalten, klicke auf deren Webseite auf den "Treten Sie unserer Community bei" Link oben rechts auf der Seite, gebe die geforderten Daten an und klick auf "Anmelden" wenn du fertig bist. Folge allen Anweisungen und wenn du deinen öffentlichen API Schlüssel hast, kopier eund füge den öffentlichen API Schlüssel bei der `vt_public_api_key` Direktive der `config.ini` Konfigurations-Datei ein. - -##### "vt_suspicion_level" -- phpMussel wird standardmäßig die mit der Virus Total API zu scannenden Dateien auf Dateien eisnchränken, die es als "verdächtig" betrachtet. Du kannst optional diese Einschränkung durch Änderung des Wertes der `vt_suspicion_level` Direktive anpassen. -- `0`: Dateien werden nur als verdächtig betrachtet, falls durch den Scan mit phpMussel mit eigenen Signaturen, diese eine heuristische Gewichtung haben. Das würde bdeuten, dass die Verwendung der Virus Total API für eine zweite Meinung ist, wenn phpMussel eine Datei verdächtigt, dass diese schädlich ist aber nicht vollkommen ausschließen kann, dass diese potentiell harmlos (nicht schädlich) und somit diese andererseits normalerweise nicht blockieren oder als schädlich markieren würde. -- `1`: Dateien werden als verdächtig betrachtet, falls durch den Scan mit phpMussel mit eigenen Signaturen, diese eine heuristische Gewichtung haben, falls diese eine ausführbare Datei (PE Dateien, Mach-O Dateien, ELF/Linux Dateien, u.s.w.), oder ein Format sind, das ausführbare Daten enthalten könnte (solche wie ausführbare Makros, DOC/DOCX Dateien, Archivdateien wie RAR, ZIP und u.s.w.). Das ist die normale und empfohlene Verdachts-Stufe, was bedeutet, dass die Virus Total API für eine zweite Meinung genutzt wird, wenn phpMussel in einer als verdächtig betrachteten Datei nichts schädliches oder unstimmiges findet, die es als verdächtig ansieht und somit normalerweise nicht blockieren oder als schädlich markieren würde. -- `2`: Alle Dateien werden als verdächtig angesehen und sollten mit der Virus Total API gescannt werden. Ich empfehle nicht, diese Verdachts-Stufe anzuwenden, da dadurch eine schnellere Erreichung des API Limits riskiert wird, als es normalerweise der Fall wäre. Aber es gibt bestimmte Umstände (zB wenn der Webmaster oder Hostmaster sehr wenig Vertrauen in die hochgeladenen Inhalte der Nutzer hat) wo diese Verdachts-Stufe angemessen sein könnte. Mit dieser Verdachts-Stufe werden alle Dateien, die normalerweise nicht blockiert oder als schädlich markiert würden, mit der Virus Total API gescannt. Beachte, dass phpMussel die Virus Total API nicht nutzen wird, wenn dein API Limit erreicht ist (unabhängig von der Verdachts-Stufe) und dass dein Limit wahrscheinlich schneller erreicht wird, wenn diese Verdachts-Stufe verwendet wird. - -Hinweis: Unabhängig von der Verdachts-Stufe wird jede Datei auf der Whitelist oder der Blacklist nicht durch phpMussel mit der Virus Total API gescannt, da diese Dateien bereits als schädlich oder harmlos deklariert wurden und ansonste gescannt würden, und somit zusätzliches Scannen nicht erforderlich ist. Die Möglichkeit von phpMussel Dateien mit der Virus Total API zu scannen ist dafür gedacht, weiteres Vertrauen aufzubauen, ob eine Datei unter den Umständen schädlich oder harmlost ist, wo phpMussel sich selber nicht sicher ist ob eine Datei schädlich oder harmlos ist. - -##### "vt_weighting" -- Soll phpMussel die Ergebnisse des Scans mit der Virus Total API als Erkennungen oder Erkennungs-Gewichtung anwenden? Diese Direktive existiert, weil das Scannen einer Datei mit mehreren Engines (wie es Virus Total macht) in einer höheren Erkennungsrate resultieren sollte (und somit eine größere Anzahl schädlicher Dateien erwischt werden), dies kann aber zu in einer höheren Anzahl von Falschmeldungen führen. Unter manchen Umständen würden die Ergebnisse des Scans besser als Vertrauens-Wert als ein eindeutiges Ergebnis verwendet werden. Wenn der Wert 0 verwendet wird, werden die Ergebnisse des Scans als Erkennungen angewendet und somit wird phpMussel, falls irgendeine von Virus Total verwendete Engine die gescannte Datei als schädlich markiert, die Datei als schädlich betrachten. Wird ein anderer Wert verwendet, werden die Ergebnisse des Scans mit der Virus Total API als Erkennungs-Gewichtung angewendet. Die Anzahl der von Virus Total verwendeten Engines, welche die Datei als schädlich markieren, wird als Vertrauens-Wert (oder Erkennungs-Gewichtung) dienen, ob die gescannte Datei von phpMussel als schädlich angesehen werden soll (der verwendete Wert wird den Mindest-Vertrauens-Wert oder erforderliche Gewichtung repräsentieren, um als schädlich angesehen zu werden. Standardmäßig der Wert 0 verwendet. - -##### "vt_quota_rate" und "vt_quota_time" -- Laut der Virus Total API Dokumentation, "ist diese auf 4 Anfragen irgendeiner Art in einer 1 Minuten Zeitspanne limitiert. Falls du einen Honeyclient, Honeypot oder einen andere Automatisierung verwendest, was etwas zu VirusTotal beiträgt und nicht nur Berichte abruft, bist du für ein höheres Limit berechtigt". Standardmäßig wird sich phpMussel strikt daran halten, da aber diese Limits erhöht werden können, stehen dir diese zwei Direktiven zur Verfügung um phpMussel anzuweisen, an welches Limit es sich halten soll. Außer du bist dazu aufgefordert, ist es nicht empfohlen diese Werte zu erhöhen. Solltest du aber Probleme bezogen auf das Erreichen des Limits haben, _**SOLLTE**_ das Verringern dieser Werte manchmal helfen. Dein Limit wird festgelegt als `vt_quota_rate` Anfragen jeder Art in jeder `vt_quota_time` Minuten Zeitspanne. - -#### "urlscanner" (Kategorie) -Ein URL-Scanner ist mit phpMussel enthalten, der bösartige URLs in Daten und gescannten Dateien erkennt. - -Hinweis: Wenn der URL-Scanner deaktiviert ist, müssen Sie keine der Anweisungen in dieser Kategorie (`urlscanner`) überprüfen, da dann keine davon funktioniert. - -URL-Scanner API-Abfrage Konfiguration. - -##### "google_api_key" -- Aktiviert API-Abfragen zur Google Safe Browsing API wenn der benötigte API-Schlüssel festgelegt ist. Google Safe Browsing API-Abfragen erfordern einen API-Schlüssel, den Sie [hier](https://console.developers.google.com/) erhalten können. -- Hinweis: Die cURL-Erweiterung ist erforderlich, um diese Funktion zu nutzen. - -##### "maximum_api_lookups" -- Die maximal erlaubte Anzahl von API-Abfragen die bei jedem Scan-Durchgang durchgeführt werden. Weil jede zusätzliche API-Abfrage die Zeit für einen Scan-Durchgang erhöht, wollen Sie unter Umständen ein Limit festlegen, um den gedamten Scan-Prozess zu beschleunigen. Wenn 0 eingestellt wird, wird kein Limit angewendet. Standardmäßig ist der Wert auf 10 gesetzt. - -##### "maximum_api_lookups_response" -- Was soll passieren, wenn die maximale Anzahl der erlaubten API-Abfragen erreicht wird? False = Nichts (Verarbeitung fortführen) [Standardeinstellung]; True = Markiere/blockiere die Datei. - -##### "cache_time" -- Wie lange (in Sekunden) sollen die Ergebnisse von API-Abfragen zwischengespeichert werden? Standardeinstellung ist 3600 Sekunden (1 Stunde). - -#### "legal" (Kategorie) -Konfiguration für gesetzliche Anforderungen. - -*Für weitere Informationen zu gesetzlichen Anforderungen und wie sich dies auf Ihre Konfiguration-Anforderungen auswirken könnte, bitte beachten Sie den Sektion "[RECHTSINFORMATION](#SECTION11)" der Dokumentation.* - -##### "pseudonymise_ip_addresses" -- Pseudonymisieren IP-Adressen beim Schreiben der Protokolldateien? True = Ja [Standardeinstellung]; False = Nein. - -##### "privacy_policy" -- Die Adresse einer relevanten Datenschutz-Bestimmungen, die in der Fußzeile aller generierten Seiten angezeigt werden soll. Geben Sie eine URL ein, oder lassen Sie sie leer, um sie zu deaktivieren. - -#### "template_data" (Kategorie) -Anweisungen/Variablen für Templates und Themes. - -Template-Daten bezieht sich auf die HTML-Ausgabe die verwendet wird, um die "Upload blockiert"-Nachricht Benutzern anzuzeigen, wenn eine hochgeladene Datei blockiert wird. Falls Sie benutzerdefinierte Themes für phpMussel verwenden, wird die HTML-Ausgabe von der `template_custom.html`-Datei verwendet, ansonsten wird die HTML-Ausgabe von der `template.html`-Datei verwendet. Variablen, die in diesem Bereich der Konfigurations-Datei festgelegt werden, werden als HTML-Ausgabe geparst, indem jede Variable mit geschweiften Klammern innerhalb der HTML-Ausgabe mit den entsprechenden Variablen-Daten ersetzt wird. Zum Beispiel, wenn `foo="bar"`, dann wird jedes Exemplar mit `

{foo}

` innerhalb der HTML-Ausgabe zu `

bar

`. - -##### "theme" -- Standard-Thema für phpMussel verwenden. - -##### "magnification" -- *v1: "Magnification"* -- Schriftvergrößerung. Standardeinstellung = 1. - -##### "css_url" -- Die Template-Datei für benutzerdefinierte Themes verwendet externe CSS-Regeln, wobei die Template-Datei für das normale Theme interne CSS-Regeln verwendet. Um phpMussel anzuweisen, die Template-Datei für benutzerdefinierte Themes zu verwenden, geben Sie die öffentliche HTTP-Adresse von den CSS-Dateien des benutzerdefinierten Themes mit der `css_url`-Variable an. Wenn Sie diese Variable leer lassen, wird phpMussel die Template-Datei für das normale Theme verwenden. - -#### "PHPMailer" (Kategorie) -PHPMailer Konfiguration. - -Derzeit verwendet phpMussel PHPMailer nur für die Frontend-Zwei-Faktor-Authentifizierung. Wenn Sie das Frontend oder Zwei-Faktor-Authentifizierung für das Frontend nicht verwenden, können Sie diese Anweisungen ignorieren. - -##### "event_log" -- *v1: "EventLog"* -- Eine Datei zum Protokollieren aller Ereignisse in Bezug auf PHPMailer. Geben Sie einen Dateinamen an oder lassen Sie die Option zum Deaktivieren leer. - -##### "skip_auth_process" -- *v1: "SkipAuthProcess"* -- Wenn Sie diese Direktive auf `true` setzen, wird PHPMailer angewiesen, den normalen Authentifizierungsprozess zu überspringen, der normalerweise beim Senden von E-Mails über SMTP auftritt. Dies sollte vermieden werden, da das Überspringen dieses Prozesses ausgehende E-Mails MITM-Angriffen aussetzen kann. Dies kann jedoch in Fällen erforderlich sein, in denen dieser Prozess die Verbindung von PHPMailer zu einem SMTP-Server verhindert. - -##### "enable_two_factor" -- *v1: "Enable2FA"* -- Diese Direktive bestimmt, ob 2FA für Frontend-Konten verwendet werden soll. - -##### "host" -- *v1: "Host"* -- Der SMTP-Host zum Senden von ausgehende E-Mails. - -##### "port" -- *v1: "Port"* -- Die Portnummer zum Senden von ausgehende E-Mails. Standardeinstellung = 587. - -##### "smtp_secure" -- *v1: "SMTPSecure"* -- Das Protokoll zum Senden von E-Mails über SMTP (TLS oder SSL). - -##### "smtp_auth" -- *v1: "SMTPAuth"* -- Diese Direktive bestimmt, ob SMTP-Sitzungen authentifiziert werden sollen (sollte normalerweise in Ruhe gelassen werden). - -##### "username" -- *v1: "Username"* -- Der Benutzername zum Senden von E-Mails über SMTP. - -##### "password" -- *v1: "Password"* -- Das Passwort zum Senden von E-Mails über SMTP. - -##### "set_from_address" -- *v1: "setFromAddress"* -- Die Absenderadresse, die beim Senden von E-Mails über SMTP verwendet werden soll. - -##### "set_from_name" -- *v1: "setFromName"* -- Der Name des Absenders, der beim Senden von E-Mails über SMTP verwendet werden soll. - -##### "add_reply_to_address" -- *v1: "addReplyToAddress"* -- Die Antwortadresse, die beim Senden von E-Mails über SMTP verwendet werden soll. - -##### "add_reply_to_name" -- *v1: "addReplyToName"* -- Der Name für der Antwort, die beim Senden von E-Mails über SMTP verwendet werden soll. - -#### "supplementary_cache_options" (Kategorie) -Zusätzliche Cache-Optionen. - -##### "enable_apcu" -- Dies gibt an, ob APCu für das Caching verwendet werden soll. Standardeinstellung = False. - -##### "prefix" -- Dieser Wert hier wird zu allen Cache-Eintragsschlüsseln vorangestellt. Standardmäßig leer. Wenn mehrere Installationen auf demselben Server vorhanden sind, kann dies nützlich sein, um ihre Caches getrennt zu halten. - -##### "enable_memcached" -- Dies gibt an, ob Memcached für das Caching verwendet werden soll. Standardeinstellung = False. - -##### "enable_redis" -- Dies gibt an, ob Redis für das Caching verwendet werden soll. Standardeinstellung = False. - -##### "enable_pdo" -- Dies gibt an, ob PDO für das Caching verwendet werden soll. Standardeinstellung = False. - -##### "memcached_host" -- Memcached Hostwert. Standardeinstellung = "localhost". - -##### "memcached_port" -- Memcached Portwert. Standardeinstellung = "11211". - -##### "redis_host" -- Redis Hostwert. Standardeinstellung = "localhost". - -##### "redis_port" -- Redis Portwert. Standardeinstellung = "6379". - -##### "redis_timeout" -- Redis Timeout-Wert. Standardeinstellung = "2.5". - -##### "pdo_dsn" -- PDO DSN-Wert. Standardeinstellung = "`mysql:dbname=phpmussel;host=localhost;port=3306`". - -*Siehe auch: [Was ist ein „PDO DSN“? Wie kann ich PDO mit phpMussel verwenden?](#HOW_TO_USE_PDO)* - -##### "pdo_username" -- PDO Nutzername. - -##### "pdo_password" -- PDO Passwort. - ---- - - -### 8. SIGNATURENFORMAT - -*Siehe auch:* -- *[Was ist eine "Signatur"?](#WHAT_IS_A_SIGNATURE)* - -Die ersten 9 Bytes `[x0-x8]` einer phpMussel Signaturdatei sind `phpMussel`, und handeln als eine "Magische Zahl" (Magic Number), um sie als Signaturdateien zu identifizieren (dies hilft zu verhindern, dass phpMussel versehentlich versucht, Dateien zu verwenden, die keine Signaturdateien sind). Das nächste Byte `[x9]` identifiziert die Art der Signaturdatei, welche phpMussel wissen muss, um die Signaturdatei korrekt interpretieren zu können. Folgende Arten von Signaturdateien werden erkannt: - -Art | Byte | Beschreibung ----|---|--- -`General_Command_Detections` | `0?` | Für CSV (comma separated values, Komma-getrennte Werte) Signaturdateien. Werte (Signaturen) sind hexadezimal-codierte Zeichenfolgen, um in Dateien zu suchen. Signaturen hier haben keine Namen oder andere Details (nur die Zeichenfolge zu erkennen). -`Filename` | `1?` | Für Dateinamen-Signaturen. -`Hash` | `2?` | Für Hash-Signaturen. -`Standard` | `3?` | Für Signaturdateien, die direkt mit Dateiinhalten arbeiten. -`Standard_RegEx` | `4?` | Für Signaturdateien, die direkt mit Dateiinhalten arbeiten. Signaturen können Reguläre Ausdrücke enthalten. -`Normalised` | `5?` | Für Signaturdateien, die mit ANSI-normalisiertem Dateiinhalt arbeiten. -`Normalised_RegEx` | `6?` | Für Signaturdateien, die mit ANSI-normalisiertem Dateiinhalt arbeiten. Signaturen können Reguläre Ausdrücke enthalten. -`HTML` | `7?` | Für Signaturdateien, die mit HTML-normalisierte Dateiinhalte arbeiten. -`HTML_RegEx` | `8?` | Für Signaturdateien, die mit HTML-normalisierte Dateiinhalte arbeiten. Signaturen können Reguläre Ausdrücke enthalten. -`PE_Extended` | `9?` | Für Signaturdateien, die mit PE-Metadaten arbeiten (andere als PE-Sektional-Metadaten). -`PE_Sectional` | `A?` | Für Signaturdateien, die mit PE-Sektional-Metadaten arbeiten. -`Complex_Extended` | `B?` | Für Signaturdateien, die mit verschiedenen Regeln arbeiten, die auf erweiterten Metadaten basieren, die von phpMussel generiert wurden. -`URL_Scanner` | `C?` | Für Signaturdateien, die mit URLs arbeiten. - -Das nächste Byte `[x10]` ist ein Zeilenumbruch `[0A]`, und schließt den phpMussel-Signaturdatei-Header ab. - -Jede nicht leere Zeile ist danach eine Signatur oder Regel. Jede Signatur oder Regel belegt eine Zeile. Die unterstützten Signaturformate werden nachfolgend beschrieben. - -#### *DATEINAMEN-SIGNATUREN* -Alle Dateinamen-Signaturen besitzen folgendes Format: - -`NAME:FNRX` - -NAME ist der Name, um die Signatur zu benennen und FNRX ist das Regex-Erkennungsmuster zum Vergleich von (nicht kodierten) Dateinamen. - -#### *HASH-SIGNATUREN* -Alle Hash-Signaturen besitzen folgendes Format: - -`HASH:FILESIZE:NAME` - -HASH ist der Hash (in der Regel MD5) der ganzen Datei, FILESIZE ist die gesamte Größe der Datei und NAME ist der Name, um die Signatur zu benennen. - -#### *PE-SECTIONAL-SIGNATUREN* -Alle PE-Sectional-Signaturen besitzen folgendes Format: - -`SIZE:HASH:NAME` - -HASH ist der MD5-Hash einer PE-Sektion der Datei, FILESIZE ist die gesamte Größe der PE-Sektion und NAME ist der Name, um die Signatur zu benennen. - -#### *PE-ERWEITERT-SIGNATUREN* -Alle PE-Erweitert-Signaturen besitzen folgendes Format: - -`$VAR:HASH:SIZE:NAME` - -Wo $VAR der Name der zu prüfenden PE-Variable ist, HASH ist der MD5-Hash von dieser Variable, SIZE ist die gesamte Größe von dieser Variable und NAME ist der Name für diese Signatur. - -#### *KOMPLEX-ERWEITERT-SIGNATUREN* -Komplex-Erweitert-Signaturen sind ziemlich unterschiedlich zu anderen Arten von möglichen Signaturen für phpMussel. Insofern, dass sie gegen das übereinstimmen was die Signaturen spezifizieren und das können mehrere Kriterien sein. Die Übereinstimmungs-Kriterien werden durch ";" getrennt und der Übereinstimmungs-Typ und die Übereinstimmungs-Daten jedes Übereinstimmungskriteriums ist durch ":" getrennt sodass das Format für diese Signaturen in etwa so aussieht: - -`$variable1:SOMEDATA;$variable2:SOMEDATA;SignatureName` - -#### *ALLE SONSTIGEN SIGNATUREN* -Alle sonstigen Signaturen besitzen folgendes Format: - -`NAME:HEX:FROM:TO` - -NAME ist der Name, um die Signatur zu benennen und HEX ist ein hexidezimal-kodiertes Segment der Datei, welches mit der gegebenen Signatur geprüft werden soll. FROM und TO sind optionale Parameter, sie geben Start- und Endpunkt in den Quelldaten zur Überprüfung an. - -#### *REGEX (REGULAR EXPRESSIONS)* -Jede Form von regulären Ausdrücken, die von PHP verstanden und korrekt ausgeführt werden, sollten auch von phpMussel und den Signaturen verstanden und korrekt ausgeführt werden können. Lassen Sie extreme Vorsicht walten, wenn Sie neue Signaturen schreiben, die auf regulären Ausdrücken basieren. Wenn Sie nicht absolut sicher sind, was Sie dort machen, kann dies zu nicht korrekten und/oder unerwarteten Ergebnissen führen. Schauen Sie im Quelltext von phpMussel nach, wenn Sie sich nicht absolut sicher sind, wie die regulären Ausdrücke verarbeitet werden. Beachten Sie bitte, dass alle Suchmuster (außer Dateinamen, Archive-Metadata and MD5-Prüfmuster) hexadezimal kodiert sein müssen (mit Ausnahme von Syntax, natürlich)! - ---- - - -### 9. BEKANNTE KOMPATIBILITÄTSPROBLEME - -#### PHP und PCRE -- phpMussel benötigt PHP und PCRE, um ausgeführt werden zu können. Ohne PHP und ohne die PCRE-Erweiterungen von PHP, kann phpMussel nicht oder nicht ordnungsgemäß ausgeführt werden. Stellen Sie sicher, dass auf Ihrem System PHP und PCRE installiert und verfügbar ist, bevor Sie phpMussel herunterladen und installieren. - -#### KOMPATIBILITÄT ZU ANTIVIREN-SOFTWARE - -Kompatibilitätsprobleme zwischen phpMussel und einigen Antiviren-Anbietern sind in der Vergangenheit aufgetreten, daher überprüfe ich etwa alle paar Monate die aktuellsten verfügbaren Versionen der phpMussel-Codebasis auf Virus Total, um festzustellen, ob dort Probleme gemeldet werden. Wenn dort Probleme gemeldet werden, ich liste die gemeldeten Probleme hier in der Dokumentation. - -Bei meiner letzten Überprüfung (2022.05.12) wurden keine Probleme gemeldet. - -Ich überprüfe keine Signaturdateien, Dokumentationen oder sonstigen peripheren Inhalte. Die Signaturdateien verursachen immer einige Fehlalarme, wenn andere Antiviren-Lösungen sie erkennen. Ich würde daher dringend empfehlen, wenn Sie phpMussel auf einem Computer installieren möchten, auf dem bereits eine andere Antiviren-Lösung vorhanden ist, die phpMussel-Signaturdateien auf eine Whitelist zu setzen. - ---- - - -### 10. HÄUFIG GESTELLTE FRAGEN (FAQ) - -- [Was ist eine "Signatur"?](#WHAT_IS_A_SIGNATURE) -- [Was ist ein "Falsch-Positiv"?](#WHAT_IS_A_FALSE_POSITIVE) -- [Wie häufig werden Signaturen aktualisiert?](#SIGNATURE_UPDATE_FREQUENCY) -- [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) -- [Ich möchte phpMussel (vor v2) mit einer PHP-Version älter als 5.4.0 verwenden; Können Sie helfen?](#MINIMUM_PHP_VERSION) -- [Ich möchte phpMussel (v2) mit einer PHP-Version älter als 7.2.0 verwenden; Können Sie helfen?](#MINIMUM_PHP_VERSION_V2) -- [Kann ich eine einzige phpMussel-Installation verwenden, um mehrere Domains zu schützen?](#PROTECT_MULTIPLE_DOMAINS) -- [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) -- [Kann ich Sie oder einen der Entwickler dieses Projektes für private Arbeit einstellen?](#HIRE_FOR_PRIVATE_WORK) -- [Ich brauche spezialisierte Modifikationen, Anpassungen, u.s.w.; Können Sie helfen?](#SPECIALIST_MODIFICATIONS) -- [Ich bin ein Entwickler, Website-Designer oder Programmierer. Kann ich die Arbeit an diesem Projekt annehmen oder anbieten?](#ACCEPT_OR_OFFER_WORK) -- [Ich möchte zum Projekt beitragen; Darf ich dies machen?](#WANT_TO_CONTRIBUTE) -- [Wie man spezifische Details über Dateien zugreifen, wenn sie gescannt werden?](#SCAN_DEBUGGING) -- [Kann ich cron verwenden, um automatisch zu aktualisieren?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [Kann phpMussel Dateien mit nicht-ANSI-Namen scannen?](#SCAN_NON_ANSI) -- [Blacklists – Whitelists – Greylists – Was sind sie und wie benutze ich sie?](#BLACK_WHITE_GREY) -- [Wenn ich Signaturdateien über die Aktualisierungsseite aktiviere oder deaktiviere, sortiert sie diese alphanumerisch in der Konfiguration. Kann ich die Art der Sortierung ändern?](#CHANGE_COMPONENT_SORT_ORDER) -- [Was ist ein „PDO DSN“? Wie kann ich PDO mit phpMussel verwenden?](#HOW_TO_USE_PDO) -- [Meine Upload-Funktionalität ist asynchron (z.B., verwendet ajax, ajaj, json, u.s.w.). Ich sehe keine spezielle Nachricht oder Warnung, wenn ein Upload blockiert ist. Was ist los?](#AJAX_AJAJ_JSON) -- [Kann phpMussel EICAR erkennen?](#DETECT_EICAR) - -#### Was ist eine "Signatur"? - -Im Kontext von phpMussel, eine "Signatur" bezieht sich auf Daten, die als Indikator/Identifikator fungieren, für etwas Bestimmtes das wir suchen, in der Regel in Form eines sehr kleinen, deutlichen, unschädlichen Segments von etwas Größerem und sonst schädlich, so wie ein Virus oder Trojaner, oder in Form einer Datei-Prüfsumme, Hash oder einer anderen identifizierenden Indikator, und enthält in der Regel ein Label, und einige andere Daten zu helfen, zusätzliche Kontext, die von phpMussel verwendet werden können, um den besten Weg zu bestimmen, wenn es aufsieht was wir suchen. - -#### Was ist ein "Falsch-Positiv"? - -Der Begriff "Falsch-Positiv" (*Alternative: "falsch-positiv Fehler"; "falscher Alarm"*; Englisch: *false positive*; *false positive error*; *false alarm*), sehr einfach beschrieben, und in einem verallgemeinerten Kontext, verwendet wird, wenn eine Bedingung zu testen und wenn die Ergebnisse positiv sind, um die Ergebnisse dieser Tests zu entnehmen (d.h., die Bedingung bestimmt wird positiv oder wahr), aber sind zu erwarten sein (oder sollte gewesen) negativ (d.h., der Zustand, in Wirklichkeit, ist negativ oder falsch). Eine "Falsch-Positiv" könnte analog zu "weinen Wolf" betrachtet (wobei die Bedingung geprüft wird, ob es ein Wolf in der Nähe der Herde ist, die Bedingung "falsch" ist in dass es keinen Wolf in der Nähe der Herde, und die Bedingung wird als "positiv" berichtet durch die Schäfer durch Aufruf "Wolf, Wolf"), oder analog zu Situationen in medizinischen Tests, wobei ein Patient als mit eine Krankheit diagnostiziert, wenn sie in Wirklichkeit haben sie keine solche Krankheit. - -Einige andere Begriffe verwendet: "Wahr-Positiv", "Wahr-Negativ" und "Falsch-Negativ". Eine "Wahr-Positiv" ist, wenn die Ergebnisse des Tests und der wahren Zustand beide wahr sind (oder "Positiv"), und eine "Wahr-Negativ" ist, wenn die Ergebnisse des Tests und der wahren Zustand beide falsch sind (oder "Negativ"); Eine "Wahr-Positiv" oder Eine "Wahr-Negativ" gilt als eine "korrekte Folgerung" zu sein. Der Antithese von einem "Falsch-Positiv" ist eine "Falsch-Negativ"; Eine "Falsch-Negativ" ist, wenn die Ergebnisse des Tests negativ sind (d.h., die Bedingung bestimmt wird negativ oder falsch zu sein), aber sind zu erwarten sein (oder sollte gewesen) positiv (d.h., der Zustand, in Wirklichkeit, ist "positiv", oder "wahr"). - -Im Kontext der phpMussel, Diese Begriffe beziehen sich auf der Signaturen von phpMussel, und die Dateien die Sie blockieren. Wenn phpMussel Blöcke eine Datei wegen schlechten, veraltete oder falsche Signaturen, sollte aber nicht so getan haben, oder wenn sie es tut, so aus den falschen Gründen, wir beziehen sich auf dieses Ereignis als eine "Falsch-Positiv". Wenn phpMussel, aufgrund unvorhergesehener Bedrohungen, fehlende Signaturen oder Defizite in ihren Signaturen, versagt eine Datei zu blockieren, die blockiert werden sollte, wir beziehen sich auf dieses Ereignis als eine "verpasste Erkennung" (das entspricht einem "Falsch-Negativ"). - -Dies kann durch die folgende Tabelle zusammengefasst werden: - -  | phpMussel sollte *KEINE* Datei blockieren | phpMussel *SOLLTE* eine Datei blockieren ----|---|--- -phpMussel tut blockiert eine Datei *NICHT* | Wahr-Negativ (korrekte Folgerung) | Verpasste Erkennung (analog zu Falsch-Negativ) -phpMussel *TUT* blockiert eine Datei | __Falsch-Positiv__ | True-Positiv (korrekte Folgerung) - -#### Wie häufig werden Signaturen aktualisiert? - -Die Aktualisierungshäufigkeit hängt von den betreffenden Signaturdateien ab. In der Regel, alle Betreuer für phpMussel Signaturdateien versuchen ihre Signaturen so aktuell wie möglich zu halten, aber da haben wir alle anderen Verpflichtungen, unser Leben außerhalb des Projekts, und da für unsere Bemühungen um das Projekt, keiner von uns wird finanziell entschädigt (d.h., bezahlt), ein genauer Aktualisierungs-Zeitplan kann nicht garantiert werden. In der Regel, Signaturen werden aktualisiert, wann immer es genügend Zeit gibt sie zu aktualisieren. Hilfe wird immer geschätzt, wenn Sie bereit bist, irgendwelche anzubieten. - -#### Ich habe ein Problem bei der Verwendung von phpMussel und ich weiß nicht was ich tun soll! Bitte helfen Sie! - -- Verwenden Sie die neueste Version der Software? Verwenden Sie die neuesten Versionen Ihrer Signaturdateien? Wenn die Antwort auf eine dieser beiden Fragen nein ist, Versuchen alles zuerst zu aktualisieren, und überprüfen Sie ob das Problem weiterhin besteht. Wenn es weiterhin besteht, lesen Sie weiter. -- Haben Sie alle der Dokumentation überprüft? Wenn nicht, bitte tun Sie dies. Wenn das Problem nicht mit der Dokumentation gelöst werden kann, lesen Sie weiter. -- 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. -- Wenn das Problem weiterhin besteht, bitte fragen Sie nach Hilfe, indem Sie auf der Issues-Seite ein neues Issue erstellen. - -#### Ich möchte phpMussel (vor v2) mit einer PHP-Version älter als 5.4.0 verwenden; Können Sie helfen? - -Nein. PHP >= 5.4.0 ist eine Mindestanforderung für phpMussel < v2. - -#### Ich möchte phpMussel (v2) mit einer PHP-Version älter als 7.2.0 verwenden; Können Sie helfen? - -Nein. PHP >= 7.2.0 ist eine Mindestanforderung für phpMussel v2. - -*Siehe auch: [Kompatibilitätstabellen](https://maikuolan.github.io/Compatibility-Charts/).* - -#### Kann ich eine einzige phpMussel-Installation verwenden, um mehrere Domains zu schützen? - -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. - -#### 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? - -Vielleicht. Dies wird von Fall zu Fall bewertet. Sagen Sie uns was sie brauchen und was du anbietest. Danach können wir ihnen sagen, ob wir helfen können. - -#### Kann ich Sie oder einen der Entwickler dieses Projektes für private Arbeit einstellen? - -*Siehe oben.* - -#### Ich brauche spezialisierte Modifikationen, Anpassungen, u.s.w.; Können Sie helfen? - -*Siehe oben.* - -#### Ich bin ein Entwickler, Website-Designer oder Programmierer. Kann ich die Arbeit an diesem Projekt annehmen oder anbieten? - -Ja. Unsere Lizenz verbietet dies nicht. - -#### Ich möchte zum Projekt beitragen; Darf ich dies machen? - -Ja. Beiträge zum Projekt sind sehr willkommen. Bitte beachten Sie "CONTRIBUTING.md" für weitere Informationen. - -#### Wie man spezifische Details über Dateien zugreifen, wenn sie gescannt werden? - -Sie können auf spezifische Details über Dateien zugreifen, wenn sie gescannt werden, indem Sie ein Array zuweisen, das zu diesem Zweck verwendet werden soll, bevor Sie phpMussel anweisen, sie zu scannen. - -Im folgenden Beispiel, `$Foo` ist zu diesem Zweck zugeordnet. Nach dem Scannen `/Dateipfad/...`, detaillierte Informationen über die von `/Dateipfad/...` enthaltenen Dateien werden von `$Foo` enthalten sein. - -```PHP -Kann ich cron verwenden, um automatisch zu aktualisieren? - -Ja. Eine API ist in das Frontend integriert, um über externe Skripte mit der Aktualisierungsseite zu interagieren. Ein separates Skript, "[Cronable](https://github.com/Maikuolan/Cronable)", ist verfügbar, und kann von Ihrem Cron-Manager oder Cron-Scheduler verwendet werden, um dieses und andere unterstützte Pakete automatisch zu aktualisieren (dieses Skript enthält eine eigene Dokumentation). - -#### Kann phpMussel Dateien mit nicht-ANSI-Namen scannen? - -Nehmen wir an, es gibt ein Verzeichnis, das Sie scannen möchten. In diesem Verzeichnis haben Sie einige Dateien mit nicht-ANSI-Namen. -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -Angenommen, Sie verwenden entweder den CLI-Modus oder die phpMussel-API zum Scannen. - -Wenn PHP < 7.1.0 verwendet wird, kann phpMussel diese Dateien auf einigen Systemen nicht sehen, wenn er versucht, das Verzeichnis zu scannen, und daher phpMussel kann diese Dateien scannen nicht. Sie werden wahrscheinlich die gleichen Ergebnisse sehen, als würden Sie ein leeres Verzeichnis scannen: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Gestartet. - Sun, 01 Apr 2018 22:27:41 +0800 Fertig. -``` - -Auch, wenn Sie PHP < 7.1.0 verwenden, scannen der Dateien Individuen produziert Ergebnisse wie diese: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Gestartet. - > Überprüfung 'X:/directory/Пример.txt' (FN: b831eb8f): - -> Ungültige Datei! - Sun, 01 Apr 2018 22:27:41 +0800 Fertig. -``` - -Oder diese: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Gestartet. - > X:/directory/??????.txt ist keine Datei oder ein Verzeichnis. - Sun, 01 Apr 2018 22:27:41 +0800 Fertig. -``` - -Dies liegt an der Art und Weise, wie PHP nicht-ANSI-Dateinamen vor PHP 7.1.0 behandelt hat. Wenn dieses Problem auftritt, besteht die Lösung darin, Ihre PHP-Installation auf 7.1.0 oder höher zu aktualisieren. In PHP >= 7.1.0 werden nicht-ANSI-Dateinamen besser gehandhabt und phpMussel sollte in der Lage sein, die Dateien richtig zu scannen. - -Zum Vergleich die Ergebnisse beim Versuch, das Verzeichnis mit PHP >= 7.1.0 zu scannen: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Gestartet. - -> Überprüfung '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> Keine Probleme gefunden. - -> Überprüfung '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> Keine Probleme gefunden. - -> Überprüfung '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> Keine Probleme gefunden. - Sun, 01 Apr 2018 22:27:41 +0800 Fertig. -``` - -Und versuche, die Dateien einzeln zu scannen: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Gestartet. - > Überprüfung 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> Keine Probleme gefunden. - Sun, 01 Apr 2018 22:27:41 +0800 Fertig. -``` - -#### Blacklists – Whitelists – Greylists – Was sind sie und wie benutze ich sie? - -Die Begriffe vermitteln unterschiedliche Bedeutungen in verschiedenen Kontexten. In phpMussel gibt es drei Kontexte, in denen diese Begriffe verwendet werden: Dateigröße Antwort, Dateityp Antwort, und die Signatur-Greylist. - -Um ein gewünschtes Ergebnis bei minimalen Kosten für die Verarbeitung zu erzielen, gibt es einige einfache Dinge, die phpMussel vor dem eigentlichen Scannen von Dateien überprüfen kann, wie Dateigröße, Name und Erweiterung. Beispielsweise; Wenn eine Datei zu groß ist, oder ihre Erweiterung einen Dateityp angibt, den wir auf unseren Websites sowieso nicht zulassen möchten, können wir die Datei sofort markieren und müssen sie nicht scannen. - -Dateigröße Antwort ist die Art, wie phpMussel reagiert, wenn eine Datei ein bestimmtes Limit überschreitet. Obwohl keine tatsächlichen Listen betroffen sind, kann eine Datei basierend auf ihrer Größe als effektiv auf Blacklists, Whitelists oder Greylists betrachtet werden. Es gibt zwei separate, optionale Konfigurationsdirektiven, um jeweils ein Limit und eine gewünschte Antwort anzugeben. - -Dateityp Antwort ist die Art, wie phpMussel auf die Dateierweiterung reagiert. Es gibt drei separate, optionale Konfigurationsdirektiven, mit denen explizit angegeben werden kann, welche Erweiterungen auf die Blacklist, Whitelist oder Greylist gesetzt werden sollen. Eine Datei kann in einer dieser Listen effektiv betrachtet werden, wenn ihre Erweiterung mit einer der angegebenen Erweiterungen übereinstimmt. - -In diesen beiden Kontexten, Whitelist bedeutet, dass es nicht gescannt oder markiert werden sollte; Blacklist bedeutet, dass es markiert werden sollte (und muss daher nicht gescannt werden); und Greylist bedeutet, dass eine weitere Analyse erforderlich ist, um festzustellen, ob wir sie markieren sollten (d.h., es sollte gescannt werden). - -Die Signatur-Greylist ist eine Liste von Signaturen, die im Wesentlichen ignoriert werden sollten (Dies wird kurz in der Dokumentation erwähnt). Wenn eine Signatur auf der Signatur-Greylist ausgelöst wird, arbeitet phpMussel weiter durch seine Signaturen und unternimmt keine besondere Aktion in Bezug auf die Signatur auf der Greylist. Es gibt keine Signatur-Blacklist, da das implizierte Verhalten ohnehin normal für ausgelöste Signaturen ist, und es gibt keine Signatur-Whitelist, weil das implizierte Verhalten keinen Sinn ergibt, wenn man bedenkt, wie phpMussel normal funktioniert und welche Fähigkeiten es bereits hat. - -Die Signatur-Greylist ist nützlich, wenn Sie Probleme beheben müssen, die von einer bestimmten Signatur verursacht werden, ohne die gesamte Signaturdatei zu deaktivieren oder zu deinstallieren. - -#### Wenn ich Signaturdateien über die Aktualisierungsseite aktiviere oder deaktiviere, sortiert sie diese alphanumerisch in der Konfiguration. Kann ich die Art der Sortierung ändern? - -Ja. Wenn Sie einige Dateien zwingen müssen, in einer bestimmten Reihenfolge ausgeführt zu werden, Sie können einige beliebige Daten vor ihren Namen in der Konfigurationsdirektive in der sie aufgeführt sind hinzufügen, durch einen Doppelpunkt getrennt. Wenn die Aktualisierungsseite anschließend die Dateien erneut sortiert, diese zusätzlichen Daten wirken sich auf die Sortierreihenfolge aus und führen dazu, dass sie in der von Ihnen gewünschten Reihenfolge ausgeführt werden, ohne sie umbenennen zu müssen. - -z.B., angenommen dass eine Konfigurationsdirektive mit den folgenden Dateien ist aufgeführt: - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -Wenn Sie `file3.php` zuerst ausführen möchten, Sie könnten etwas wie `aaa:` vor dem Namen der Datei hinzufügen: - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -Wenn dann eine neue Datei `file6.php` aktiviert wird, wenn die Aktualisierungsseite sie alle wieder sortiert, sollte es so enden: - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -Gleiche Situation, wenn eine Datei deaktiviert ist. Umgekehrt, wenn Sie möchten, dass die Datei zuletzt ausgeführt wird, Sie könnten etwas wie `zzz:` vor dem Namen der Datei hinzufügen. In jedem Fall müssen Sie die betreffende Datei nicht umbenennen. - -#### Was ist ein „PDO DSN“? Wie kann ich PDO mit phpMussel verwenden? - -"PDO" ist eine Akronym für "[PHP Data Objects](https://www.php.net/manual/de/intro.pdo.php)". Es bietet eine Schnittstelle zum Verbinden von PHP mit einigen Datenbanksystemen die häufig von verschiedenen PHP-Anwendungen verwendet werden. - -"DSN" ist eine Akronym für "[data source name](https://de.wikipedia.org/wiki/Data_Source_Name)". Der "PDO DSN" beschreibt wie PDO zum einer Datenbank verbindet. - -phpMussel bietet die Option, PDO für Caching-Zwecke zu verwenden. Damit dies ordnungsgemäß funktioniert, müssen Sie phpMussel entsprechend konfigurieren, PDO aktivieren, eine neue Datenbank für phpMussel erstellen (falls Sie noch keine Datenbank für phpMussel in Betracht gezogen haben) und eine neue Tabelle erstellen in Ihrer Datenbank entsprechend der unten beschriebenen Struktur. - -Wenn eine Datenbankverbindung erfolgreich hergestellt wurde, aber die erforderliche Tabelle jedoch nicht vorhanden ist, wird versucht sie automatisch zu erstellen. Dieses Verhalten wurde jedoch nicht ausführlich getestet und der Erfolg kann nicht garantiert werden. - -Dies gilt natürlich nur, wenn phpMussel tatsächlich PDO verwenden soll. Wenn Sie zufrieden sind, dass phpMussel Flatfile-Caching (gemäß Standardkonfiguration) oder eine der verschiedenen anderen Caching-Optionen verwendet, müssen Sie sich nicht mit dem Einrichten von Datenbanken, Tabellen u.s.w. befassen. - -In der unten beschriebenen Struktur wird "phpmussel" als Datenbankname verwendet. Sie können jedoch einen beliebigen Namen für Ihre Datenbank verwenden, sofern dieser Name in Ihrer DSN-Konfiguration repliziert wird. - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -Die Konfigurationsanweisung `pdo_dsn` von phpMussel sollte wie folgt konfiguriert werden. - -``` -Abhängig davon, welcher Datenbanktreiber verwendet wird... -├─4d (Warnung: Experimentell, ungetestet, nicht empfohlen!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └Der Host, auf dem sich die Datenbank befindet. -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └Der Name der Datenbank. -│ │ │ -│ │ └Die Portnummer, die beim Herstellen der -│ │ Verbindung verwendet werden soll. -│ │ -│ └Der Host, auf dem sich die Datenbank befindet. -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └Der Name der Datenbank. -│ │ │ -│ │ └Der Host, auf dem sich die Datenbank befindet. -│ │ -│ └Mögliche Werte: "mssql", "sybase", "dblib". -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├Kann ein Pfad zu einer lokalen Datenbankdatei sein. -│ │ -│ ├Kann eine Verbindung mit einem Host und einer Portnummer -│ │herstellen. -│ │ -│ └Sie sollten auf die Firebird-Dokumentation lesen wenn Sie -│ diese verwenden möchten. -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └Die katalogisierte Datenbank, mit der eine Verbindung hergestellt -│ werden soll. -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └Die katalogisierte Datenbank, mit der eine Verbindung -│ hergestellt werden soll. -├─mysql (Am meisten empfohlen!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └Die Portnummer, die beim -│ │ │ Herstellen der Verbindung -│ │ │ verwendet werden soll. -│ │ │ -│ │ └Der Host, auf dem sich die Datenbank befindet. -│ │ -│ └Der Name der Datenbank. -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├Kann auf die spezifische katalogisierte Datenbank verweisen. -│ │ -│ ├Kann eine Verbindung mit einem Host und einer Portnummer -│ │herstellen. -│ │ -│ └Sie sollten auf die Oracle-Dokumentation lesen wenn Sie diese -│ verwenden möchten. -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├Kann auf die spezifische katalogisierte Datenbank verweisen. -│ │ -│ ├Kann eine Verbindung mit einem Host und einer Portnummer herstellen. -│ │ -│ └Sie sollten auf die ODBC/DB2-Dokumentation lesen wenn Sie diese -│ verwenden möchten. -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └Der Name der Datenbank. -│ │ │ -│ │ └Die Portnummer, die beim Herstellen der -│ │ Verbindung verwendet werden soll. -│ │ -│ └Der Host, auf dem sich die Datenbank befindet. -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └Der Pfad zur lokalen Datenbankdatei, die verwendet werden soll. -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └Der Name der Datenbank. - │ │ - │ └Die Portnummer, die beim Herstellen der - │ Verbindung verwendet werden soll. - │ - └Der Host, auf dem sich die Datenbank befindet. -``` - -Wenn Sie sich nicht sicher sind, was Sie für einen bestimmten Teil Ihres DSN verwenden sollen, prüfen Sie zunächst, ob der DSN so funktioniert, wie er ist, ohne etwas zu ändern. - -Beachten Sie, dass `pdo_username` und `pdo_password` mit dem Benutzernamen und dem Passwort übereinstimmen sollten, die Sie für Ihre Datenbank ausgewählt haben. - -#### Meine Upload-Funktionalität ist asynchron (z.B., verwendet ajax, ajaj, json, u.s.w.). Ich sehe keine spezielle Nachricht oder Warnung, wenn ein Upload blockiert ist. Was ist los? - -Das ist normal. Die Standardseite "Upload verweigert" von phpMussel wird als HTML-Code bereitgestellt, der für typische synchrone Anforderungen ausreichen sollte, aber das wird wahrscheinlich nicht ausreichen, wenn Ihre Upload-Funktionalität etwas anderes erwartet. Wenn Ihre Upload-Funktionalität asynchron ist, oder erwartet dass ein Upload-Status asynchron bereitgestellt wird, es gibt einige Dinge die Sie versuchen könnten, damit phpMussel die Anforderungen Ihrer Upload-Funktionalität erfüllt. - -1. Erstellen einer benutzerdefinierten Ausgabevorlage für anderes als HTML zu bedienen. -2. Erstellen einer benutzerdefinierten Plugin, um die Standardseite "Upload verweigert" vollständig zu umgehen, und lassen Sie den Upload-Handler etwas anderes tun wenn ein Upload blockiert ist (es gibt einige Plugin-Hooks, die vom Upload-Handler bereitgestellt werden und für diese Aufgabe hilfreich sein könnten). -3. Deaktivieren Sie den Upload-Handler vollständig und rufen Sie stattdessen einfach die phpMussel-API in Ihrer Upload-Funktionalität auf. - -#### Kann phpMussel EICAR erkennen? - -Ja. Eine Signatur zum Erkennen von EICAR ist in der "phpMussel Standard Signaturdatei für reguläre Ausdrücke" enthalten (`phpmussel_regex.db`). Solange diese Signaturdatei installiert und aktiviert ist, sollte phpMussel EICAR erkennen können. Da die ClamAV-Datenbank auch zahlreiche Signaturen speziell zur Erkennung von EICAR enthält, kann ClamAV EICAR problemlos erkennen, aber da phpMussel nur eine reduzierte Teilmenge der von ClamAV bereitgestellten Signaturen verwendet, reichen sie möglicherweise nicht aus damit phpMussel EICAR erkennt. Die Fähigkeit zu erkennen hängt auch von Ihrer genauen Konfiguration ab. - ---- - - -### 11. RECHTSINFORMATION - -#### 11.0 ABSCHNITT VORWORT - -Dieser Abschnitt der Dokumentation beschreibt mögliche rechtliche Überlegungen zur Verwendung und Implementierung des Pakets, und um einige grundlegende verwandte Informationen zur Verfügung zu stellen. Dies kann für einige Benutzer wichtig sein, um sicherzustellen, dass die gesetzlichen Anforderungen in den Ländern eingehalten werden, in denen sie tätig sind, und einige Benutzer müssen möglicherweise ihre Website-Richtlinien in Übereinstimmung mit diesen Informationen anpassen. - -Zuallererst, bitte beachten Sie, dass ich (der Autor des Pakets) weder Rechtsanwalt noch qualifizierter Jurist bin. Daher bin ich rechtlich nicht zur Rechtsberatung qualifiziert. Auch, in einigen Fällen können die genauen rechtlichen Anforderungen zwischen verschiedenen Ländern und Rechtsordnungen variieren, und diese unterschiedlichen rechtlichen Anforderungen können sich manchmal widersprechen (wie zum Beispiel, in Ländern, die [Privatsphäre](https://de.wikipedia.org/wiki/Privatsph%C3%A4re) und das [Recht auf Vergessenwerden bevorzugen](https://de.wikipedia.org/wiki/Recht_auf_Vergessenwerden), gegenüber Ländern, die eine erweiterte [Vorratsdatenspeicherung](https://de.wikipedia.org/wiki/Vorratsdatenspeicherung) bevorzugen). Berücksichtigen Sie auch, dass der Zugriff auf das Paket nicht auf bestimmte Länder oder Gerichtsbarkeiten beschränkt ist und daher die Paket-Nutzerbasis wahrscheinlich geografisch-vielfältig ist. Nach diesen Punkten kann ich nicht sagen, was es heißt, in allen Belangen für alle Nutzer "rechtskonform" zu sein. Jedoch, ich hoffe, dass die hier enthaltenen Informationen Ihnen helfen, selbst zu einer Entscheidung zu kommen, was Sie tun müssen, um im Kontext des Pakets rechtskonform zu bleiben. Wenn Sie Zweifel oder Bedenken hinsichtlich der hierin enthaltenen Informationen haben, oder wenn Sie aus rechtlicher Sicht zusätzliche Hilfe und Rat benötigen, würde ich Ihnen empfehlen, einen qualifizierten Rechtsberater zu konsultieren. - -#### 11.1 HAFTUNG UND VERANTWORTUNG - -Wie bereits in der Paketlizenz angegeben, wird das Paket ohne jegliche Gewährleistung bereitgestellt. Dies beinhaltet (aber ist nicht beschränkt auf) den gesamten Umfang der Haftung. Das Paket wird Ihnen zu Ihrer Bequemlichkeit zur Verfügung gestellt, in der Hoffnung, dass es nützlich sein wird, und dass es Ihnen einen Vorteil bringen wird. Sie das Paket verwenden oder implementieren, ist jedoch Ihre eigene Entscheidung. Sie sind nicht gezwungen, das Paket zu verwenden oder zu implementieren, aber wenn Sie dies tun, sind Sie für diese Entscheidung verantwortlich. Weder ich noch andere Mitwirkende des Pakets sind rechtlich verantwortlich für die Folgen der Entscheidungen, die Sie treffen, unabhängig davon, ob sie direkt, indirekt, implizit oder anderweitig sind. - -#### 11.2 DRITTE - -Abhängig von seiner genauen Konfiguration und Implementierung kann das Paket in einigen Fällen mit Dritten kommunizieren und Informationen teilen. Diese Informationen können in einigen Kontexten von einigen Gerichtsbarkeiten als "[personenbezogene Daten](https://de.wikipedia.org/wiki/Personenbezogene_Daten)" (oder "PII") definiert werden. - -Wie diese Informationen von diesen Dritten verwendet werden können, unterliegt den verschiedenen Richtlinien, die von diesen Dritten festgelegt wurden, und liegt außerhalb des Anwendungsbereichs dieser Dokumentation. In allen diesen Fällen jedoch kann der Austausch von Informationen mit diesen Dritten deaktiviert werden. In allen diesen Fällen liegt es in Ihrer Verantwortung, wenn Sie sich dafür entscheiden, Ihre Bedenken hinsichtlich der Vertraulichkeit, Sicherheit, und Verwendung von personenbezogenen Daten durch diese Dritten zu untersuchen. Wenn irgendwelche Zweifel bestehen oder wenn Sie mit dem Verhalten dieser Dritten in Bezug auf PII nicht zufrieden sind, ist es möglicherweise am besten, den gesamten Informationsaustausch mit diesen Dritten zu deaktivieren. - -Aus Gründen der Transparenz wird im Folgenden beschrieben, welche Art von Informationen, und mit wem, geteilt werden. - -##### 11.2.0 WEBFONTS - -Einige benutzerdefinierte Themen sowie die Standard-UI (oder Benutzerschnittstelle) für das phpMussel-Frontend und die Seite "Upload verweigert" können Webfonts aus ästhetischen Gründen verwenden. Webfonts sind standardmäßig deaktiviert. Wenn sie jedoch aktiviert sind, erfolgt eine direkte Kommunikation zwischen dem Browser des Benutzers und dem Dienst, der die Webfonts hostet. Dies kann möglicherweise die Übermittlung von Informationen wie die IP-Adresse des Benutzers, den Benutzeragenten, das Betriebssystem und andere Details zur Anfrage verfügbar. Die meisten dieser Webfonts werden vom [Google Fonts](https://fonts.google.com/)-Service gehostet. - -*Relevante Konfigurationsdirektiven:* -- `general` -> `disable_webfonts` - -##### 11.2.1 URL-SCANNER - -URLs, die innerhalb von Dateiuploads gefunden werden, können je nach Konfiguration des Pakets mit der Google Safe Browsing-API geteilt werden. Die Google Safe Browsing-API benötigt API-Schlüssel, um ordnungsgemäß zu funktionieren, und ist daher standardmäßig deaktiviert. - -*Relevante Konfigurationsdirektiven:* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -Wenn phpMussel einen Dateiupload scannt, werden die Hashwerte dieser Dateien möglicherweise mit der Virus Total-API geteilt, je nachdem, wie das Paket konfiguriert ist. Es ist geplant, in der Zukunft auch ganze Dateien gemeinsam nutzen zu können, aber diese Funktion wird derzeit nicht vom Paket unterstützt. Die Virus Total API benötigt einen API-Schlüssel, um korrekt zu funktionieren, und ist daher standardmäßig deaktiviert. - -Informationen (einschließlich Dateien und zugehörige Dateimetadaten), die mit Virus Total geteilt werden, können auch mit ihren Partnern, verbundenen Unternehmen und verschiedenen anderen zu Forschungszwecken geteilt werden. Dies wird detaillierter durch ihre Datenschutzrichtlinie beschrieben. - -*Sehen: [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*Relevante Konfigurationsdirektiven:* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 PROTOKOLLIERUNG - -Protokollierung ist aus verschiedenen Gründen ein wichtiger Teil von phpMussel. Ohne Protokollierung kann es schwierig sein, falsche Positive zu diagnostizieren, um genau festzustellen, wie gut phpMussel in einem bestimmten Kontext funktioniert, und es kann schwierig sein zu bestimmen, wo seine Defizite liegen und welche Änderungen möglicherweise an seiner Konfiguration oder den Signatures vorgenommen werden müssen, damit es weiterhin wie beabsichtigt funktioniert. Ungeachtet, die Protokollierung ist möglicherweise nicht für alle Benutzer wünschenswert und bleibt vollständig optional. In phpMussel ist die Protokollierung standardmäßig deaktiviert. Um es zu aktivieren, muss phpMussel entsprechend konfiguriert werden. - -Zusätzlich, ob Protokollierung rechtlich zulässig ist, und in welchem Umfang es rechtlich zulässig ist (z.B., die Arten von Informationen, die protokolliert werden können, für wie lange und unter welchen Umständen), kann je nach Rechtsprechung und Kontext (z.B., ob Sie als Einzelperson, als juristische Person tätig sind, und ob auf kommerzieller oder nichtkommerzieller Basis), in dem phpMussel implementiert wird, variieren. Es kann daher sinnvoll sein, diesen Abschnitt sorgfältig durchzulesen. - -Es gibt mehrere Arten der Protokollierung, die phpMussel ausführen kann. Verschiedene Arten der Protokollierung beinhalten verschiedene Arten von Informationen, aus verschiedenen Gründen. - -##### 11.3.0 SCAN PROTOKOLLIERUNG - -Wenn in der Paketkonfiguration aktiviert, speichert phpMussel Protokolle der Dateien, die es gescannt. Diese Art der Protokollierung ist in zwei verschiedenen Formaten verfügbar: -- Menschenlesbar oder benutzerfreundliche Protokolldateien. -- Serialisierte Protokolldateien. - -Einträge in einer für menschenlesbaren Protokolldatei sehen in etwa wie folgt aus (als Beispiel): - -``` -Mon, 21 May 2018 00:47:58 +0800 Gestartet. -> Überprüfung 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> Entdeckt phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 Fertig. -``` - -Ein Scan-Protokolleintrag enthält normalerweise die folgenden Informationen: -- Datum und Uhrzeit, zu der die Datei gescannt wurde. -- Der Name der gescannten Datei. -- CRC32b Hashes des Namens und des Inhalts der Datei. -- Was wurde in der Datei gefunden (falls etwas entdeckt wurde). - -*Relevante Konfigurationsdirektiven:* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -Wenn diese Direktiven leer bleiben, bleibt diese Art der Protokollierung deaktiviert. - -##### 11.3.1 SCAN KILLS - -Wenn in der Paketkonfiguration aktiviert, speichert phpMussel Protokolle der Uploads, die blockiert wurden. - -Einträge in einem "scan kills" Protokolldatei sehen in etwa wie folgt aus (als Beispiel): - -``` -Datum: Mon, 21 May 2018 00:47:56 +0800 -IP Adresse: 127.0.0.1 -== Scan-Ergebnisse (warum gekennzeichnet) == -Entdeckt phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)! -== Rekonstruktion der Hash-Signaturen == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -Als "/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu" unter Quarantäne gestellt. -``` - -Ein "scan kills"-Eintrag enthält normalerweise die folgenden Informationen: -- Das Datum und die Uhrzeit, zu der der Upload gesperrt wurde. -- Die IP-Adresse, von der der Upload stammt. -- Der Grund, warum die Datei blockiert wurde (was entdeckt wurde). -- Der Name der blockierten Datei. -- Ein MD5 und die Größe der Datei blockiert. -- Ob die Datei unter Quarantäne gestellt wurde, und unter welchem internen Namen. - -*Relevante Konfigurationsdirektiven:* -- `general` -> `scan_kills` - -##### 11.3.2 FRONTEND PROTOKOLLIERUNG - -Diese Art der Protokollierung bezieht sich auf Frontend-Einloggen-Versuchen und tritt nur auf, wenn ein Benutzer versucht, sich am Frontend anzumelden (vorausgesetzt, der Frontend-Zugriff ist aktiviert). - -Ein Frontend-Protokolleintrag enthält die IP-Adresse des Benutzers, der sich anzumelden versucht, das Datum und die Uhrzeit des Versuchs, und die Ergebnisse des Versuchs (erfolgreich eingeloggt oder könnte sich nicht einloggen). Ein Frontend-Protokolleintrag sieht in etwa wie folgt aus (als Beispiel): - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - Eingeloggt. -``` - -*Die für die Frontend-Protokollierung verantwortliche Konfigurationsdirektiven lautet:* -- `general` -> `frontend_log` - -##### 11.3.3 PROTOKOLLROTATION - -Möglicherweise möchten Sie Protokolle nach einer gewissen Zeit löschen, oder müssen dies gesetzlich tun (d.h., die Zeitspanne, die für die Aufbewahrung von Protokolldateien gesetzlich zulässig ist, kann gesetzlich beschränkt sein). Sie können dies erreichen, indem Sie Datums/Zeitmarkierungen in die Namen Ihrer Protokolldateien einfügen, die in Ihrer Paketkonfiguration festgelegt sind (z.B., `{yyyy}-{mm}-{dd}.log`), und dann Aktivieren der Protokollrotation (Protokollrotation ermöglicht es Ihnen, einige Aktionen in Protokolldateien durchzuführen, wenn bestimmte Limits überschritten werden). - -Beispielsweise: Wenn ich gesetzlich dazu verpflichtet wäre, Protokolldateien nach 30 Tagen zu löschen, könnte ich `{dd}.log` in den Namen meiner Protokolldateien angeben (`{dd}` steht für Tage), setze den Wert von `log_rotation_limit` auf 30, und setze den Wert von `log_rotation_action` auf `Delete`. - -Umgekehrt, wenn Sie Protokolldateien für einen längeren Zeitraum aufbewahren müssen, Sie könnten entweder überhaupt keine Protokollrotation verwenden, oder Sie könnten den Wert von `log_rotation_action` auf `Archive` setzen, um Protokolldateien zu komprimieren, wodurch der Gesamtbetrag des belegten Speicherplatzes reduziert wird. - -*Relevante Konfigurationsdirektiven:* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 PROTOKOLL-TRUNKIERUNG - -Es ist auch möglich, um einzelne Protokolldateien zu trunkieren, wenn sie eine bestimmte Größe überschreiten, falls Sie dies benötigen oder tun möchten. - -*Relevante Konfigurationsdirektiven:* -- `general` -> `truncate` - -##### 11.3.5 IP-ADRESSE PSEUDONYMISIERUNG - -Erstens, wenn Sie mit dem Begriff nicht vertraut sind, "Pseudonymisierung" bezieht sich auf die Verarbeitung personenbezogener Daten, so dass sie ohne zusätzliche Informationen nicht mehr für eine bestimmte Person identifiziert werden können, und vorausgesetzt, dass diese zusätzlichen Informationen getrennt aufbewahrt werden, und vorbehaltlich technischer und organisatorischer Maßnahmen, um sicherzustellen, dass personenbezogene Daten für keine natürliche Person identifiziert werden können. - -Die folgenden Ressourcen können helfen, es genauer zu erklären: -- [[johner-institut.de] Anonymisierung und Pseudonymisierung](https://www.johner-institut.de/blog/gesundheitswesen/anonymisierung-und-pseudonymisierung/) -- [[datenschutzbeauftragter-info.de] Pseudonymisierung – was ist das eigentlich?](https://www.datenschutzbeauftragter-info.de/pseudonymisierung-was-ist-das-eigentlich/) -- [[Wikipedia] Anonymisierung und Pseudonymisierung](https://de.wikipedia.org/wiki/Anonymisierung_und_Pseudonymisierung) - -Unter gewissen Umständen sind Sie gesetzlich dazu verpflichtet, alle PII, die gesammelt, verarbeitet oder gespeichert werden, zu anonymisieren oder zu pseudonymisieren. Obwohl dieses Konzept schon seit einiger Zeit besteht, erwähnt und ermutigt die GDPR/DSGVO ausdrücklich die "Pseudonymisierung" der PII. - -phpMussel ist in der Lage, IP-Adressen zu pseudonymisieren, wenn Sie sie protokollieren, wenn Sie dies benötigen oder tun möchten. Wenn phpMussel IP-Adressen pseudonymisiert, wird das letzte Oktett von IPv4-Adressen und alles nach dem zweiten Teil von IPv6-Adressen durch ein "x" dargestellt (runden effektiv IPv4-Adressen in Subnetz 24 und IPv6-Adressen in Subnetz 32 ab). - -*Relevante Konfigurationsdirektiven:* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 STATISTIKEN - -phpMussel ist optional in der Lage, Statistiken wie die Gesamtzahl der gescannten und blockierten Dateien seit einem bestimmten Zeitpunkt zu verfolgen. Diese Funktion ist standardmäßig deaktiviert, kann jedoch über die Paketkonfiguration aktiviert werden. Die Art der erfassten Informationen sollte nicht als PII betrachtet werden. - -*Relevante Konfigurationsdirektiven:* -- `general` -> `statistics` - -##### 11.3.7 KRYPTOGRAPHIE - -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). - -#### 11.4 COOKIES - -Wenn sich ein Benutzer erfolgreich am Frontend eingeloggt, phpMussel setzt eine einen [Cookie](https://de.wikipedia.org/wiki/HTTP-Cookie), um sich den Benutzer für nachfolgende Anfragen merken zu können (d.h., Cookies dienen zur Authentifizierung des Benutzers bei einer Einloggen-Sitzung). Auf der Einloggen-Seite wird eine Cookie-Warnung angezeigt, die den Benutzer warnen, dass ein Cookie gesetzt wird, wenn er die relevante Aktion ausführt. An anderen Stellen in der Codebasis werden keine Cookies gesetzt. - -*Relevante Konfigurationsdirektiven:* -- `general` -> `disable_frontend` - -#### 11.5 VERMARKTUNG UND WERBUNG - -phpMussel sammelt und verarbeitet keine Informationen für der Zweck des Vermarktung oder Werbung, und weder verkauft noch profitiert von gesammelten oder protokolliert Informationen. phpMussel ist kein kommerzielles Unternehmen, noch bezieht es sich auf irgendwelche kommerziellen Interessen, daher macht es keinen Sinn, diese Dinge zu tun. Dies ist seit Beginn des Projekts der Fall und ist auch heute noch der Fall. Außerdem, diese Dinge wären kontraproduktiv für den Geist und den beabsichtigten Zweck des gesamten Projekts, und so lange ich das Projekt weiterführen, wird nie passieren. - -#### 11.6 DATENSCHUTZERKLÄRUNG - -Unter bestimmten Umständen können Sie gesetzlich dazu verpflichtet sein, auf allen Seiten und Abschnitten Ihrer Website einen Link zu Ihrer Datenschutzerklärung deutlich anzuzeigen. Dies kann wichtig sein, um sicherzustellen, dass die Benutzer genau über Ihre genauen Datenschutzpraktiken, die Arten von personenbezogenen Daten, die Sie sammeln, und über Ihre beabsichtigte Verwendung informiert sind. Um einen solchen Link auf der Seite "Zugriff verweigert" von phpMussel einzubinden, wird eine Konfigurationsdirektive bereitgestellt, um die URL zu Ihrer Datenschutzerklärung anzugeben. - -*Relevante Konfigurationsdirektiven:* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -Die Datenschutz-Grundverordnung (DSGVO) ist eine Verordnung der Europäischen Union, die am 25. Mai 2018 in Kraft tritt. Das Hauptziel der Verordnung besteht darin, den EU-Bürgern und EU-Anwohnern die Kontrolle über ihre eigenen personenbezogenen Daten zu ermöglichen und die Regulierung innerhalb der EU in Bezug auf Privatsphäre und personenbezogene Daten zu vereinheitlichen. - -Die Verordnung enthält spezifische Bestimmungen für die Verarbeitung "[personenbezogenen Daten](https://de.wikipedia.org/wiki/Personenbezogene_Daten)" (PII) von "betroffenen Personen" (jede identifizierte oder identifizierbare natürliche Person) aus oder innerhalb der EU. Um der Verordnung zu entsprechen, müssen "Unternehmen" (gemäß der Definition in der Verordnung) und alle relevanten Systeme und Prozesse "[Datenschutz durch Design](https://digitalcourage.de/blog/2015/was-ist-privacy-design)" standardmäßig implementieren, müssen die höchstmögliche Privatsphäre Einstellungen verwenden, müssen die erforderlichen Sicherheitsmaßnahmen für gespeicherte oder verarbeitete Informationen implementieren (einschließlich, aber nicht beschränkt auf die Durchführung der Pseudonymisierung oder vollständigen Anonymisierung von Daten), müssen die Art der Daten, die sie sammeln, eindeutig und eindeutig angeben, aus welchen Gründen, für wie lange sie diese Daten speichern und ob sie diese Daten an Dritte weitergeben, die Arten von Daten, die mit Dritten geteilt werden, wie, warum, u.s.w. - -Daten dürfen nicht verarbeitet werden, es sei denn, es gibt eine gesetzliche Grundlage dafür, wie in der Verordnung definiert. Im Allgemeinen bedeutet dies, dass die Verarbeitung der Daten eines Datensubjekts auf gesetzlicher Grundlage gemäß den gesetzlichen Verpflichtungen oder nur nach ausdrücklicher, gut informierter und eindeutiger Zustimmung der betroffenen Person erfolgen muss. - -Da sich Aspekte der Verordnung mit der Zeit weiterentwickeln können, um die Verbreitung veralteter Informationen zu vermeiden, ist es möglicherweise besser, die Vorschrift von einer autoritativen Quelle zu erfahren, als einfach die relevanten Informationen hier in die Paketdokumentation einzubeziehen (was eventuell mit der Entwicklung der Verordnung veraltet). - -[EUR-Lex](https://eur-lex.europa.eu/) (ein Teil der offiziellen Website der Europäischen Union, die Informationen über EU-Recht bietet) bietet umfangreiche Informationen zu GDPR/DSGVO, die zum Zeitpunkt der Erstellung in 24 Sprachen verfügbar sind, und im PDF-Format heruntergeladen werden können. Ich würde definitiv empfehlen, die Informationen zu lesen, die sie zur Verfügung stellen, um mehr über GDPR/DSGVO zu erfahren: -- [VERORDNUNG (EU) 2016/679 DES EUROPÄISCHEN PARLAMENTS UND DES RATES](https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=celex:32016R0679) - -[Intersoft Consulting](https://www.intersoft-consulting.de/) bietet auch umfassende Informationen über DSGVO, die in deutscher und englischer Sprache verfügbar sind und die nützlich sein könnten, um mehr über GDPR/DSGVO zu erfahren: -- [Datenschutz-Grundverordnung (EU-DSGVO) als übersichtliche Website](https://dsgvo-gesetz.de/) - -Alternativ gibt es einen kurzen (nicht autoritativen) Überblick über die GDPR/DSGVO bei Wikipedia: -- [Datenschutz-Grundverordnung](https://de.wikipedia.org/wiki/Datenschutz-Grundverordnung) - ---- - - -Zuletzt aktualisiert: 12. Mai 2022 (2022.05.12). diff --git a/v2-and-earlier/readme.en.md b/v2-and-earlier/readme.en.md deleted file mode 100644 index 6ccf41e..0000000 --- a/v2-and-earlier/readme.en.md +++ /dev/null @@ -1,1720 +0,0 @@ -## Documentation for phpMussel v2 (English). - -### Contents -- 1. [PREAMBLE](#SECTION1) -- 2. [HOW TO INSTALL](#SECTION2) -- 3. [HOW TO USE](#SECTION3) -- 4. [FRONT-END MANAGEMENT](#SECTION4) -- 5. [CLI (COMMAND LINE INTERFACE)](#SECTION5) -- 6. [FILES INCLUDED IN THIS PACKAGE](#SECTION6) -- 7. [CONFIGURATION OPTIONS](#SECTION7) -- 8. [SIGNATURE FORMAT](#SECTION8) -- 9. [KNOWN COMPATIBILITY PROBLEMS](#SECTION9) -- 10. [FREQUENTLY ASKED QUESTIONS (FAQ)](#SECTION10) -- 11. [LEGAL INFORMATION](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. PREAMBLE - -Thank you for using phpMussel, a PHP script designed to detect trojans, viruses, malware, and other threats within files uploaded to your system wherever the script is hooked, based on the signatures of ClamAV and others. - -[PHPMUSSEL](https://phpmussel.github.io/) COPYRIGHT 2013 and beyond GNU/GPLv2 by [Caleb M (Maikuolan)](https://github.com/Maikuolan). - -This script is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This script is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details, located in the `LICENSE.txt` file and available also from: -- . -- . - -Special thanks to [ClamAV](https://www.clamav.net/) both for project inspiration and for the signatures that this script utilises, without which, the script would likely not exist, or at best, would have very limited value. - -Special thanks to SourceForge, Bitbucket, and GitHub for hosting the project files, and to the additional sources of a number of the signatures utilised by phpMussel: [PhishTank](https://www.phishtank.com/), [NLNetLabs](https://nlnetlabs.nl/), [Malware.Expert](https://malware.expert/) and others, and special thanks to all those supporting the project, to anyone else that I may have otherwise forgotten to mention, and to you, for using the script. - -This document and its associated package can be downloaded for free from: -- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -### 2. HOW TO INSTALL - -#### 2.0 INSTALLING MANUALLY (FOR WEB SERVERS) - -1) By your reading this, I'm assuming you've already downloaded an archived copy of the script, decompressed its contents and have it sitting somewhere on your local machine. From here, you'll want to work out where on your host or CMS you want to place those contents. A directory such as `/public_html/phpmussel/` or similar (though, it doesn't matter which you choose, so long as it's something secure and something you're happy with) will suffice. *Before you begin uploading, read on..* - -2) Rename `config.ini.RenameMe` to `config.ini` (located inside `vault`), and optionally (strongly recommended for advanced users, but not recommended for beginners or for the inexperienced), open it (this file contains all the directives available for phpMussel; above each option should be a brief comment describing what it does and what it's for). Adjust these directives as you see fit, as per whatever is appropriate for your particular setup. Save file, close. - -3) Upload the contents (phpMussel and its files) to the directory you'd decided on earlier (you don't need to include the `*.txt`/`*.md` files, but mostly, you should upload everything). - -4) CHMOD the `vault` directory to "755" (if there are problems, you can try "777"; this is less secure, though). The main directory storing the contents (the one you chose earlier), usually, can be left alone, but CHMOD status should be checked if you've had permissions issues in the past on your system (by default, should be something like "755"). In short: For the package to work properly, PHP needs to be able to read and write files inside the `vault` directory. Many things (updating, logging, etc) won't be possible, if PHP can't write to the `vault` directory, and the package won't work at all if PHP can't read from the `vault` directory. However, for optimal security, the `vault` directory must NOT be publicly accessible (sensitive information, such as the information contained by `config.ini` or `frontend.dat`, could be exposed to potential attackers if the `vault` directory is publicly accessible). - -5) Install any signatures that you'll need. *See: [INSTALLING SIGNATURES](#INSTALLING_SIGNATURES).* - -6) Next, you'll need to "hook" phpMussel to your system or CMS. There are several different ways you can "hook" scripts such as phpMussel to your system or CMS, but the easiest is to simply include the script at the beginning of a core file of your system or CMS (one that'll generally always be loaded when someone accesses any page across your website) using a `require` or `include` statement. Usually, this'll be something stored in a directory such as `/includes`, `/assets` or `/functions`, and will often be named something like `init.php`, `common_functions.php`, `functions.php` or similar. You'll have to work out which file this is for your situation; If you encounter difficulties in determining this for yourself, visit the phpMussel issues page at GitHub or the phpMussel support forums for assistance; It's possible that either myself or another user may have experience with the CMS that you're using (you'll need to let us know which CMS you're using), and thus, may be able to provide some assistance in this area. To do this [to use `require` or `include`], insert the following line of code to the very beginning of that core file, replacing the string contained inside the quotation marks with the exact address of the `loader.php` file (local address, not the HTTP address; it'll look similar to the vault address mentioned earlier). - -`` - -Save file, close, reupload. - --- OR ALTERNATIVELY -- - -If you're using an Apache webserver and if you have access to `php.ini`, you can use the `auto_prepend_file` directive to prepend phpMussel whenever any PHP request is made. Something like: - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -Or this in the `.htaccess` file: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) At this point, you're done! However, you should probably test it out to make sure it's working properly. To test out file upload protections, attempt to upload the testing files included in the package under `.tests/samples` to your website via your usual browser-based upload methods. (Make sure you've included the `phpmussel*.*db` signature files in your `active` setting for the test files to trigger). If everything is working, a message should appear from phpMussel confirming that the upload was successfully blocked. If nothing appears, something isn't working correctly. If you're using any advanced features or if you're using the other types of scanning possible with the tool, I'd suggest trying it out with those to make sure it works as expected, too. - -#### 2.1 INSTALLING MANUALLY (FOR CLI) - -1) By your reading this, I'm assuming you've already downloaded an archived copy of the script, decompressed its contents and have it sitting somewhere on your local machine. When you've determined that you're happy with the location chosen for phpMussel, continue. - -2) phpMussel requires PHP to be installed on the host machine in order to execute. If you don't have PHP installed on your machine, please install PHP on your machine, following any instructions supplied by the PHP installer. - -3) Optionally (strongly recommended for advanced users, but not recommended for beginners or for the inexperienced), open `config.ini` (located inside `vault`) – This file contains all the directives available for phpMussel. Above each option should be a brief comment describing what it does and what it's for. Adjust these options as you see fit, as per whatever is appropriate for your particular setup. Save file, close. - -4) Optionally, you can make using phpMussel in CLI mode easier for yourself by creating a batch file to automatically load PHP and phpMussel. To do this, open a plain text editor such as Notepad or Notepad++, type the complete path to the `php.exe` file in the directory of your PHP installation, followed by a space, followed by the complete path to the `loader.php` file in the directory of your phpMussel installation, save the file with a `.bat` extension somewhere that you'll find it easily, and double-click on that file to run phpMussel in the future. - -5) Install any signatures that you'll need. *See: [INSTALLING SIGNATURES](#INSTALLING_SIGNATURES).* - -6) At this point, you're done! However, you should probably test it out to make sure it's working properly. To test phpMussel, run phpMussel and try scanning the `.tests/samples` directory provided with the package. - -#### 2.2 INSTALLING WITH COMPOSER - -[phpMussel is registered with Packagist](https://packagist.org/packages/phpmussel/phpmussel), and so, if you're familiar with Composer, you can use Composer to install phpMussel (you'll still need to prepare the configuration, permissions, signatures and hooks though; see "installing manually (for web servers)" steps 2, 4, 5, and 6). - -`composer require phpmussel/phpmussel` - -#### 2.3 INSTALLING SIGNATURES - -Since v1.0.0, signatures aren't included in the phpMussel package. Signatures are required by phpMussel for detecting specific threats. There are 3 main methods to install signatures: - -1. Install automatically using the front-end updates page. -2. Generate signatures using "SigTool" and install manually. -3. Download signatures from "phpMussel/Signatures" and install manually. - -##### 2.3.1 Install automatically using the front-end updates page. - -Firstly, you'll need to make sure that the front-end is enabled. *See: [FRONT-END MANAGEMENT](#SECTION4).* - -Then, all you'll need to do is go to the front-end updates page, find the necessary signature files, and using the options provided on the page, install them, and activate them. - -##### 2.3.2 Generate signatures using "SigTool" and install manually. - -*See: [SigTool documentation](https://github.com/phpMussel/SigTool#documentation).* - -*Also note: SigTool only processes the signatures from ClamAV. In order to obtain signatures from other sources, such as those written specifically for phpMussel, which includes the signatures necessary for detecting phpMussel's test samples, this method will need to be supplemented by one of the other methods mentioned here.* - -##### 2.3.3 Download signatures from "phpMussel/Signatures" and install manually. - -Firstly, go to [phpMussel/Signatures](https://github.com/phpMussel/Signatures). The repository contains various GZ-compressed signature files. Download the files that you need, decompress them, and copy the decompressed files to the `/vault/signatures` directory to install them. List the names of the copied files to the `active` directive in your phpMussel configuration to activate them. - ---- - - -### 3. HOW TO USE - -#### 3.0 HOW TO USE (FOR WEB SERVERS) - -phpMussel should be able to operate correctly with minimal requirements on your part: After installing it, it should work immediately and be immediately usable. - -File upload scanning is automated and enabled by default, so nothing is required on your behalf for this particular functionality. - -However, you're also able to instruct phpMussel to scan specific files, directories and/or archives. To do this, firstly, you'll need to ensure that the appropriate configuration is set in the `config.ini` file (`cleanup` must be disabled), and when done, in a PHP file that's hooked to phpMussel, use the following closure in your code: - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan` can be a string, an array, or an array of arrays, and indicates which file, files, directory and/or directories to scan. -- `$output_type` is a boolean, indicating the format for the scan results to be returned as. `false` instructs the function to return results as an integer. `true` instructs the function to return results as human readable text. Additionally, in either case, the results can be accessed via global variables after scanning has completed. This variable is optional, defaulting to `false`. The following describes the integer results: - -| Results | Description | -|---|---| -| -4 | Indicates that data couldn't be scanned due to encryption. | -| -3 | Indicates that problems were encountered with the phpMussel signatures files. | -| -2 | Indicates that corrupt data was detected during the scan and thus the scan failed to complete. | -| -1 | Indicates that extensions or addons required by PHP to execute the scan were missing and thus the scan failed to complete. | -| 0 | Indicates that the scan target doesn't exist and thus there was nothing to scan. | -| 1 | Indicates that the target was successfully scanned and no problems were detected. | -| 2 | Indicates that the target was successfully scanned and problems were detected. | - -- `$output_flatness` is a boolean, indicating to the function whether to return the results of scanning (when there are multiple scan targets) as an array or a string. `false` will return the results as an array. `true` will return the results as a string. This variable is optional, defaulting to `false`. - -Examples: - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -Returns something like this (as a string): - -``` - Wed, 16 Sep 2013 02:49:46 +0000 Started. - > Checking '/user_name/public_html/my_file.html': - -> No problems found. - Wed, 16 Sep 2013 02:49:47 +0000 Finished. -``` - -For a full break-down of what sort of signatures phpMussel uses during its scans and how it handles these signatures, refer to the [SIGNATURE FORMAT](#SECTION8) section of this README file. - -If you encounter any false positives, if you encounter something new that you think should be blocked, or for anything else regarding signatures, please contact me about it so that I may make the necessary changes, which, if you do not contact me, I may not necessarily be aware of. *(See: [What is a "false positive"?](#WHAT_IS_A_FALSE_POSITIVE)).* - -To disable specific signatures included with phpMussel (such as, if you're experiencing a false positive specific to your purposes that shouldn't normally be removed from mainline), add the names of the specific signature to be disabled to the signatures greylist file (`/vault/greylist.csv`), separated by commas. - -*See also: [How to access specific details about files when they are scanned?](#SCAN_DEBUGGING)* - -#### 3.1 HOW TO USE (FOR CLI) - -Please refer to the "INSTALLING MANUALLY (FOR CLI)" section of this README file. - -Also be aware that phpMussel is an *on-demand* scanner; It is *NOT* an *on-access* scanner (other than for file uploads, at the time of upload), and unlike conventional anti-virus suites, doesn't monitor active memory! It'll only detect viruses contained by file uploads, and by those specific files that you explicitly tell it to scan. - ---- - - -### 4. FRONT-END MANAGEMENT - -#### 4.0 WHAT IS THE FRONT-END. - -The front-end provides a convenient and easy way to maintain, manage, and update your phpMussel installation. You can view, share, and download logfiles via the logs page, you can modify configuration via the configuration page, you can install and uninstall components via the updates page, and you can upload, download, and modify files in your vault via the file manager. - -The front-end is disabled by default in order to prevent unauthorised access (unauthorised access could have significant consequences for your website and its security). Instructions for enabling it are included below this paragraph. - -#### 4.1 HOW TO ENABLE THE FRONT-END. - -1) Locate the `disable_frontend` directive inside `config.ini`, and set it to `false` (it will be `true` by default). - -2) Access `loader.php` from your browser (e.g., `http://localhost/phpmussel/loader.php`). - -3) Log in with the default username and password (admin/password). - -Note: After you've logged in for the first time, in order to prevent unauthorised access to the front-end, you should immediately change your username and password! This is very important, because it's possible to upload arbitrary PHP code to your website via the front-end. - -Also, for optimal security, enabling "two-factor authentication" for all front-end accounts is strongly recommended (instructions provided below). - -#### 4.2 HOW TO USE THE FRONT-END. - -Instructions are provided on each page of the front-end, to explain the correct way to use it and its intended purpose. If you need further explanation or any special assistance, please contact support. Alternatively, there are some videos available on YouTube which could help by way of demonstration. - -#### 4.3 TWO-FACTOR AUTHENTICATION - -It's possible to make the front-end more secure by enabling two-factor authentication ("2FA"). When logging into a 2FA-enabled account, an email is sent to the email address associated with that account. This email contains a "2FA code", which the user must then enter, in addition to the username and password, in order to be able to log in using that account. This means that obtaining an account password would not be enough for any hacker or potential attacker to be able to log into that account, as they would also need to already have access to the email address associated with that account in order to be able to receive and utilise the 2FA code associated with the session, thus making the front-end more secure. - -Firstly, to enable two-factor authentication, using the front-end updates page, install the PHPMailer component. phpMussel utilises PHPMailer for sending emails. It should be noted that although phpMussel, by itself, is compatible with PHP >= 5.4.0, PHPMailer requires PHP >= 5.5.0, therefore meaning that enabling two-factor authentication for the phpMussel front-end won't be possible for PHP 5.4 users. - -After you've installed PHPMailer, you'll need to populate the configuration directives for PHPMailer via the phpMussel configuration page or configuration file. More information about these configuration directives is included in the configuration section of this document. After you've populated the PHPMailer configuration directives, set `enable_two_factor` to `true`. Two-factor authentication should now be enabled. - -Next, you'll need to associate an email address with an account, so that phpMussel knows where to send 2FA codes when logging in with that account. To do this, use the email address as the username for the account (like `foo@bar.tld`), or include the email address as part of the username in the same way that you would when sending an email normally (like `Foo Bar `). - -Note: Protecting your vault against unauthorised access (e.g., by hardening your server's security and public access permissions), is particularly important here, due to that unauthorised access to your configuration file (which is stored in your vault), could risk exposing your outbound SMTP settings (including SMTP username and password). You should ensure that your vault is properly secured before enabling two-factor authentication. If you're unable to do this, then at least, you should create a new email account, dedicated for this purpose, as such to reduce the risks associated with exposed SMTP settings. - ---- - - -### 5. CLI (COMMAND LINE INTERFACE) - -phpMussel can be run as an interactive file scanner in CLI mode under Windows-based systems. Refer to the "HOW TO INSTALL (FOR CLI)" section of this README file for more details. - -For a list of available CLI commands, at the CLI prompt, type 'c', and press Enter. - -Additionally, for those interested, a video tutorial for how to use phpMussel in CLI mode is available here: -- - ---- - - -### 6. FILES INCLUDED IN THIS PACKAGE - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. CONFIGURATION OPTIONS - -The following is a list of variables found in the `config.ini` configuration file of phpMussel, along with a description of their purpose and function. - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### "general" (Category) -General phpMussel configuration. - -##### "cleanup" -- Unset variables and cache used by the script after scanning uploads? False = No; True = Yes [Default]. If you *aren't* using the script for anything other than scanning uploads, you should set this to `true` to minimise memory usage. Otherwise, you should set it to `false`, in order to retain in memory the data necessary to execute phpMussel without needlessly reloading it. -- Has no influence in CLI mode. - -##### "scan_log" -- Filename of file to log all scanning results to. Specify a filename, or leave blank to disable. - -##### "scan_log_serialized" -- Filename of file to log all scanning results to (using a serialised format). Specify a filename, or leave blank to disable. - -##### "scan_kills" -- Filename of file to log all records of blocked or killed uploads to. Specify a filename, or leave blank to disable. - -*Useful tip: If you want, you can append date/time information to the names of your logfiles by including these in the name: `{yyyy}` for complete year, `{yy}` for abbreviated year, `{mm}` for month, `{dd}` for day, `{hh}` for hour.* - -*Examples:* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### "error_log" -- A file for logging any non-fatal errors detected. Specify a filename, or leave blank to disable. - -##### "truncate" -- Truncate logfiles when they reach a certain size? Value is the maximum size in B/KB/MB/GB/TB that a logfile may grow to before being truncated. The default value of 0KB disables truncation (logfiles can grow indefinitely). Note: Applies to individual logfiles! The size of logfiles is not considered collectively. - -##### "log_rotation_limit" -- Log rotation limits the number of logfiles that should exist at any one time. When new logfiles are created, if the total number of logfiles exceeds the specified limit, the specified action will be performed. You can specify the desired limit here. A value of 0 will disable log rotation. - -##### "log_rotation_action" -- Log rotation limits the number of logfiles that should exist at any one time. When new logfiles are created, if the total number of logfiles exceeds the specified limit, the specified action will be performed. You can specify the desired action here. Delete = Delete the oldest logfiles, until the limit is no longer exceeded. Archive = Firstly archive, and then delete the oldest logfiles, until the limit is no longer exceeded. - -*Technical clarification: In this context, "oldest" means least recently modified.* - -##### "timezone" -- This is used to specify which timezone phpMussel should use for date/time operations. If you don't need it, ignore it. Possible values are determined by PHP. It's generally recommended instead to adjust the timezone directive in your `php.ini` file, but sometimes (such as when working with limited shared hosting providers) this isn't always possible to do, and so, this option is provided here. - -##### "time_offset" -- *v1: "timeOffset"* -- If your server time doesn't match your local time, you can specify an offset here to adjust the date/time information generated by phpMussel according to your needs. It's generally recommended instead to adjust the timezone directive in your `php.ini` file, but sometimes (such as when working with limited shared hosting providers) this isn't always possible to do, and so, this option is provided here. Offset is in minutes. -- Example (to add one hour): `time_offset=60` - -##### "time_format" -- *v1: "timeFormat"* -- The date/time notation format used by phpMussel. Default = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`. - -##### "ipaddr" -- Where to find the IP address of connecting requests? (Useful for services such as Cloudflare and the likes) Default = REMOTE_ADDR. WARNING: Don't change this unless you know what you're doing! - -Recommended values for "ipaddr": - -Value | Using ----|--- -`HTTP_INCAP_CLIENT_IP` | Incapsula reverse proxy. -`HTTP_CF_CONNECTING_IP` | Cloudflare reverse proxy. -`CF-Connecting-IP` | Cloudflare reverse proxy (alternative; if the above doesn't work). -`HTTP_X_FORWARDED_FOR` | Cloudbric reverse proxy. -`X-Forwarded-For` | [Squid reverse proxy](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*Defined by server configuration.* | [Nginx reverse proxy](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` | No reverse proxy (default value). - -##### "enable_plugins" -- Enable support for phpMussel plugins? False = No; True = Yes [Default]. - -##### "forbid_on_block" -- Should phpMussel send 403 headers with the file upload blocked message, or stick with the usual 200 OK? False = No (200); True = Yes (403) [Default]. - -##### "unsupported_media_type_header" -- Should phpMussel send 415 headers when uploads are blocked due to blacklisted filetypes? When true, this setting supersedes `forbid_on_block`. False = No [Default]; True = Yes. - -##### "delete_on_sight" -- Enabling this directive will instruct the script to attempt to immediately delete any scanned attempted file upload matching any detection criteria, whether via signatures or otherwise. Files determined to be "clean" won't be touched. In the case of archives, the entire archive will be deleted, regardless of whether or not the offending file is only one of several files contained within the archive. For the case of file upload scanning, usually, it isn't necessary to enable this directive, because usually, PHP will automatically purge the contents of its cache when execution has finished, meaning it'll usually delete any files uploaded through it to the server unless they've been moved, copied or deleted already. This directive is added here as an extra measure of security for those whose copies of PHP mightn't always behave in the manner expected. False = After scanning, leave the file alone [Default]; True = After scanning, if not clean, delete immediately. - -##### "lang" -- Specify the default language for phpMussel. - -##### "lang_override" -- Localise according to HTTP_ACCEPT_LANGUAGE whenever possible? True = Yes [Default]; False = No. - -##### "numbers" -- Specifies how to display numbers. - -Currently supported values: - -Value | Produces | Description ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | Default value. -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*Note: These values aren't standardised anywhere, and probably won't be relevant beyond the package. Also, supported values may change in the future.* - -##### "quarantine_key" -- phpMussel is able to quarantine flagged attempted file uploads in isolation within the phpMussel vault, if this is something you want it to do. Casual users of phpMussel that simply wish to protect their websites or hosting environment without having any interest in deeply analysing any flagged attempted file uploads should leave this functionality disabled, but any users interested in further analysis of flagged attempted file uploads for malware research or for similar such things should enable this functionality. Quarantining of flagged attempted file uploads can sometimes also assist in debugging false positives, if this is something that frequently occurs for you. To disable quarantine functionality, simply leave the `quarantine_key` directive empty, or erase the contents of that directive if it isn't already empty. To enable quarantine functionality, enter some value into the directive. The `quarantine_key` is an important security feature of the quarantine functionality required as a means of preventing the quarantine functionality from being exploited by potential attackers and as a means of preventing any potential execution of data stored within the quarantine. The `quarantine_key` should be treated in the same manner as your passwords: The longer the better, and guard it tightly. For best effect, use in conjunction with `delete_on_sight`. - -##### "quarantine_max_filesize" -- The maximum filesize allowed for files to be quarantined. Files larger than the value specified will NOT be quarantined. This directive is important as a means of making it more difficult for any potential attackers to flood your quarantine with unwanted data potentially causing run-away data usage on your hosting service. Default = 2MB. - -##### "quarantine_max_usage" -- The maximum memory usage allowed for the quarantine. If the total memory used by the quarantine reaches this value, the oldest quarantined files will be deleted until the total memory used no longer reaches this value. This directive is important as a means of making it more difficult for any potential attackers to flood your quarantine with unwanted data potentially causing run-away data usage on your hosting service. Default = 64MB. - -##### "quarantine_max_files" -- The maximum number of files that can exist in the quarantine. When new files are added to the quarantine, if this number is exceeded, old files will be deleted until the remainder no longer exceeds this number. Default = 100. - -##### "honeypot_mode" -- When honeypot mode is enabled, phpMussel will attempt to quarantine every single file upload that it encounters, regardless of whether or not the file being uploaded matches any included signatures, and no actual scanning or analysis of those attempted file uploads will actually occur. This functionality should be useful for those that wish to use phpMussel for the purposes of virus/malware research, but it's neither recommended to enable this functionality if the intended use of phpMussel by the user is for actual file upload scanning, nor recommended to use the honeypot functionality for purposes other than honeypotting. By default, this option is disabled. False = Disabled [Default]; True = Enabled. - -##### "scan_cache_expiry" -- For how long should phpMussel cache the results of scanning? Value is the number of seconds to cache the results of scanning for. Default is 21600 seconds (6 hours); A value of 0 will disable caching the results of scanning. - -##### "disable_cli" -- Disable CLI mode? CLI mode is enabled by default, but can sometimes interfere with certain testing tools (such as PHPUnit, for example) and other CLI-based applications. If you don't need to disable CLI mode, you should ignore this directive. False = Enable CLI mode [Default]; True = Disable CLI mode. - -##### "disable_frontend" -- Disable front-end access? Front-end access can make phpMussel more manageable, but can also be a potential security risk, too. It's recommended to manage phpMussel via the back-end whenever possible, but front-end access is provided for when it isn't possible. Keep it disabled unless you need it. False = Enable front-end access; True = Disable front-end access [Default]. - -##### "max_login_attempts" -- Maximum number of front-end login attempts. Default = 5. - -##### "frontend_log" -- *v1: "FrontEndLog"* -- File for logging front-end login attempts. Specify a filename, or leave blank to disable. - -##### "disable_webfonts" -- Disable webfonts? True = Yes [Default]; False = No. - -##### "maintenance_mode" -- Enable maintenance mode? True = Yes; False = No [Default]. Disables everything other than the front-end. Sometimes useful for when updating your CMS, frameworks, etc. - -##### "default_algo" -- Defines which algorithm to use for all future passwords and sessions. Options: PASSWORD_DEFAULT (default), PASSWORD_BCRYPT, PASSWORD_ARGON2I (requires PHP >= 7.2.0), PASSWORD_ARGON2ID (requires PHP >= 7.3.0). - -##### "statistics" -- Track phpMussel usage statistics? True = Yes; False = No [Default]. - -##### "hide_version" -- Hide version information from logs and page output? True = Yes; False = No [Default]. - -##### "disabled_channels" -- This can be used to prevent phpMussel from using particular channels when sending requests (e.g., when updating, when fetching component metadata, etc). - -##### "default_timeout" -- Default timeout to use for external requests? Default = 12 seconds. - -#### "signatures" (Category) -Signatures configuration. - -##### "active" -- *v1: "Active"* -- A list of the active signature files, delimited by commas. - -*Note:* -- *Signature files must firstly be installed, before you can activate them.* -- *For the test files to work correctly, the signature files must be installed and activated.* -- *The value of this directive is cached. After changing it, for changes to take effect, you may need to delete the cache.* - -##### "fail_silently" -- Should phpMussel report when signatures files are missing or corrupted? If `fail_silently` is disabled, missing and corrupted files will be reported on scanning, and if `fail_silently` is enabled, missing and corrupted files will be ignored, with scanning reporting for those files that there aren't any problems. This should generally be left alone unless you're experiencing crashes or similar problems. False = Disabled; True = Enabled [Default]. - -##### "fail_extensions_silently" -- Should phpMussel report when extensions are missing? If `fail_extensions_silently` is disabled, missing extensions will be reported on scanning, and if `fail_extensions_silently` is enabled, missing extensions will be ignored, with scanning reporting for those files that there aren't any problems. Disabling this directive may potentially increase your security, but may also lead to an increase of false positives. False = Disabled; True = Enabled [Default]. - -##### "detect_adware" -- Should phpMussel parse signatures for detecting adware? False = No; True = Yes [Default]. - -##### "detect_joke_hoax" -- Should phpMussel parse signatures for detecting joke/hoax malware/viruses? False = No; True = Yes [Default]. - -##### "detect_pua_pup" -- Should phpMussel parse signatures for detecting PUAs/PUPs? False = No; True = Yes [Default]. - -##### "detect_packer_packed" -- Should phpMussel parse signatures for detecting packers and packed data? False = No; True = Yes [Default]. - -##### "detect_shell" -- Should phpMussel parse signatures for detecting shell scripts? False = No; True = Yes [Default]. - -##### "detect_deface" -- Should phpMussel parse signatures for detecting defacements and defacers? False = No; True = Yes [Default]. - -##### "detect_encryption" -- Should phpMussel detect and block encrypted files? False = No; True = Yes [Default]. - -#### "files" (Category) -File handling configuration. - -##### "max_uploads" -- Maximum number of files that phpMussel is allowed to scan when scanning uploads before aborting the scan and informing the user they are uploading too much at once! Provides protection against a theoretical attack whereby an attacker attempts to DDoS your system or CMS by overloading phpMussel to slow down the PHP process to a grinding halt. Recommended: 10. You may wish to raise or lower this number depending on the speed of your hardware. Note that this number doesn't account for or include the contents of archives. - -##### "filesize_limit" -- Filesize limit in KB. 65536 = 64MB [Default]; 0 = No limit (always greylisted). Any (positive) numeric value accepted. This can be useful when your PHP configuration limits the amount of memory a process can hold or if your PHP configuration limits filesize of uploads. - -##### "filesize_response" -- What to do with files that exceed the filesize limit (if one exists). False = Whitelist; True = Blacklist [Default]. - -##### "filetype_whitelist", "filetype_blacklist", "filetype_greylist" -- If your system only allows specific types of files to be uploaded, or if your system explicitly denies certain types of files, specifying those filetypes in whitelists, blacklists and greylists can increase the speed at which scanning is performed by allowing the script to skip over certain filetypes. Format is CSV (comma separated values). If you want to scan everything, rather than whitelist, blacklist or greylist, leave the variable(/s) blank; Doing so will disable whitelist/blacklist/greylist. -- Logical order of processing is: - - If the filetype is whitelisted, don't scan and don't block the file, and don't check the file against the blacklist or the greylist. - - If the filetype is blacklisted, don't scan the file but block it anyway, and don't check the file against the greylist. - - If the greylist is empty or if the greylist is not empty and the filetype is greylisted, scan the file as per normal and determine whether to block it based on the results of the scan, but if the greylist is not empty and the filetype is not greylisted, treat the file as blacklisted, therefore not scanning it but blocking it anyway. - -##### "check_archives" -- Attempt to check the contents of archives? False = Don't check; True = Check [Default]. - -Format | Can read | Can read recursively | Can detect encryption | Notes ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | Requires [libzip](https://secure.php.net/manual/en/zip.requirements.php) (normally bundled with PHP anyway). Also supported (uses the zip format): ✔️ OLE object detection. ✔️ Office macro detection. -Tar | ✔️ | ✔️ | ➖ | No special requirements. Format doesn't support encryption. -Rar | ✔️ | ✔️ | ✔️ | Requires the [rar](https://pecl.php.net/package/rar) extension (when this extension isn't installed, phpMussel can't read rar files). -Phar | ❌ | ❌ | ❌ | Support for reading phar files was removed in v1.6.0, and won't be added again, due to security concerns. - -*If anyone is able and willing to help implement support for reading other archive formats, such help would be welcomed.* - -##### "filesize_archives" -- Carry over filesize blacklisting/whitelisting to the contents of archives? False = No (just greylist everything); True = Yes [Default]. - -##### "filetype_archives" -- Carry over filetype blacklisting/whitelisting to the contents of archives? False = No (just greylist everything) [Default]; True = Yes. - -##### "max_recursion" -- Maximum recursion depth limit for archives. Default = 3. - -##### "block_encrypted_archives" -- Detect and block encrypted archives? Because phpMussel isn't able to scan the contents of encrypted archives, it's possible that archive encryption may be employed by an attacker as a means of attempting to bypass phpMussel, anti-virus scanners and other such protections. Instructing phpMussel to block any archives that it discovers to be encrypted could potentially help reduce any risk associated with these such possibilities. False = No; True = Yes [Default]. - -##### "max_files_in_archives" -- Maximum number of files to scan from within archives before aborting the scan. Default = 0 (no maximum). - -#### "attack_specific" (Category) -Attack-specific directives. - -Chameleon attack detection: False = Off; True = On. - -##### "chameleon_from_php" -- Search for PHP headers in files that are neither PHP files nor recognised archives. - -##### "can_contain_php_file_extensions" -- A list of file extensions allowed to contain PHP code, separated by commas. If PHP chameleon attack detection is enabled, files that contain PHP code, which have extensions that aren't on this list, will be detected as PHP chameleon attacks. - -##### "chameleon_from_exe" -- Search for executable headers in files that are neither executables nor recognised archives and for executables whose headers are incorrect. - -##### "chameleon_to_archive" -- Detect incorrect headers in archives and compressed files. Supported: BZ/BZIP2, GZ/GZIP, LZF, RAR, ZIP. - -##### "chameleon_to_doc" -- Search for office documents whose headers are incorrect (Supported: DOC, DOT, PPS, PPT, XLA, XLS, WIZ). - -##### "chameleon_to_img" -- Search for images whose headers are incorrect (Supported: BMP, DIB, PNG, GIF, JPEG, JPG, XCF, PSD, PDD, WEBP). - -##### "chameleon_to_pdf" -- Search for PDF files whose headers are incorrect. - -##### "archive_file_extensions" -- Recognised archive file extensions (format is CSV; should only add or remove when problems occur; unnecessarily removing may cause false positives to appear for archive files, whereas unnecessarily adding will essentially whitelist what you're adding from attack specific detection; modify with caution; also note that this has no effect on what archives can and can't be analysed at content-level). The list, as is at default, lists those formats used most commonly across the majority of systems and CMS, but intentionally isn't necessarily comprehensive. - -##### "block_control_characters" -- Block any files containing any control characters (other than newlines)? (`[\x00-\x08\x0b\x0c\x0e\x1f\x7f]`) If you're _**ONLY**_ uploading plain-text, then you can turn this option on to provide some additional protection to your system. However, if you upload anything other than plain-text, turning this on may result in false positives. False = Don't block [Default]; True = Block. - -##### "corrupted_exe" -- Corrupted files and parse errors. False = Ignore; True = Block [Default]. Detect and block potentially corrupted PE (Portable Executable) files? Often (but not always), when certain aspects of a PE file are corrupted or can't be parsed correctly, it can be indicative of a viral infection. The processes used by most anti-virus programs to detect viruses in PE files require parsing those files in certain ways, which, if the programmer of a virus is aware of, will specifically try to prevent, in order to allow their virus to remain undetected. - -##### "decode_threshold" -- Threshold for the length of raw data within which decode commands should be detected (in case there are any noticeable performance issues while scanning). Default = 512KB. Zero or null disables the threshold (removing any such limitation based on filesize). - -##### "scannable_threshold" -- Threshold to the length of raw data that phpMussel is permitted to read and scan (in case there are any noticeable performance issues while scanning). Default = 32MB. Zero or null value disables the threshold. Generally, this value shouldn't be less than the average filesize of file uploads that you want and expect to receive to your server or website, shouldn't be more than the filesize_limit directive, and shouldn't be more than roughly one fifth of the total allowable memory allocation granted to PHP via the `php.ini` configuration file. This directive exists to try to prevent phpMussel from using up too much memory (that'd prevent it from being able to successfully scan files above a certain filesize). - -##### "allow_leading_trailing_dots" -- Allow leading and trailing dots in filenames? This can sometimes be used to hide files, or to trick some systems into allowing directory traversal. False = Don't allow [Default]. True = Allow. - -##### "block_macros" -- Try to block any files containing macros? Some types of documents and spreadsheets may contain executable macros, thus providing a dangerous potential malware vector. False = Don't block [Default]; True = Block. - -#### "compatibility" (Category) -Compatibility directives for phpMussel. - -##### "ignore_upload_errors" -- This directive should generally be disabled unless it's required for correct functionality of phpMussel on your specific system. Normally, when disabled, when phpMussel detects the presence of elements in the `$_FILES` array(), it'll attempt to initiate a scan of the files that those elements represent, and, if those elements are blank or empty, phpMussel will return an error message. This is proper behaviour for phpMussel. However, for some CMS, empty elements in `$_FILES` can occur as a result of the natural behaviour of those CMS, or errors may be reported when there aren't any, in which case, the normal behaviour for phpMussel will be interfering with the normal behaviour of those CMS. If such a situation occurs for you, enabling this option will instruct phpMussel to not attempt to initiate scans for such empty elements, ignore them when found and to not return any related error messages, thus allowing continuation of the page request. False = OFF; True = ON. - -##### "only_allow_images" -- When set to true, any files encountered by the scanner which aren't images will be flagged immediately, without being scanned. This may help reduce the time needed to complete a scan in some cases. Set to false by default. - -#### "heuristic" (Category) -Heuristic directives. - -##### "threshold" -- Some phpMussel signatures are intended to identify suspicious and potentially malicious indicators in files, without in themselves identifying those files as being malicious directly. This "threshold" value tells phpMussel the maximum weight allowed before flagging those files as malicious. The definition of weight in this context is the total number of suspicious and potentially malicious indicators identified. By default, this value will be set to 3. A lower value generally will result in a higher occurrence of false positives but a higher number of malicious files being flagged, whereas a higher value generally will result in a lower occurrence of false positives but a lower number of malicious files being flagged. It's generally best to leave this value at its default unless you're experiencing problems related to it. - -#### "virustotal" (Category) -VirusTotal.com directives. - -##### "vt_public_api_key" -- Optionally, phpMussel is able to scan files using the Virus Total API as a way to provide a greatly enhanced level of protection against viruses, trojans, malware and other threats. By default, scanning files using the Virus Total API is disabled. To enable it, an API key from Virus Total is required. Due to the significant benefit that this could provide to you, it's something that I highly recommend enabling. Please be aware, however, that to use the Virus Total API, you _**MUST**_ agree to their Terms of Service and you _**MUST**_ adhere to all guidelines as per described by the Virus Total documentation! You are NOT permitted to use this integration feature UNLESS: - - You have read and agree to the Terms of Service of Virus Total and its API. The Terms of Service of Virus Total and its API can be found [Here](https://www.virustotal.com/en/about/terms-of-service/). - - You have read and you understand, at a minimum, the preamble of the Virus Total Public API documentation (everything after "VirusTotal Public API v2.0" but before "Contents"). The Virus Total Public API documentation can be found [Here](https://www.virustotal.com/en/documentation/public-api/). - -Note: If scanning files using the Virus Total API is disabled, you won't need to review any of the directives in this category (`virustotal`), because none of them will do anything if this is disabled. To acquire a Virus Total API key, from anywhere on their website, click the "Join our Community" link located towards the top-right of the page, enter in the information requested, and click "Sign up" when done. Follow all instructions supplied, and when you've got your public API key, copy/paste that public API key to the `vt_public_api_key` directive of the `config.ini` configuration file. - -##### "vt_suspicion_level" -- By default, phpMussel will restrict which files it scans using the Virus Total API to those files that it considers "suspicious". You can optionally adjust this restriction by changing the value of the `vt_suspicion_level` directive. -- `0`: Files are only considered suspicious if, upon being scanned by phpMussel using its own signatures, they are deemed to carry a heuristic weight. This would effectively mean that use of the Virus Total API would be for a second opinion for when phpMussel suspects that a file may potentially be malicious, but can't entirely rule out that it may also potentially be benign (non-malicious) and therefore would otherwise normally not block it or flag it as being malicious. -- `1`: Files are considered suspicious if, upon being scanned by phpMussel using its own signatures, they are deemed to carry a heuristic weight, if they're known to be executable (PE files, Mach-O files, ELF/Linux files, etc), or if they're known to be of a format that could potentially contain executable data (such as executable macros, DOC/DOCX files, archive files such as RARs, ZIPS and etc). This is the default and recommended suspicion level to apply, effectively meaning that use of the Virus Total API would be for a second opinion for when phpMussel doesn't initially find anything malicious or wrong with a file that it considers to be suspicious and therefore would otherwise normally not block it or flag it as being malicious. -- `2`: All files are considered suspicious and should be scanned using the Virus Total API. I don't generally recommend applying this suspicion level, due to the risk of reaching your API quota much quicker than would otherwise be the case, but there are certain circumstances (such as when the webmaster or hostmaster has very little faith or trust whatsoever in any of the uploaded content of their users) where this suspicion level could be appropriate. With this suspicion level, all files not normally blocked or flagged as being malicious would be scanned using the Virus Total API. Note, however, that phpMussel will cease using the Virus Total API when your API quota has been reached (regardless of suspicion level), and that your quota will likely be reached much faster when using this suspicion level. - -Note: Regardless of suspicion level, any files that are either blacklisted or whitelisted by phpMussel won't be scanned using the Virus Total API, because those such files would've already been declared as either malicious or benign by phpMussel by the time that they would've otherwise been scanned by the Virus Total API, and therefore, additional scanning wouldn't be required. The ability of phpMussel to scan files using the Virus Total API is intended to build further confidence for whether a file is malicious or benign in those circumstances where phpMussel itself isn't entirely certain as to whether a file is malicious or benign. - -##### "vt_weighting" -- Should phpMussel apply the results of scanning using the Virus Total API as detections or as detection weighting? This directive exists, because, although scanning a file using multiple engines (as Virus Total does) should result in an increased detection rate (and therefore in a higher number of malicious files being caught), it can also result in a higher number of false positives, and therefore, in some circumstances, the results of scanning may be better utilised as a confidence score rather than as a definitive conclusion. If a value of 0 is used, the results of scanning using the Virus Total API will be applied as detections, and therefore, if any engine used by Virus Total flags the file being scanned as being malicious, phpMussel will consider the file to be malicious. If any other value is used, the results of scanning using the Virus Total API will be applied as detection weighting, and therefore, the number of engines used by Virus Total that flag the file being scanned as being malicious will serve as a confidence score (or detection weighting) for whether or not the file being scanned should be considered malicious by phpMussel (the value used will represent the minimum confidence score or weight required in order to be considered malicious). A value of 0 is used by default. - -##### "vt_quota_rate" and "vt_quota_time" -- According to the Virus Total API documentation, "it is limited to at most 4 requests of any nature in any given 1 minute time frame. If you run a honeyclient, honeypot or any other automation that is going to provide resources to VirusTotal and not only retrieve reports you are entitled to a higher request rate quota". By default, phpMussel will strictly adhere to these limitations, but due to the possibility of these rate quotas being increased, these two directives are provided as a means for you to instruct phpMussel as to what limit it should adhere to. Unless you've been instructed to do so, it's not recommended for you to increase these values, but, if you've encountered problems relating to reaching your rate quota, decreasing these values _**MAY**_ sometimes help you in dealing with these problems. Your rate limit is determined as `vt_quota_rate` requests of any nature in any given `vt_quota_time` minute time frame. - -#### "urlscanner" (Category) -A URL scanner in included with phpMussel, capable of detecting malicious URLs from within any data or files scanned. - -Note: If the URL scanner is disabled, you won't need to review any of the directives in this category (`urlscanner`), because none of them will do anything if this is disabled. - -URL scanner API lookup configuration. - -##### "google_api_key" -- Enables API lookups to the Google Safe Browsing API when the necessary API key is defined. Google Safe Browsing API lookups requires an API key, which can be obtained from [Here](https://console.developers.google.com/). -- Note: The cURL extension is required in order to use this feature. - -##### "maximum_api_lookups" -- Maximum allowable number of API lookups to perform per individual scan iteration. Because each additional API lookup will add to the total time required to complete each scan iteration, you may wish to stipulate a limitation in order to expedite the overall scan process. When set to 0, no such maximum allowable number will be applied. Set to 10 by default. - -##### "maximum_api_lookups_response" -- What to do if the maximum allowable number of API lookups is exceeded? False = Do nothing (continue processing) [Default]; True = Flag/block the file. - -##### "cache_time" -- How long (in seconds) should the results of API lookups be cached for? Default is 3600 seconds (1 hour). - -#### "legal" (Category) -Configuration relating to legal requirements. - -*For more information about legal requirements and how this could affect your configuration requirements, please refer to the "[LEGAL INFORMATION](#SECTION11)" section of the documentation.* - -##### "pseudonymise_ip_addresses" -- Pseudonymise IP addresses when logging? True = Yes [Default]; False = No. - -##### "privacy_policy" -- The address of a relevant privacy policy to be displayed in the footer of any generated pages. Specify a URL, or leave blank to disable. - -#### "template_data" (Category) -Directives/Variables for templates and themes. - -Template data relates to the HTML output used to generate the "Upload Denied" message displayed to users upon a file upload being blocked. If you're using custom themes for phpMussel, HTML output is sourced from the `template_custom.html` file, and otherwise, HTML output is sourced from the `template.html` file. Variables written to this section of the configuration file are parsed to the HTML output by way of replacing any variable names circumfixed by curly brackets found within the HTML output with the corresponding variable data. For example, where `foo="bar"`, any instance of `

{foo}

` found within the HTML output will become `

bar

`. - -##### "theme" -- Default theme to use for phpMussel. - -##### "magnification" -- *v1: "Magnification"* -- Font magnification. Default = 1. - -##### "css_url" -- The template file for custom themes utilises external CSS properties, whereas the template file for the default theme utilises internal CSS properties. To instruct phpMussel to use the template file for custom themes, specify the public HTTP address of your custom theme's CSS files using the `css_url` variable. If you leave this variable blank, phpMussel will use the template file for the default theme. - -#### "PHPMailer" (Category) -PHPMailer configuration. - -Currently, phpMussel uses PHPMailer only for front-end two-factor authentication. If you don't use the front-end, or if you don't use two-factor authentication for the front-end, you can ignore these directives. - -##### "event_log" -- *v1: "EventLog"* -- A file for logging all events in relation to PHPMailer. Specify a filename, or leave blank to disable. - -##### "skip_auth_process" -- *v1: "SkipAuthProcess"* -- Setting this directive to `true` instructs PHPMailer to skip the normal authentication process that normally occurs when sending email via SMTP. This should be avoided, because skipping this process may expose outbound email to MITM attacks, but may be necessary in cases where this process prevents PHPMailer from connecting to an SMTP server. - -##### "enable_two_factor" -- *v1: "Enable2FA"* -- This directive determines whether to use 2FA for front-end accounts. - -##### "host" -- *v1: "Host"* -- The SMTP host to use for outbound email. - -##### "port" -- *v1: "Port"* -- The port number to use for outbound email. Default = 587. - -##### "smtp_secure" -- *v1: "SMTPSecure"* -- The protocol to use when sending email via SMTP (TLS or SSL). - -##### "smtp_auth" -- *v1: "SMTPAuth"* -- This directive determines whether to authenticate SMTP sessions (should usually be left alone). - -##### "username" -- *v1: "Username"* -- The username to use when sending email via SMTP. - -##### "password" -- *v1: "Password"* -- The password to use when sending email via SMTP. - -##### "set_from_address" -- *v1: "setFromAddress"* -- The sender address to cite when sending email via SMTP. - -##### "set_from_name" -- *v1: "setFromName"* -- The sender name to cite when sending email via SMTP. - -##### "add_reply_to_address" -- *v1: "addReplyToAddress"* -- The reply address to cite when sending email via SMTP. - -##### "add_reply_to_name" -- *v1: "addReplyToName"* -- The reply name to cite when sending email via SMTP. - -#### "supplementary_cache_options" (Category) -Supplementary cache options. - -##### "prefix" -- The value specified here will be prepended to all cache entry keys. Empty by default. When multiple installations exist at the same server, this can be useful for keeping their caches separate from each other. - -##### "enable_apcu" -- Specifies whether to try using APCu for caching. Default = False. - -##### "enable_memcached" -- Specifies whether to try using Memcached for caching. Default = False. - -##### "enable_redis" -- Specifies whether to try using Redis for caching. Default = False. - -##### "enable_pdo" -- Specifies whether to try using PDO for caching. Default = False. - -##### "memcached_host" -- Memcached host value. Default = "localhost". - -##### "memcached_port" -- Memcached port value. Default = "11211". - -##### "redis_host" -- Redis host value. Default = "localhost". - -##### "redis_port" -- Redis port value. Default = "6379". - -##### "redis_timeout" -- Redis timeout value. Default = "2.5". - -##### "pdo_dsn" -- PDO DSN value. Default = "`mysql:dbname=phpmussel;host=localhost;port=3306`". - -*See also: [What is a "PDO DSN"? How can I use PDO with phpMussel?](#HOW_TO_USE_PDO)* - -##### "pdo_username" -- PDO username. - -##### "pdo_password" -- PDO password. - ---- - - -### 8. SIGNATURE FORMAT - -*See also:* -- *[What is a "signature"?](#WHAT_IS_A_SIGNATURE)* - -The first 9 bytes `[x0-x8]` of a phpMussel signature file are `phpMussel`, and act as a "magic number", to identify them as signature files (this helps to prevent phpMussel from accidentally attempting to use files that aren't signature files). The next byte `[x9]` identifies the type of signature file, which phpMussel must know in order to be able to correctly interpret the signature file. The following types of signature files are recognised: - -Type | Byte | Description ----|---|--- -`General_Command_Detections` | `0?` | For CSV (comma separated values) signature files. Values (signatures) are hexadecimal-encoded strings to look for within files. Signatures here don't have any names or other details (only the string to detect). -`Filename` | `1?` | For filename signatures. -`Hash` | `2?` | For hash signatures. -`Standard` | `3?` | For signature files that work directly with file content. -`Standard_RegEx` | `4?` | For signature files that work directly with file content. Signatures can contain regular expressions. -`Normalised` | `5?` | For signature files that work with ANSI-normalised file content. -`Normalised_RegEx` | `6?` | For signature files that work with ANSI-normalised file content. Signatures can contain regular expressions. -`HTML` | `7?` | For signature files that work with HTML-normalised file content. -`HTML_RegEx` | `8?` | For signature files that work with HTML-normalised file content. Signatures can contain regular expressions. -`PE_Extended` | `9?` | For signature files that work with PE metadata (other than PE sectional metadata). -`PE_Sectional` | `A?` | For signature files that work with PE sectional metadata. -`Complex_Extended` | `B?` | For signature files that work with various rules based on extended metadata generated by phpMussel. -`URL_Scanner` | `C?` | For signature files that work with URLs. - -The next byte `[x10]` is a newline `[0A]`, and concludes the phpMussel signature file header. - -Each non-empty line thereafter is a signature or rule. Each signature or rule occupies one line. The signature formats supported are described below. - -#### *FILENAME SIGNATURES* -All filename signatures follow the format: - -`NAME:FNRX` - -Where NAME is the name to cite for that signature and FNRX is the regex pattern to match filenames (unencoded) against. - -#### *HASH SIGNATURES* -All hash signatures follow the format: - -`HASH:FILESIZE:NAME` - -Where HASH is the hash (usually MD5) of an entire file, FILESIZE is the total size of that file and NAME is the name to cite for that signature. - -#### *PE SECTIONAL SIGNATURES* -All PE Sectional signatures follow the format: - -`SIZE:HASH:NAME` - -Where HASH is the MD5 hash of a section of a PE file, SIZE is the total size of that section and NAME is the name to cite for that signature. - -#### *PE EXTENDED SIGNATURES* -All PE extended signatures follow the format: - -`$VAR:HASH:SIZE:NAME` - -Where $VAR is the name of the PE variable to match against, HASH is the MD5 hash of that variable, SIZE is the total size of that variable and NAME is the name to cite for that signature. - -#### *COMPLEX EXTENDED SIGNATURES* -Complex Extended signatures are rather different to the other types of signatures possible with phpMussel, in that what they are matching against is specified by the signatures themselves and they can match against multiple criteria. The match criteria are delimited by ";" and the match type and match data of each match criteria is delimited by ":" as so that format for these signatures tends to look a bit like: - -`$variable1:SOMEDATA;$variable2:SOMEDATA;SignatureName` - -#### *EVERYTHING ELSE* -All other signatures follow the format: - -`NAME:HEX:FROM:TO` - -Where NAME is the name to cite for that signature and HEX is a hexadecimal-encoded segment of the file intended to be matched by the given signature. FROM and TO are optional parameters, indicating from which and to which positions in the source data to check against. - -#### *REGEX (REGULAR EXPRESSIONS)* -Any form of regex understood and correctly processed by PHP should also be correctly understood and processed by phpMussel and its signatures. However, I'd suggest taking extreme caution when writing new regex based signatures, because, if you're not entirely sure what you're doing, there can be highly irregular and/or unexpected results. Take a look at the phpMussel source-code if you're not entirely sure about the context in which regex statements are parsed. Also, remember that all patterns (with exception to filename, archive metadata and MD5 patterns) must be hexadecimally encoded (foregoing pattern syntax, of course)! - ---- - - -### 9. KNOWN COMPATIBILITY PROBLEMS - -#### PHP and PCRE -- phpMussel requires PHP and PCRE to execute and function correctly. Without PHP, or without the PCRE extension of PHP, phpMussel won't execute or function correctly. You should make sure your system has both PHP and PCRE installed and available prior to downloading and installing phpMussel. - -#### ANTI-VIRUS SOFTWARE COMPATIBILITY - -Compatibility problems between phpMussel and some anti-virus vendors have been known to occur sometimes in the past, so every few months or thereabouts, I check the latest available versions of the phpMussel codebase against Virus Total, to see whether any problems are reported there. When problems are reported there, I list the reported problems here, in the documentation. - -When I most recently checked (2022.05.12), no problems were reported. - -I don't check the signature files, documentation, or other peripheral content. The signature files always cause some false positives when other anti-virus solutions detect them. I would therefore strongly recommend, that if you plan to install phpMussel at a machine where another anti-virus solution already exists, to whitelist the phpMussel signature files. - ---- - - -### 10. FREQUENTLY ASKED QUESTIONS (FAQ) - -- [What is a "signature"?](#WHAT_IS_A_SIGNATURE) -- [What is a "false positive"?](#WHAT_IS_A_FALSE_POSITIVE) -- [How frequently are signatures updated?](#SIGNATURE_UPDATE_FREQUENCY) -- [I've encountered a problem while using phpMussel and I don't know what to do about it! Please help!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [I want to use phpMussel (prior to v2) with a PHP version older than 5.4.0; Can you help?](#MINIMUM_PHP_VERSION) -- [I want to use phpMussel (v2) with a PHP version older than 7.2.0; Can you help?](#MINIMUM_PHP_VERSION_V2) -- [Can I use a single phpMussel installation to protect multiple domains?](#PROTECT_MULTIPLE_DOMAINS) -- [I don't want to mess around with installing this and getting it to work with my website; Can I just pay you to do it all for me?](#PAY_YOU_TO_DO_IT) -- [Can I hire you or any of the developers of this project for private work?](#HIRE_FOR_PRIVATE_WORK) -- [I need specialist modifications, customisations, etc; Can you help?](#SPECIALIST_MODIFICATIONS) -- [I'm a developer, website designer, or programmer. Can I accept or offer work relating to this project?](#ACCEPT_OR_OFFER_WORK) -- [I want to contribute to the project; Can I do this?](#WANT_TO_CONTRIBUTE) -- [How to access specific details about files when they are scanned?](#SCAN_DEBUGGING) -- [Can I use cron to update automatically?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [Can phpMussel scan files with non-ANSI names?](#SCAN_NON_ANSI) -- [Blacklists – Whitelists – Greylists – What are they, and how do I use them?](#BLACK_WHITE_GREY) -- [When I activate or deactivate signature files via the updates page, it sorts them alphanumerically in the configuration. Can I change the way that they get sorted?](#CHANGE_COMPONENT_SORT_ORDER) -- [What is a "PDO DSN"? How can I use PDO with phpMussel?](#HOW_TO_USE_PDO) -- [My upload facility is asynchronous (e.g., uses ajax, ajaj, json, etc). I don't see any special message or warning when an upload is blocked. What's going on?](#AJAX_AJAJ_JSON) -- [Can phpMussel detect EICAR?](#DETECT_EICAR) - -#### What is a "signature"? - -In the context of phpMussel, a "signature" refers to data that acts as an indicator/identifier for something specific that we're looking for, usually in the form of some very small, distinct, innocuous segment of something larger and otherwise harmful, like a virus or trojan, or in the form of a file checksum, hash, or other similarly identifying indicator, and usually includes a label, and some other data to help provide additional context that can be used by phpMussel to determine the best way to proceed when it encounters what we're looking for. - -#### What is a "false positive"? - -The term "false positive" (*alternatively: "false positive error"; "false alarm"*), described very simply, and in a generalised context, is used when testing for a condition, to refer to the results of that test, when the results are positive (i.e., the condition is determined to be "positive", or "true"), but are expected to be (or should have been) negative (i.e., the condition, in reality, is "negative", or "false"). A "false positive" could be considered analogous to "crying wolf" (wherein the condition being tested is whether there's a wolf near the herd, the condition is "false" in that there's no wolf near the herd, and the condition is reported as "positive" by the shepherd by way of calling "wolf, wolf"), or analogous to situations in medical testing wherein a patient is diagnosed as having some illness or disease, when in reality, they have no such illness or disease. - -Related outcomes when testing for a condition can be described using the terms "true positive", "true negative" and "false negative". A "true positive" refers to when the results of the test and the actual state of the condition are both true (or "positive"), and a "true negative" refers to when the results of the test and the actual state of the condition are both false (or "negative"); A "true positive" or a "true negative" is considered to be a "correct inference". The antithesis of a "false positive" is a "false negative"; A "false negative" refers to when the results of the test are negative (i.e., the condition is determined to be "negative", or "false"), but are expected to be (or should have been) positive (i.e., the condition, in reality, is "positive", or "true"). - -In the context of phpMussel, these terms refer to the signatures of phpMussel and the files that they block. When phpMussel blocks a file due to bad, outdated or incorrect signatures, but shouldn't have done so, or when it does so for the wrong reasons, we refer to this event as a "false positive". When phpMussel fails to block a file that should have been blocked, due to unforeseen threats, missing signatures or shortfalls in its signatures, we refer to this event as a "missed detection" (which is analogous to a "false negative"). - -This can be summarised by the table below: - -  | phpMussel should *NOT* block a file | phpMussel *SHOULD* block a file ----|---|--- -phpMussel does *NOT* block a file | True negative (correct inference) | Missed detection (analogous to false negative) -phpMussel *DOES* block a file | __False positive__ | True positive (correct inference) - -#### How frequently are signatures updated? - -Update frequency varies depending on the signature files in question. All maintainers for phpMussel signature files generally try to keep their signatures as up-to-date as is possible, but as all of us have various other commitments, our lives outside the project, and as none of us are financially compensated (i.e., paid) for our efforts on the project, a precise update schedule can't be guaranteed. Generally, signatures are updated whenever there's enough time to update them. Assistance is always appreciated if you're willing to offer any. - -#### I've encountered a problem while using phpMussel and I don't know what to do about it! Please help! - -- Are you using the latest version of the software? Are you using the latest versions of your signature files? If the answer to either of these two questions is no, try to update everything first, and check whether the problem persists. If it persists, continue reading. -- Have you checked through all the documentation? If not, please do so. If the problem can't be solved using the documentation, continue reading. -- Have you checked the **[issues page](https://github.com/phpMussel/phpMussel/issues)**, to see whether the problem has been mentioned before? If it's been mentioned before, check whether any suggestions, ideas, and/or solutions were provided, and follow as per necessary to try to resolve the problem. -- If the problem still persists, please seek help about it by creating a new issue on the issues page. - -#### I want to use phpMussel (prior to v2) with a PHP version older than 5.4.0; Can you help? - -No. PHP >= 5.4.0 is a minimum requirement for phpMussel < v2. - -#### I want to use phpMussel (v2) with a PHP version older than 7.2.0; Can you help? - -No. PHP >= 7.2.0 is a minimum requirement for phpMussel v2. - -*See also: [Compatibility Charts](https://maikuolan.github.io/Compatibility-Charts/).* - -#### Can I use a single phpMussel installation to protect multiple domains? - -Yes. phpMussel installations are not naturally locked to specific domains, and can therefore be used to protect multiple domains. Generally, we refer to phpMussel installations protecting only one domain as "single-domain installations", and we refer to phpMussel installations protecting multiple domains and/or sub-domains as "multi-domain installations". If you operate a multi-domain installation and need to use different sets of signature files for different domains, or need phpMussel to be configured differently for different domains, it's possible to do this. After loading the configuration file (`config.ini`), phpMussel will check for the existence of a "configuration overrides file" specific to the domain (or sub-domain) being requested (`the-domain-being-requested.tld.config.ini`), and if found, any configuration values defined by the configuration overrides file will be used for the execution instance instead of the configuration values defined by the configuration file. Configuration overrides files are identical to the configuration file, and at your discretion, may contain either the entirety of all configuration directives available to phpMussel, or whichever small subsection required which differs from the values normally defined by the configuration file. Configuration overrides files are named according to the domain that they are intended for (so, for example, if you need a configuration overrides file for the domain, `https://www.some-domain.tld/`, its configuration overrides file should be named as `some-domain.tld.config.ini`, and should be placed within the vault alongside the configuration file, `config.ini`). The domain name for the execution instance is derived from the `HTTP_HOST` header of the request; "www" is ignored. - -#### I don't want to mess around with installing this and getting it to work with my website; Can I just pay you to do it all for me? - -Maybe. This is considered on a case-by-case basis. Let us know what you need, what you're offering, and we'll let you know whether we can help. - -#### Can I hire you or any of the developers of this project for private work? - -*See above.* - -#### I need specialist modifications, customisations, etc; Can you help? - -*See above.* - -#### I'm a developer, website designer, or programmer. Can I accept or offer work relating to this project? - -Yes. Our license does not prohibit this. - -#### I want to contribute to the project; Can I do this? - -Yes. Contributions to the project are very welcome. Please see "CONTRIBUTING.md" for more information. - -#### How to access specific details about files when they are scanned? - -You can access specific details about files when they are scanned by assigning an array to use for this purpose prior to instructing phpMussel to scan them. - -In the example below, `$Foo` is assigned for this purpose. After scanning `/file/path/...`, detailed information about the files contained by `/file/path/...` will be contained by `$Foo`. - -```PHP -Can I use cron to update automatically? - -Yes. An API is built into the front-end for interacting with the updates page via external scripts. A separate script, "[Cronable](https://github.com/Maikuolan/Cronable)", is available, and can be used by your cron manager or cron scheduler to update this and other supported packages automatically (this script provides its own documentation). - -#### Can phpMussel scan files with non-ANSI names? - -Let's say there's a directory you want to scan. In this directory, you have some files with non-ANSI names. -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -Let's assume that you're either using CLI mode or the phpMussel API to scan. - -When using PHP < 7.1.0, on some systems, phpMussel won't see these files when attempting to scan the directory, and so, won't be able to scan these files. You'll likely see the same results as if you were to scan an empty directory: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -Additionally, when using PHP < 7.1.0, scanning the files individually produces results like these: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - > Checking 'X:/directory/Пример.txt' (FN: b831eb8f): - -> Invalid file! - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -Or these: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - > X:/directory/??????.txt is not a file or directory. - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -This is because of the way that PHP handled non-ANSI filenames prior to PHP 7.1.0. If you experience this problem, the solution is to update your PHP installation to 7.1.0 or newer. In PHP >= 7.1.0, non-ANSI filenames are handled better, and phpMussel should be able to scan the files properly. - -For comparison, the results when attempting to scan the directory using PHP >= 7.1.0: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - -> Checking '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> No problems found. - -> Checking '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> No problems found. - -> Checking '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> No problems found. - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -And attempting to scan the files individually: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - > Checking 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> No problems found. - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -#### Blacklists – Whitelists – Greylists – What are they, and how do I use them? - -The terms convey different meanings in different contexts. In phpMussel, there are three contexts where these terms are used: Filesize response, filetype response, and the signature greylist. - -In order to achieve a desired outcome at minimal cost to processing, there are some simple things that phpMussel can check prior to actually scanning files, such as a file's size, name, and extension. For example; If a file is too large, or if its extension indicates a type of file that we don't want to allow onto our websites anyway, we can flag the file immediately, and don't need to scan it. - -Filesize response is the way that phpMussel responds when a file exceeds a specified limit. Though no actual lists are involved, a file may be considered effectively blacklisted, whitelisted, or greylisted, based on its size. Two separate, optional configuration directives exist to specify a limit and desired response respectively. - -Filetype response is the way that phpMussel responds to file's extension. Three separate, optional configuration directives exist to explicitly specify which extensions should be blacklisted, whitelisted, or greylisted. A file may be considered effectively blacklisted, whitelisted, or greylisted if its extension matches any of the specified extensions respectively. - -In these two contexts, being whitelisted means that it shouldn't be scanned or flagged; being blacklisted means that it should be flagged (and therefore don't need to scan it); and being greylisted means further analysis is required to determine whether we should flag it (i.e., it should be scanned). - -The signature greylist is a list of signatures that should essentially be ignored (this is briefly mentioned earlier in the documentation). When a signature on the signature greylist is triggered, phpMussel continues working through its signatures and takes no particular action in regards to the greylisted signature. There's no signature blacklist, because the implied behaviour is normal behaviour for triggered signatures anyway, and there's no signature whitelist, because the implied behaviour wouldn't really make sense in consideration of how phpMussel normal works and the capabilities it already has. - -The signature greylist is useful if you need to resolve problems caused by a particular signature without disabling or uninstalling the entire signature file. - -#### When I activate or deactivate signature files via the updates page, it sorts them alphanumerically in the configuration. Can I change the way that they get sorted? - -Yes. If you need to force some files to execute in a specific order, you can add some arbitrary data before their names in the configuration directive where they're listed, separated by a colon. When the updates page subsequently sorts the files again, this added arbitrary data will affect the sort order, causing them consequently to execute in the order that you want, without needing to rename any of them. - -For example, assuming a configuration directive with files listed as follows: - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -If you wanted `file3.php` to execute first, you could add something like `aaa:` before the name of the file: - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -Then, if a new file, `file6.php`, is activated, when the updates page resorts them all, it should end up like this: - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -Same situation when a file is deactivated. Conversely, if you wanted the file to execute last, you could add something like `zzz:` before the name of the file. In any case, you won't need to rename the file in question. - -#### What is a "PDO DSN"? How can I use PDO with phpMussel? - -"PDO" is an acronym for "[PHP Data Objects](https://www.php.net/manual/en/intro.pdo.php)". It provides an interface for PHP to be able to connect to some database systems commonly utilised by various PHP applications. - -"DSN" is an acronym for "[data source name](https://en.wikipedia.org/wiki/Data_source_name)". The "PDO DSN" describes to PDO how it should connect to a database. - -phpMussel provides the option to utilise PDO for caching purposes. In order for this to work properly, you'll need to configure phpMussel accordingly, enabling PDO, create a new database for phpMussel to use (if you don't already have in mind a database for phpMussel to use), and create a new table in your database in accordance with the structure described below. - -When a database connection is successfully, but the necessary table doesn't exist, it will attempt to create it automatically. However, this behaviour hasn't been extensively tested and success can't be guaranteed. - -This, of course, only applies if you actually want phpMussel to use PDO. If you're happy enough for phpMussel to use flatfile caching (per its default configuration), or any of the various other caching options provided, you won't need to bother troubling yourself with setting up databases, tables and so on. - -The structure described below uses "phpmussel" as its database name, but you can use whichever name you want for your database, so long as that same name is replicated at your DSN configuration. - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -phpMussel's `pdo_dsn` configuration directive should be configured as described below. - -``` -Depending on which database driver is used... -├─4d (Warning: Experimental, untested, not recommended!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └The host to connect with to find the database. -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └The name of the database to use. -│ │ │ -│ │ └The port number to connect to the host. -│ │ -│ └The host to connect with to find the database. -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └The name of the database to use. -│ │ │ -│ │ └The host to connect with to find the database. -│ │ -│ └Possible values: "mssql", "sybase", "dblib". -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├Can be a path to a local database file. -│ │ -│ ├Can connect with a host and port number. -│ │ -│ └You should refer to the Firebird documentation if you -│ want to use this. -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └Which catalogued database to connect with. -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └Which catalogued database to connect with. -├─mysql (Most recommended!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └The port number to connect to -│ │ │ the host. -│ │ │ -│ │ └The host to connect with to find the -│ │ database. -│ │ -│ └The name of the database to use. -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├Can refer to the specific catalogued database. -│ │ -│ ├Can connect with a host and port number. -│ │ -│ └You should refer to the Oracle documentation if you want to -│ use this. -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├Can refer to the specific catalogued database. -│ │ -│ ├Can connect with a host and port number. -│ │ -│ └You should refer to the ODBC/DB2 documentation if you want to use -│ this. -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └The name of the database to use. -│ │ │ -│ │ └The port number to connect to the host. -│ │ -│ └The host to connect with to find the database. -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └The path to the local database file to use. -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └The name of the database to use. - │ │ - │ └The port number to connect to the host. - │ - └The host to connect with to find the database. -``` - -If you're not sure about what to use for some particular part of your DSN, try seeing firstly whether it works as is, without changing anything. - -Note that `pdo_username` and `pdo_password` should be the same as the username and password you've chosen for your database. - -#### My upload facility is asynchronous (e.g., uses ajax, ajaj, json, etc). I don't see any special message or warning when an upload is blocked. What's going on? - -This is normal. phpMussel's standard "Upload Denied" page is served as HTML, which should be sufficient for typical synchronous requests, but which probably won't be sufficient if your upload facility is expecting something else. If your upload facility is asynchronous, or expects an upload status to be served asynchronously, there are some things you could try doing in order for phpMussel to serve the needs of your upload facility. - -1. Creating a custom output template to serve something other than HTML. -2. Creating a custom plugin to bypass the standard "Upload Denied" page entirely and have the upload handler do something else when an upload is blocked (there are some plugin hooks provided by the uploader handler which could be helpful for this). -3. Disabling the upload handler entirely and instead just calling the phpMussel API from within your upload facility. - -#### Can phpMussel detect EICAR? - -Yes. A signature for detecting EICAR is included in the "phpMussel standard regular expressions signature file" (`phpmussel_regex.db`). As long as that signature file is installed and activated, phpMussel should be able to detect EICAR. Since the ClamAV database also includes numerous signatures specifically for detecting EICAR, ClamAV can easily detect EICAR, but since phpMussel utilises only a reduced subset of the total signatures provided by ClamAV, they mightn't by themselves be sufficient for phpMussel to detect EICAR. The ability to detect it may also depend on your exact configuration. - ---- - - -### 11. LEGAL INFORMATION - -#### 11.0 SECTION PREAMBLE - -This section of the documentation is intended to describe possible legal considerations regarding the use and implementation of the package, and to provide some basic related information. This may be important for some users as a means to ensure compliancy with any legal requirements that may exist in the countries that they operate in, and some users may need to adjust their website policies in accordance with this information. - -First and foremost, please realise that I (the package author) am not a lawyer, nor a qualified legal professional of any kind. Therefore, I am not legally qualified to provide legal advice. Also, in some cases, exact legal requirements may vary between different countries and jurisdictions, and these varying legal requirements may sometimes conflict (such as, for example, in the case of countries that favour [privacy rights](https://en.wikipedia.org/wiki/Right_to_privacy) and the [right to be forgotten](https://en.wikipedia.org/wiki/Right_to_be_forgotten), versus countries that favour extended [data retention](https://en.wikipedia.org/wiki/Data_retention)). Consider also that access to the package is not restricted to specific countries or jurisdictions, and therefore, the package userbase is likely to the geographically diverse. These points considered, I'm not in a position to state what it means to be "legally compliant" for all users, in all regards. However, I hope that the information herein will help you to come to a decision yourself regarding what you must do in order to remain legally compliant in the context of the package. If you have any doubts or concerns regarding the information herein, or if you need additional help and advice from a legal perspective, I would recommend consulting a qualified legal professional. - -#### 11.1 LIABILITY AND RESPONSIBILITY - -As per already stated by the package license, the package is provided without any warranty. This includes (but is not limited to) all scope of liability. The package is provided to you for your convenience, in the hope that it will be useful, and that it will provide some benefit for you. However, whether you use or implement the package, is your own choice. You are not forced to use or implement the package, but when you do so, you are responsible for that decision. Neither I, nor any other contributors to the package, are legally responsible for the consequences of the decisions that you make, regardless of whether direct, indirect, implied, or otherwise. - -#### 11.2 THIRD PARTIES - -Depending on its exact configuration and implementation, the package may communicate and share information with third parties in some cases. This information may be defined as "[personally identifiable information](https://en.wikipedia.org/wiki/Personal_data)" (PII) in some contexts, by some jurisdictions. - -How this information may be used by these third parties, is subject to the various policies set forth by these third parties, and is outside the scope of this documentation. However, in all such cases, sharing of information with these third parties can be disabled. In all such cases, if you choose to enable it, it is your responsibility to research any concerns that you may have regarding the privacy, security, and usage of PII by these third parties. If any doubts exist, or if you're unsatisfied with the conduct of these third parties in regards to PII, it may be best to disable all sharing of information with these third parties. - -For the purpose of transparency, the type of information shared, and with whom, is described below. - -##### 11.2.0 WEBFONTS - -Some custom themes, as well as the standard UI ("user interface") for the phpMussel front-end and the "Upload Denied" page, may use webfonts for aesthetic reasons. Webfonts are disabled by default, but when enabled, direct communication between the user's browser and the service hosting the webfonts occurs. This may potentially involve communicating information such as the user's IP address, user agent, operating system, and other details available to the request. Most of these webfonts are hosted by the [Google Fonts](https://fonts.google.com/) service. - -*Relevant configuration directives:* -- `general` -> `disable_webfonts` - -##### 11.2.1 URL SCANNER - -URLs found within file uploads may be shared with the Google Safe Browsing API, depending on how the package is configured. The Google Safe Browsing API requires API keys in order to work correctly, and is therefore disabled by default. - -*Relevant configuration directives:* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -When phpMussel scans a file upload, the hashes of those files may be shared with the Virus Total API, depending on how the package is configured. There are plans to be able to share entire files at some point in the future too, but this feature isn't supported by the package at this time. The Virus Total API requires an API key in order to work correctly, and is therefore disabled by default. - -Information (including files and related file metadata) shared with Virus Total, may also be shared with their partners, affiliates, and various others for research purposes. This is described in more detail by their privacy policy. - -*See: [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*Relevant configuration directives:* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 LOGGING - -Logging is an important part of phpMussel for a number of reasons. Without logging, it may be difficult to diagnose false positives, to ascertain exactly how performant phpMussel is in any particular context, and to determine where its shortfalls may be, and what changes may be required to its configuration or signatures accordingly, in order for it to continue functioning as intended. Regardless, logging mightn't be desirable for all users, and remains entirely optional. In phpMussel, logging is disabled by default. To enable it, phpMussel must be configured accordingly. - -Additionally, whether logging is legally permissible, and to the extent that it is legally permissible (e.g., the types of information that may be logged, for how long, and under what circumstances), may vary, depending on jurisdiction and on the context where phpMussel is implemented (e.g., whether you're operating as an individual, as a corporate entity, and whether on a commercial or non-commercial basis). It may therefore be useful for you to read through this section carefully. - -There are multiple types of logging that phpMussel can perform. Different types of logging involves different types of information, for different reasons. - -##### 11.3.0 SCAN LOGS - -When enabled in the package configuration, phpMussel keeps logs of the files it scans. This type of logging is available in two different formats: -- Human readable logfiles. -- Serialised logfiles. - -Entries to a human readable logfile typically look something like this (as an example): - -``` -Mon, 21 May 2018 00:47:58 +0800 Started. -> Checking 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> Detected phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 Finished. -``` - -A scan log entry typically includes the following information: -- The date and time that the file was scanned. -- The name of the file scanned. -- CRC32b hashes of the name and contents of the file. -- What was detected in the file (if anything was detected). - -*Relevant configuration directives:* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -When these directives are left empty, this type of logging will remain disabled. - -##### 11.3.1 SCAN KILLS - -When enabled in the package configuration, phpMussel keeps logs of the uploads that have been blocked. - -Entries to a "scan kills" logfile typically look something like this (as an example): - -``` -Date: Mon, 21 May 2018 00:47:56 +0800 -IP address: 127.0.0.1 -== Scan results (why flagged) == -Detected phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)! -== Hash signatures reconstruction == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -Quarantined as "/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu". -``` - -A "scan kills" entry typically includes the following information: -- The date and time that the upload was blocked. -- The IP address where the upload originated from. -- The reason why the file was blocked (what was detected). -- The name of the file blocked. -- An MD5 and the size of the file blocked. -- Whether the file was quarantined, and under what internal name. - -*Relevant configuration directives:* -- `general` -> `scan_kills` - -##### 11.3.2 FRONT-END LOGGING - -This type of logging relates front-end login attempts, and occurs only when a user attempts to log into the front-end (assuming front-end access is enabled). - -A front-end log entry contains the IP address of the user attempting to log in, the date and time that the attempt occurred, and the results of the attempt (successfully logged in, or failed to log in). A front-end log entry typically looks something like this (as an example): - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - Logged in. -``` - -*Relevant configuration directives:* -- `general` -> `frontend_log` - -##### 11.3.3 LOG ROTATION - -You may want to purge logs after a period of time, or may be required to do so by law (i.e., the amount of time that it's legally permissible for you to retain logs may be limited by law). You can achieve this by including date/time markers in the names of your logfiles as per specified by your package configuration (e.g., `{yyyy}-{mm}-{dd}.log`), and then enabling log rotation (log rotation allows you to perform some action on logfiles when specified limits are exceeded). - -For example: If I was legally required to delete logs after 30 days, I could specify `{dd}.log` in the names of my logfiles (`{dd}` represents days), set the value of `log_rotation_limit` to 30, and set the value of `log_rotation_action` to `Delete`. - -Conversely, if you're required to retain logs for an extended period of time, you could either not use log rotation at all, or you could set the value of `log_rotation_action` to `Archive`, to compress logfiles, thereby reducing the total amount of disk space that they occupy. - -*Relevant configuration directives:* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 LOG TRUNCATION - -It's also possible to truncate individual logfiles when they exceed a certain size, if this is something you might need or want to do. - -*Relevant configuration directives:* -- `general` -> `truncate` - -##### 11.3.5 IP ADDRESS PSEUDONYMISATION - -Firstly, if you're not familiar with the term, "pseudonymisation" refers to the processing of personal data as such that it can't be identified to any specific data subject anymore without supplementary information, and provided that such supplementary information is maintained separately and subject to technical and organisational measures to ensure that personal data can't be identified to any natural person. - -The following resources can help to explain it in more detail: -- [[trust-hub.com] What is pseudonymisation?](https://www.trust-hub.com/news/what-is-pseudonymisation/) -- [[dataprotection.ie] Anonymisation and pseudonymisation](https://www.dataprotection.ie/docs/Anonymisation-and-pseudonymisation/1594.htm) -- [[Wikipedia] Pseudonymization](https://en.wikipedia.org/wiki/Pseudonymization) - -In some circumstances, you may be legally required to anonymise or pseudonymise any PII collected, processed, or stored. Although this concept has existed for quite some time now, GDPR/DSGVO notably mentions, and specifically encourages "pseudonymisation". - -phpMussel is able to pseudonymise IP addresses when logging them, if this is something you might need or want to do. When phpMussel pseudonymises IP addresses, when logged, the final octet of IPv4 addresses, and everything after the second part of IPv6 addresses is represented by an "x" (effectively rounding IPv4 addresses to the initial address of the 24th subnet they factor into, and IPv6 addresses to the initial address of the 32nd subnet they factor into). - -*Relevant configuration directives:* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 STATISTICS - -phpMussel is optionally able to track statistics such as the total number of files scanned and blocked since some particular point in time. This feature is disabled by default, but can be enabled via the package configuration. The type of information tracked shouldn't be regarded as PII. - -*Relevant configuration directives:* -- `general` -> `statistics` - -##### 11.3.7 ENCRYPTION - -phpMussel doesn't encrypt its cache or any log information. Cache and log [encryption](https://en.wikipedia.org/wiki/Encryption) may be introduced in the future, but there aren't any specific plans for it currently. If you're concerned about unauthorised third parties gaining access to parts of phpMussel that may contain PII or sensitive information such as its cache or logs, I would recommend that phpMussel not be installed at a publicly accessible location (e.g., install phpMussel outside the standard `public_html` directory or equivalent thereof available to most standard webservers) and that appropriately restrictive permissions be enforced for the directory where it resides (in particular, for the vault directory). If that isn't sufficient to address your concerns, then configure phpMussel as such that the types of information causing your concerns won't be collected or logged in the first place (such as, by disabling logging). - -#### 11.4 COOKIES - -When a user successfully logs into the front-end, phpMussel sets a [cookie](https://en.wikipedia.org/wiki/HTTP_cookie) in order to be able to remember the user for subsequent requests (i.e., cookies are used to authenticate the user to a login session). On the login page, a cookie warning is displayed prominently, warning the user that a cookie will be set if they engage in the relevant action. Cookies aren't set at any other points in the codebase. - -*Relevant configuration directives:* -- `general` -> `disable_frontend` - -#### 11.5 MARKETING AND ADVERTISING - -phpMussel doesn't collect or process any information for marketing or advertising purposes, and neither sells nor profits from any collected or logged information. phpMussel is not a commercial enterprise, nor is related to any commercial interests, so doing these things wouldn't make any sense. This has been the case since the beginning of the project, and continues to be the case today. Additionally, doing these things would be counter-productive to the spirit and intended purpose of the project as a whole, and for as long as I continue to maintain the project, will never happen. - -#### 11.6 PRIVACY POLICY - -In some circumstances, you may be legally required to clearly display a link to your privacy policy on all pages and sections of your website. This may be important as a means to ensure that users are well-informed of your exact privacy practices, the types of PII you collect, and how you intend to use it. In order to be able to include such a link on phpMussel's "Upload Denied" page, a configuration directive is provided to specify the URL to your privacy policy. - -*Relevant configuration directives:* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -The General Data Protection Regulation (GDPR) is a regulation of the European Union, which comes into effect as of May 25, 2018. The primary goal of the regulation is to give control to EU citizens and residents regarding their own personal data, and to unify regulation within the EU concerning privacy and personal data. - -The regulation contains specific provisions pertaining to the processing of "[personally identifiable information](https://en.wikipedia.org/wiki/Personal_data)" (PII) of any "data subjects" (any identified or identifiable natural person) either from or within the EU. To be compliant with the regulation, "enterprises" (as per defined by the regulation), and any relevant systems and processes must implement "[privacy by design](https://en.wikipedia.org/wiki/Privacy_by_design)" by default, must use the highest possible privacy settings, must implement necessary safeguards for any stored or processed information (including, but not limited to, the implementation of pseudonymisation or full anonymisation of data), must clearly and unambiguously declare the types of data they collect, how they process it, for what reasons, for how long they retain it, and whether they share this data with any third parties, the types of data shared with third parties, how, why, and so on. - -Data may not be processed unless there's a lawful basis for doing so, as per defined by the regulation. Generally, this means that in order to process a data subject's data on a lawful basis, it must be done in compliance with legal obligations, or done only after explicit, well-informed, unambiguous consent has been obtained from the data subject. - -Because aspects of the regulation may evolve in time, in order to avoid the propagation of outdated information, it may be better to learn about the regulation from an authoritative source, as opposed to simply including the relevant information here in the package documentation (which may eventually become outdated as the regulation evolves). - -[EUR-Lex](https://eur-lex.europa.eu/) (a part of the official website of the European Union that provides information about EU law) provides extensive information about GDPR/DSGVO, available in 24 different languages (at the time of writing this), and available for download in PDF format. I would definitely recommend reading the information that they provide, in order to learn more about GDPR/DSGVO: -- [REGULATION (EU) 2016/679 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex:32016R0679) - -[Intersoft Consulting](https://www.intersoft-consulting.de/) also provides extensive information about GDPR/DSGVO, available in German and English, which could be useful to learn more about GDPR/DSGVO: -- [General Data Protection Regulation (GDPR) – Final text neatly arranged](https://gdpr-info.eu/) - -Alternatively, there's a brief (non-authoritative) overview of GDPR/DSGVO available at Wikipedia: -- [General Data Protection Regulation](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation) - ---- - - -Last Updated: 12 May 2022 (2022.05.12). diff --git a/v2-and-earlier/readme.es.md b/v2-and-earlier/readme.es.md deleted file mode 100644 index 10ef31f..0000000 --- a/v2-and-earlier/readme.es.md +++ /dev/null @@ -1,1719 +0,0 @@ -## Documentación para phpMussel v2 (Español). - -### Contenidos -- 1. [PREÁMBULO](#SECTION1) -- 2. [CÓMO INSTALAR](#SECTION2) -- 3. [CÓMO USAR](#SECTION3) -- 4. [GESTIÓN DE FRONT-END](#SECTION4) -- 5. [CLI (COMANDOS LÍNEA INTERFAZ)](#SECTION5) -- 6. [ARCHIVOS INCLUIDOS EN ESTE PAQUETE](#SECTION6) -- 7. [OPCIONES DE CONFIGURACIÓN](#SECTION7) -- 8. [FORMATOS DE FIRMAS](#SECTION8) -- 9. [CONOCIDOS PROBLEMAS DE COMPATIBILIDAD](#SECTION9) -- 10. [PREGUNTAS MÁS FRECUENTES (FAQ)](#SECTION10) -- 11. [INFORMACIÓN LEGAL](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. PREÁMBULO - -Gracias por usar phpMussel, un PHP script diseñado para detectar troyanos, virus, malware y otras amenazas en los archivos subidos en el sistema donde la script está adjunto, basado en las firmas de ClamAV y otros. - -[PHPMUSSEL](https://phpmussel.github.io/) COPYRIGHT 2013 y más allá GNU/GPLv2 por [Caleb M (Maikuolan)](https://github.com/Maikuolan). - -Este script es un software gratuito; puede redistribuirlo y/o modificarlo según los términos de la GNU General Public License, publicada por la Free Software Foundation; tanto la versión 2 de la licencia como cualquier versión posterior. Este script es distribuido con la esperanza de que será útil, pero SIN NINGUNA GARANTÍA; también, sin ninguna garantía implícita de COMERCIALIZACIÓN o IDONEIDAD PARA UN PARTICULAR PROPÓSITO. Vea la GNU General Public License para más detalles, ubicada en el `LICENSE.txt` archivo también disponible en: -- . -- . - -Un especial agradecimiento a [ClamAV](https://www.clamav.net/) para la inspiración del proyecto y para las firmas que este script utiliza, sin la cual, la script probablemente no existiría, o en el mejor de, tendría un muy limitado valor. - -Un especial agradecimiento a SourceForge, Bitbucket y GitHub para alojar los archivos de proyecto, y a las adicionales fuentes de un número de las firmas utilizadas por phpMussel: [PhishTank](https://www.phishtank.com/), [NLNetLabs](https://nlnetlabs.nl/), [Malware.Expert](https://malware.expert/) y otros, y agradecimiento especial a todos aquellos que apoyan el proyecto, a cualquier otra persona que yo haya olvidado de lo contrario mencionar, y a usted, por el uso de la script. - -Este documento y su paquete asociado puede ser descargado de forma gratuita desde: -- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -### 2. CÓMO INSTALAR - -#### 2.0 INSTALACIÓN MANUAL (PARA NAVEGADORES) - -1) Dado el hecho que estas leiendo esto, asumo que ya ha descargado y guardado una copia del script, descomprimido sus contenidos, teniendolo en algún lugar en su ordenador. Ahora, usted querrá averiguar en que parte del host o CMS desea colocar estos contenidos. Un directorio como `/public_html/phpmussel/` o similar (aunque, no importa el que usted elija, siempre y cuando sea algo seguro y con lo que estas satisfecho) será suficiente. *Antes de empezar a subir archivos, continue leyendo...* - -2) Cambiar el nombre del archivo `config.ini.RenameMe` a `config.ini` (situado en el interior del `vault`), y opcionalmente (muy recomendable para usuarios avanzados, pero no recomendado para los usuarios principiantes o inexpertos), abre el archivo (este archivo contiene todas las directrizes disponibles para phpMussel; encima de cada opción debe haber un breve comentario que describe lo que hace y para lo qué sirve). Ajuste estas opciones según sus necesidades, según lo que sea apropiado para su particular configuración. Guardar archivo, cerrar. - -3) Subir los contenidos (phpMussel y sus archivos) al directorio que habías decidido previamente (no necessitas incluir los archivos `*.txt`/`*.md`, pero deberias subir el resto). - -4) CHMOD al `vault` directorio "755" (si tienes problemas, puede intentar "777"; aunque es menos seguro). El principal directorio de almacenamiento de los contenidos (el que escogio antes), en general, puede dejarlo solo, pero el estado del CHMOD deberia estar revisado si ha tenido problemas de permisos en su sistema en el pasado (predefinido, debería ser algo como "755"). En breve: Para que el paquete pueda funcionar correctamente, PHP necesita poder leer y escribir archivos dentro del directorio `vault`. Muchas cosas (actualización, registro, etc) no serán posibles si PHP no puede escribir en el directorio `vault`, y el paquete no funcionará en absoluto si PHP no puede leer desde el directorio `vault`. Pero, para una seguridad óptima, el directorio `vault` NO debe ser accesible públicamente (información sensible, como la información contenida por `config.ini` o `frontend.dat`, podría estar expuesta a atacantes potenciales si el directorio `vault` es públicamente accesible). - -5) Instale cualquier de las firmas que necesite. *Ver: [INSTALACIÓN DE FIRMAS](#INSTALLING_SIGNATURES).* - -6) Luego, tendrás que "enganchar" phpMussel a tu sistema o CMS. Hay varias maneras en que usted puede "enganchar" scripts como phpMussel a su sistema o CMS, pero el más fácil es simplemente incluir el script al principio de un archivo central de su sistema o CMS (uno que en general siempre sea cargado cuando alguien accede a cualquier página a través de su web) utilizando un `require` o `include` declaración. Por lo general, esto sera algo almacenado en un directorio como `/includes`, `/assets` o `/functions`, y será menudo llamado algo así como `init.php`, `common_functions.php`, `functions.php` o similar. Vas a tener que averiguar qué archivo es por su situación; Si encuentra dificultades para resolver esto, visite la página de issues phpMussel en GitHub o los foros de soporte para phpMussel; Es posible que sea yo u otro usuario puede tener experiencia con el CMS que está utilizando (que necesita para hacernos saber que CMS está utilizando), y por lo tanto, puede ser capaz de proporcionar alguna ayuda en esta área. Para ello [utilizar `require` o `include`], inserte la siguiente línea de código al principio de ese núcleo archivo, reemplazando la cuerda contenida dentro de las comillas con la exacta dirección del `loader.php` archivo (dirección local, no la dirección HTTP; será similar a la dirreción `vault` mencionada anteriormente). - -`` - -Guardar archivo, cerrarla, resubir. - --- O ALTERNATIVAMENTE -- - -Si está utilizando un servidor Apache y si usted tiene acceso a `php.ini`, puede utilizar la `auto_prepend_file` dirección para anteponer phpMussel cuando cualquier solicitud PHP sea realizada. Algo como: - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -O esto en el archivo `.htaccess`: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) Con eso, ya está! Pero, probablemente deberías preubalo para asegurarse de que está funcionando correctamente. Para probar archivos subidos protecciones, probar subir los archivos de prueba incluidos en el paquete dentro `.tests/samples` a su website a través de sus habituales navegador basado subir métodos. (Asegúrese de haber incluido los archivos de firmas `phpmussel*.*db` en la directiva de configuración `active` para que se activen los archivos de prueba). Si todo funciona correctamente, un mensaje debe aparecer de phpMussel confirmando que la subido ha sido bloqueada con éxito. Si nada aparece, algo no está funcionando correctamente. Si está utilizando cualquiera de las avanzadas funciones o si está utilizandolos otros tipos de escaneo posible, Sugiero probarlo con aquellos a asegurarse de que funciona como se espera, también. - -#### 2.1 INSTALACIÓN MANUAL (PARA CLI) - -1) Con tu leyendo esto, estoy asumiendo que usted ha descargado una copia de la script, descomprimido y tenerlo en algún lugar en su computer. Cuando se ha determinado que usted es feliz con el lugar elegido para phpMussel, continuar. - -2) phpMussel requiere PHP para ser instalado en la host máquina para ejecutar. Si usted no has PHP instalado en su máquina, por favor, instalar PHP en su máquina, siguiendo las instrucciones suministradas por el PHP instalador. - -3) Opcionalmente (muy recomendable para avanzados usuarios, pero no se recomienda para los principiantes o para los inexpertos), abrir `config.ini` (situado en el interior del `vault`) – Este archivo contiene todas las disponibles operativas opciones para phpMussel. Por encima de cada opción debe ser un breve comentario que describe lo que hace y para lo qué sirve. Ajuste estas opciones según sus necesidades, según lo que sea apropiado para su particular configuración. Guardar archivo, cerrar. - -4) Opcionalmente, usted puede hacer uso de phpMussel en CLI modo más fácil para ti mismo mediante la creación de un batch archivo para automáticamente cargar PHP y phpMussel. Para ello, abra un texto editor como Notepad o Notepad++, escriba la completa ruta al `php.exe` archivo dentro lo directorio de la PHP instalación, seguido de un espacio, seguido de la completa ruta al `loader.php` archivo dentro lo directorio de su phpMussel instalación, guardar el archivo con la `.bat` extensión en alguna parte que usted lo encontrará fácilmente, y haga doble clic en ese archivo para ejecutar phpMussel en el futuro. - -5) Instale cualquier de las firmas que necesite. *Ver: [INSTALACIÓN DE FIRMAS](#INSTALLING_SIGNATURES).* - -6) Con eso, ya está! Pero, probablemente deberías preubalo para asegurarse de que está funcionando correctamente. Para probar phpMussel, ejecute phpMussel e probar escanear el directorio `.tests/samples` suministrada con el paquete. - -#### 2.2 INSTALACIÓN CON COMPOSER - -[phpMussel está registrado con Packagist](https://packagist.org/packages/phpmussel/phpmussel), y por lo tanto, si está familiarizado con Composer, puede utilizar Composer para instalar phpMussel (sin embargo, usted todavía necesitará preparar la configuración, los permisos, las firmas y los ganchos; consulte "INSTALACIÓN MANUAL (PARA NAVEGADORES)" pasos 2, 4, 5, y 6). - -`composer require phpmussel/phpmussel` - -#### 2.3 INSTALACIÓN DE FIRMAS - -Desde v1.0.0, las firmas no están incluidas en el paquete phpMussel. Las firmas son requeridas por phpMussel para detectar amenazas específicas. Existen 3 métodos principales para instalar firmas: - -1. Instalar automáticamente mediante el front-end página de actualizaciones. -2. Genere firmas usando "SigTool" e instale manualmente. -3. Descargue las firmas de "phpMussel/Signatures" e instálelas manualmente. - -##### 2.3.1 Instalar automáticamente mediante el front-end página de actualizaciones. - -Primeramente, necesitará asegurarse de que el front-end está habilitado. *Ver: [GESTIÓN DE FRONT-END](#SECTION4).* - -Entonces, todo lo que necesitas hacer es ir a el front-end página de actualizaciones, encontrar los archivos de firma necesarios y usar las opciones que se proporcionan en la página, instalarlos y activarlos. - -##### 2.3.2 Genere firmas usando "SigTool" e instale manualmente. - -*Ver: [SigTool documentación](https://github.com/phpMussel/SigTool#documentation).* - -*También tenga en cuenta que SigTool solo procesa las firmas de ClamAV. Para obtener firmas de otras fuentes, como las escritas específicamente para phpMussel, que incluye las firmas necesarias para detectar las muestras de prueba de phpMussel, este método deberá complementarse con uno de los otros métodos mencionados aquí.* - -##### 2.3.3 Descargue las firmas de "phpMussel/Signatures" e instálelas manualmente. - -Primeramente, ve a [phpMussel/Signatures](https://github.com/phpMussel/Signatures). El repositorio contiene varios archivos de firma que son comprimidos GZ. Descargue los archivos que necesita, descomprímalos y copie los archivos descomprimidos en el directorio `/vault/signatures` para instalarlos. Enumere los nombres de los archivos copiados a la directiva `active` en su configuración de phpMussel para activarlos. - ---- - - -### 3. CÓMO USAR - -#### 3.0 CÓMO USAR (PARA NAVEGADORES) - -phpMussel debe ser capaz de funcionar correctamente con requisitos mínimos de su parte: Después de instalarlo, que debería funcionar inmediatamente y ser inmediatamente utilizable. - -Escaneo de archivos subidos es automatizado y activado como estándar, así, nada se requerida en su nombre por esta particular función. - -Pero, también es capaz instruirá phpMussel para escanear específicos archivos, directorios y/o compactados archivos. Para ello, primeramente, usted tendrá asegurarse de que la adecuada configuración se establece el la `config.ini` archivo (`cleanup` debe estar desactivado), y cuando hecho, en un PHP archivo conectado a phpMussel, utilice la siguiente closure en su código: - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan` puede ser una cadena, una matriz o una matriz de matrices, e indica qué archivo, archivos, directorio y/o directorios a escanear. -- `$output_type` es un booleano, indicando el formato de los resultados del análisis para ser devueltos como. `false` instruye la función para devolver resultados como un entero. `true` instruye la función para devolver resultados como texto legible por humanos. Además, en cualquier caso, los resultados pueden ser acceder a través de globales variables después escaneo ha completado. Esta variable es opcional, predefinido como `false`. As siguientes se describen los números enteros: - -| Resultados | Descripción | -|---|---| -| -4 | Indica que los datos no se pudieron escanear debido al cifrado. | -| -3 | Indica que se encontraron problemas con los archivos de firmas phpMussel. | -| -2 | Indica que se ha corruptos datos detectados durante el escanear y por lo tanto el escanear no pudo completar. | -| -1 | Indica que las extensiones o complementos requeridos por PHP para ejecutar el escaneo faltaban y por lo tanto el escanear no pudo completar, 0 indica que la escanear objetivo no existe y por lo tanto no había nada para escanear. | -| 0 | Indica que la escanear objetivo no existe y por lo tanto no había nada para escanear. | -| 1 | Indica que el objetivo fue escaneado con éxito y no se detectaron problemas. | -| 2 | Indica que el objetivo fue escaneado con éxito y se detectaron problemas. | - -- `$output_flatness` es un booleano, indicando a la función si se deben devolver los resultados de la escaneo (cuando hay varios objetivos a escanear) como una matriz o una cadena. `false` devolverá los resultados como una matriz. `true` devolverá los resultados como una cadena. Esta variable es opcional, predefinido como `false`. - -Ejemplos: - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -Devuelve algo como esto (como una cadena): - -``` - Wed, 16 Sep 2013 02:49:46 +0000 Iniciado. - > Comprobando '/user_name/public_html/my_file.html': - -> No problemas encontrado. - Wed, 16 Sep 2013 02:49:47 +0000 Terminado. -``` - -Para una descripción completa del tipo de firmas phpMussel utiliza durante el escanear y la forma en que maneja estas firmas, consulte la sección [FORMATOS DE FIRMAS](#SECTION8) de este archivo README. - -Si se encuentra algún falsos positivos, si se encuentra con algo nuevo que crees que debería ser bloqueada, o para cualquier otra cosa en relación con las firmas, por favor contacto conmigo al respecto para que pueda hacer los cambios necesarios, para que, si no se comunica conmigo, posiblemente no necesariamente tener en cuenta. *(Ver: [¿Qué es un "falso positivo"?](#WHAT_IS_A_FALSE_POSITIVE)).* - -Para desactivar las firmas que se incluyen con phpMussel (por ejemplo, si usted está experimentando un falso positivo específico para sus propósitos que normalmente no debería ser suprimido), agregue los nombres de las firmas específicas que deberían estar deshabilitados a la greylist de firmas (`/vault/greylist.csv`), separado por comas. - -*Ver también: [¿Cómo acceder a detalles específicos sobre los archivos cuando se escanean?](#SCAN_DEBUGGING)* - -#### 3.1 CÓMO USAR (PARA CLI) - -Por favor, consulte la sección "INSTALACIÓN MANUAL (PARA CLI)" de este README. - -También tenga en cuenta que phpMussel es un escáner *on-demand*; *NO* es un escáner en tiempo real / *on-access* (excepto para la carga de archivos, en el momento de carga), y no como antivirus suites convencionales, no supervisa la memoria activa! Es sólo detecta virus contenidas por las carga de archivos, y contenidos en los archivos específicos explícitamente para escaneo. - ---- - - -### 4. GESTIÓN DE FRONT-END - -#### 4.0 CUÁL ES EL FRONT-END. - -El front-end proporciona una manera cómoda y fácil de mantener, administrar y actualizar la instalación de phpMussel. Puede ver, compartir y descargar archivos de registro a través de la página de registros, puede modificar la configuración a través de la página de configuración, puede instalar y desinstalar componentes a través de la página de actualizaciones, y puede cargar, descargar y modificar archivos en su vault a través del administración de archivos. - -El front-end está desactivado de forma predeterminada para evitar el acceso no autorizado (el acceso no autorizado podría tener consecuencias significativas para su sitio web y su seguridad). Las instrucciones para habilitarlo se incluyen debajo de este párrafo. - -#### 4.1 CÓMO HABILITAR EL FRONT-END. - -1) Localizar la directiva `disable_frontend` dentro `config.ini`, y establézcalo en `false` (será predefinido como `true`). - -2) Accesar `loader.php` desde tu navegador (p.ej., `http://localhost/phpmussel/loader.php`). - -3) Inicie sesión con el nombre del usuario y la contraseña predeterminados (admin/password). - -Nota: Después de iniciar la sesión por primera vez, con el fin de impedir el acceso no autorizado al front-end, usted debe cambiar inmediatamente su nombre de usuario y su contraseña! Esto es muy importante, ya que es posible subir código arbitrario de PHP a su sitio web a través del front-end. - -Además, para una seguridad óptima, se recomienda encarecidamente habilitar la "autenticación de dos factores" para todas las cuentas del front-end (se proporcionan instrucciones a continuación). - -#### 4.2 CÓMO UTILIZAR EL FRONT-END. - -Las instrucciones se proporcionan en cada página del front-end, para explicar la manera correcta de usarlo y su propósito. Si necesita más explicaciones o cualquier ayuda especial, póngase en contacto con el soporte. Alternativamente, hay algunos videos disponibles en YouTube que podrían ayudar a modo de demostración. - -#### 4.3 AUTENTICACIÓN DE DOS FACTORES - -Es posible hacer que el front-end sea más seguro habilitando la autenticación de dos factores ("2FA"). Cuando se inicia una sesión usando una cuenta habilitada para 2FA, se envía un correo electrónico a la dirección de correo electrónico asociada con esa cuenta. Este correo electrónico contiene un "código 2FA", que el usuario debe ingresar, además del nombre de usuario y la contraseña, para poder iniciar sesión con esa cuenta. Esto significa que la obtención de una contraseña de cuenta no sería suficiente para que cualquier hacker o posible atacante pueda iniciar sesión en esa cuenta, ya que también necesitarían tener acceso a la dirección de correo electrónico asociada con esa cuenta para poder recibir y utilizar el código 2FA asociado a la sesión, por lo tanto haciendo el front-end más seguro. - -En primer lugar, para habilitar la autenticación de dos factores, utilizando la página de actualizaciones del front-end, instale el componente PHPMailer. phpMussel utiliza PHPMailer para enviar correos electrónicos. Cabe señalar que aunque phpMussel, por sí mismo, es compatible con PHP >= 5.4.0, PHPMailer requiere PHP >= 5.5.0, lo que significa que no será posible habilitar la autenticación de dos factores para el front-end phpMussel para usuarios de PHP 5.4. - -Después de instalar PHPMailer, deberá llenar las directivas de configuración de PHPMailer a través de la página de configuración de phpMussel o el archivo de configuración. Se incluye más información sobre estas directivas de configuración en la sección de configuración de este documento. Después de haber llenado las directivas de configuración de PHPMailer, configure `enable_two_factor` a `true`. La autenticación de dos factores ahora debería estar habilitada. - -A continuación, deberá asociar una dirección de correo electrónico con una cuenta, para que phpMussel sepa a dónde enviar códigos 2FA cuando inicie sesión con esa cuenta. Para hacer esto, use la dirección de correo electrónico como el nombre de usuario de la cuenta (como `foo@bar.tld`), o incluya la dirección de correo electrónico como parte del nombre de usuario de la misma manera que lo haría al enviar un correo electrónico normalmente (como `Foo Bar `). - -Nota: Proteger su vault contra el acceso no autorizado (p.ej., a modo de endureciendo la seguridad de su servidor y los permisos de acceso público), es particularmente importante aquí, debido a ese acceso no autorizado a su archivo de configuración (que se almacena en su vault), podría exponer la configuración de SMTP saliente (incluido el nombre de usuario y la contraseña de SMTP). Debe asegurarse de que su vault esté correctamente asegurada antes de habilitar la autenticación de dos factores. Si no puede hacer esto, al menos, debe crear una nueva cuenta de correo electrónico, dedicada a tal fin, para reducir los riesgos asociados con la configuración SMTP expuesta. - ---- - - -### 5. CLI (COMANDOS LÍNEA INTERFAZ) - -phpMussel se puede ejecutar como un interactivo archivos escáner en CLI modo dentro sistemas basados en Windows. Consulte el "CÓMO INSTALAR (PARA CLI)" sección de este archivo README para más detalles. - -Para obtener una lista de los CLI comandos disponibles, para el CLI aviso, escriba 'c', y pulse Enter. - -Adicionalmente, para los interesados, un video tutorial de cómo utilizar phpMussel en el modo CLI está disponible aquí: -- - ---- - - -### 6. ARCHIVOS INCLUIDOS EN ESTE PAQUETE - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. OPCIONES DE CONFIGURACIÓN - -La siguiente es una lista de variables encuentran en la `config.ini` configuración archivo de phpMussel, junto con una descripción de sus propósito y función. - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### "general" (Categoría) -General configuración para phpMussel. - -##### "cleanup" -- Despejar la variables y la caché de la script después la script ejecución? False = No; True = Sí [Predefinido]. Si no está utilizando el script para otra cosa que no sea escanear subidas, debe configurar esto en `true` para minimizar el uso de memoria. De lo contrario, debe configurarlo en `false`, para retener en la memoria los datos necesarios para ejecutar phpMussel sin necesidad de volver a cargarlo. -- No tiene influencia en CLI modo. - -##### "scan_log" -- Nombre del archivo para registrar todos los resultados de las escaneos. Especifique un archivo nombre, o dejar en blanco para desactivar. - -##### "scan_log_serialized" -- Nombre del archivo para registrar todos los resultados de las escaneos (utilizando un formato serializado). Especifique un archivo nombre, o dejar en blanco para desactivar. - -##### "scan_kills" -- Nombre del archivo para registrar todos bloqueados o matados subidos. Especifique un archivo nombre, o dejar en blanco para desactivar. - -*Consejo útil: Si usted quieres, puede añadir información en fecha/hora a los nombres de los archivos de registro mediante la inclusión de éstos en el nombre: `{yyyy}` para el año completo, `{yy}` para el año abreviada, `{mm}` por mes, `{dd}` por día, `{hh}` para la hora.* - -*Ejemplos:* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### "error_log" -- Un archivo para registrar cualquier error detectado que no sea fatal. Especificar el nombre del archivo, o dejar en blanco para desactivar. - -##### "truncate" -- ¿Truncar archivos de registro cuando alcanzan cierto tamaño? Valor es el tamaño máximo en B/KB/MB/GB/TB que un archivo de registro puede crecer antes de ser truncado. El valor predeterminado de 0KB deshabilita el truncamiento (archivos de registro pueden crecer indefinidamente). Nota: ¡Se aplica a archivos de registro individuales! El tamaño de los archivos de registro no se considera colectivamente. - -##### "log_rotation_limit" -- La rotación de registros limita la cantidad de archivos de registro que deberían existir al mismo tiempo. Cuando se crean nuevos archivos de registro, si la cantidad total de archivos de registro excede el límite especificado, se realizará la acción especificada. Puede especificar el límite deseado aquí. Un valor de 0 deshabilitará la rotación de registros. - -##### "log_rotation_action" -- La rotación de registros limita la cantidad de archivos de registro que deberían existir al mismo tiempo. Cuando se crean nuevos archivos de registro, si la cantidad total de archivos de registro excede el límite especificado, se realizará la acción especificada. Puede especificar la acción deseada aquí. Delete = Eliminar los archivos de registro más antiguos, hasta que el límite ya no se exceda. Archive = Primero archiva, y luego eliminar los archivos de registro más antiguos, hasta que el límite ya no se exceda. - -*Clarificación técnica: En este contexto, "más antiguo" significa modificado menos recientemente.* - -##### "timezone" -- Esto se usa para especificar qué zona horaria debe usar phpMussel para las operaciones de fecha/hora. Si no lo necesitas, ignóralo. Los valores posibles están determinados por PHP. Generalmente, se recomienda en lugar para ajustar la directiva de zona horaria en el archivo `php.ini`, pero a veces (por ejemplo, cuando se trabaja con proveedores de hosting compartido limitados) esto no siempre es posible hacer, y entonces, esta opción se proporciona aquí. - -##### "time_offset" -- *v1: "timeOffset"* -- Si el tiempo del servidor no coincide con la hora local, se puede especificar un offset aquí para ajustar la información de fecha/hora generado por phpMussel de acuerdo a sus necesidades. Generalmente, se recomienda en lugar para ajustar la directiva de zona horaria en el archivo `php.ini`, pero a veces (por ejemplo, cuando se trabaja con proveedores de hosting compartido limitados) esto no siempre es posible hacer, y entonces, esta opción se proporciona aquí. El offset es en minutos. -- Ejemplo (para añadir una hora): `time_offset=60` - -##### "time_format" -- *v1: "timeFormat"* -- El formato de notación de fecha/hora usado por phpMussel. Predefinido = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`. - -##### "ipaddr" -- ¿Dónde puedo encontrar el IP dirección de las solicitudes entrantes? (Útil para servicios como Cloudflare y tales) Predefinido = REMOTE_ADDR. ¡AVISO: No cambie esto a menos que sepas lo que estás haciendo! - -Valores recomendados para "ipaddr": - -Valor | Utilizando ----|--- -`HTTP_INCAP_CLIENT_IP` | Proxy inverso Incapsula. -`HTTP_CF_CONNECTING_IP` | Proxy inverso Cloudflare. -`CF-Connecting-IP` | Proxy inverso Cloudflare (alternativa; si lo anterior no funciona). -`HTTP_X_FORWARDED_FOR` | Proxy inverso Cloudbric. -`X-Forwarded-For` | [Proxy inverso Squid](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*Definido por la configuración del servidor.* | [Proxy inverso Nginx](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` | Sin proxy inverso (valor predefinido). - -##### "enable_plugins" -- ¿Habilitar el soporte para los plugins de phpMussel? False = No; True = Sí [Predefinido]. - -##### "forbid_on_block" -- ¿Debería phpMussel enviar 403 header con la bloqueados archivos subidos mensaje, o quedarse con los usual 200 OK? False = No (200); True = Sí (403) [Predefinido]. - -##### "unsupported_media_type_header" -- ¿Debería phpMussel enviar 415 header cuando las cargas están bloqueadas debido a tipos de archivos en la lista negra? Cuando es true, esta configuración reemplaza a `forbid_on_block`. False = No [Predefinido]; True = Sí. - -##### "delete_on_sight" -- Activando esta directiva instruirá la script para intentar para eliminar inmediatamente cualquier escaneados intentados archivos subidos emparejando a los criterios de detección, si través de firmas o de otras maneras. Archivos determinados como limpia no serán tocados. En el caso de los compactados archivos, la totalidad del compactado archivo será eliminado (independientemente de si el emparejando archivo es sólo uno de muchos varios archivos contenida dentro del compactado archivo). Para el caso de archivo subir escaneo, en general, no es necesario activar esta directiva, porque en general, PHP purgará automáticamente el contenido de su caché cuando la ejecución ha terminado, significando que lo en general eliminará cualquier archivos subidos a través de él con el servidor a no ser que se han movido, copiado o eliminado ya. La directiva se añade aquí como una medida adicional de seguridad para aquellos cuyas copias de PHP no siempre se comportan de la manera esperada. False = Después escaneando, dejar el archivo solo [Predefinido]; True = Después escaneando, si no se limpia, eliminar inmediatamente. - -##### "lang" -- Especifique la predefinido del lenguaje para phpMussel. - -##### "lang_override" -- ¿Localizar según HTTP_ACCEPT_LANGUAGE siempre que sea posible? True = Sí [Predefinido]; False = No. - -##### "numbers" -- Especifica cómo mostrar números. - -Valores soportados actualmente: - -Valor | Produce | Descripción ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | Valor predefinido. -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*Nota: Estos valores no están estandarizados en ninguna parte, y probablemente no sean relevantes más allá del paquete. Además, los valores soportados pueden cambiar en el futuro.* - -##### "quarantine_key" -- phpMussel es capaz de poner en cuarentena intentados archivos subidos en aisladamente dentro de la phpMussel vault, si esto es algo que usted quiere que haga. Usuarios casual de phpMussel de los cuales simplemente desean proteger sus website o hosting ambiente sin tener ningún interés con analizando profundamente cualquier marcados intentados archivos subidos debería dejar esta funcionalidad desactivado, pero cualquier usuarios interesados en más análisis de marcados intentados archivos subidos para la investigación de malware o para cosas similares debe activar esta funcionalidad. Cuarentenando de marcados intentados archivos subidos a veces puede también ayudar en la depuración de falsos positivos, si esto es algo que ocurre con frecuencia para usted. Para desactivar la cuarentena funcionalidad, simplemente dejar la directiva `quarantine_key` vacío, o borrar el contenidos de que directiva si no está ya vacío. Para activar la cuarentena funcionalidad, entrar algún valor en la directiva. La `quarantine_key` es un importante característica de seguridad de la cuarentena funcionalidad requiere como un medio para la prevención de la explotación de la cuarentena funcionalidad por potenciales atacantes y como un medio de evitar cualquier potencial ejecución de los datos almacenados dentro la cuarentena. La `quarantine_key` debería ser tratado de la misma manera que sus contraseñas: El más grande es el mejor, y guárdela bien. Para un mejor efecto, utilice conjuntamente con `delete_on_sight`. - -##### "quarantine_max_filesize" -- El archivo tamaño máximo permitido para archivos para ser cuarentenada. Archivos que superen el valor especificado aquí NO serán cuarentenada. Esta directiva es importante como un medio de hacer que sea más difícil para cualquier potenciales atacantes a inundar su cuarentena con datos no deseados que puede causar el excesivo uso de datos en su servicio de hosting. Predefinido = 2MB. - -##### "quarantine_max_usage" -- El uso máximo de memoria permitida para la cuarentena. Si la total memoria utilizada por la cuarentena alcanza este valor, los más antiguos cuarentenado archivos serán eliminado hasta que la total memoria utilizada ya no alcanza este valor. Esta directiva es importante como un medio de hacer que sea más difícil para cualquier potenciales atacantes a inundar su cuarentena con datos no deseados que puede causar el excesivo uso de datos en su servicio de hosting. Predefinido = 64M. - -##### "quarantine_max_files" -- La cantidad máxima de archivos que pueden existir en la cuarentena. Cuando se agregan nuevos archivos a la cuarentena, si se excede este número, los archivos antiguos se eliminarán hasta que el resto ya no exceda este número. Predefinido = 100. - -##### "honeypot_mode" -- Cuando la honeypot modo está activado, phpMussel intentará cuarentenar cada archivos subidos que encuentra, independientemente de si o no el archivo que se está subido coincide con las firmas incluídas, y no real escanear o análisis de esos intentados archivos subidos van a ocurrir. Esta funcionalidad debe ser útil para aquellos que deseen utilizar phpMussel a los efectos del virus/malware investigación, pero no se recomendado activar esta funcionalidad si el uso de phpMussel por el usuario es para real archivo subido escaneando ni recomendado usar la honeypot funcionalidad para fines otro que de la honeypot. Por predefinido, esta opción está desactivada. False = Desactivado [Predefinido]; True = Activado. - -##### "scan_cache_expiry" -- Por cuánto tiempo debe phpMussel caché de los resultados del escaneo? El valor es el número de segundos para almacenar en caché los resultados del escaneo. La predeterminado valor es 21600 segundos (6 horas); Un valor de 0 desactiva el almacenamiento en caché de los resultados del escaneo. - -##### "disable_cli" -- ¿Desactivar CLI modo? CLI modo está activado por predefinido, pero a veces puede interferir con ciertas herramientas de prueba (tal como PHPUnit, por ejemplo) y otras aplicaciones basadas en CLI. Si no es necesario desactivar CLI modo, usted debe ignorar esta directiva. False = Activar CLI modo [Predefinido]; True = Desactivar CLI modo. - -##### "disable_frontend" -- ¿Desactivar el acceso front-end? El acceso front-end puede hacer phpMussel más manejable, pero también puede ser un riesgo de seguridad. Se recomienda administrar phpMussel a través del back-end cuando sea posible, pero el acceso front-end se proporciona para cuando no es posible. Mantenerlo desactivado a menos que lo necesite. False = Activar el acceso front-end; True = Desactivar el acceso front-end [Predefinido]. - -##### "max_login_attempts" -- Número máximo de intentos de login al front-end. Predefinido = 5. - -##### "frontend_log" -- *v1: "FrontEndLog"* -- Archivo para registrar intentos de login al front-end. Especificar el nombre del archivo, o dejar en blanco para desactivar. - -##### "disable_webfonts" -- ¿Desactivar webfonts? True = Sí [Predefinido]; False = No. - -##### "maintenance_mode" -- ¿Activar modo de mantenimiento? True = Sí; False = No [Predefinido]. Desactiva todo lo que no sea el front-end. A veces útil para la actualización de su CMS, frameworks, etc. - -##### "default_algo" -- Define qué algoritmo utilizar para todas las contraseñas y sesiones en el futuro. Opciones: PASSWORD_DEFAULT (predefinido), PASSWORD_BCRYPT, PASSWORD_ARGON2I (requiere PHP >= 7.2.0), PASSWORD_ARGON2ID (requiere PHP >= 7.3.0). - -##### "statistics" -- ¿Seguir las estadísticas de uso de phpMussel? True = Sí; False = No [Predefinido]. - -##### "hide_version" -- ¿Ocultar información de la versión de los archivos de registro y la salida de la página? True = Sí; False = No [Predefinido]. - -##### "disabled_channels" -- Esto se puede usar para evitar que phpMussel use canales particulares al enviar solicitudes (por ejemplo, al actualizar, al obtener metadatos de componentes, etc). - -##### "default_timeout" -- ¿Tiempo de espera predeterminado para usar en solicitudes externas? Predeterminado = 12 segundos. - -#### "signatures" (Categoría) -Configuración de firmas. - -##### "active" -- *v1: "Active"* -- Una lista de los archivos de firmas activa, delimitados por comas. - -*Nota:* -- *Los archivos de firma deben estar primero instalados, antes de poder activarlos.* -- *Para que los archivos de prueba funcionen correctamente, los archivos de firma deben estar instalados y activados.* -- *El valor de esta directiva se almacena en caché. Después de cambiarlo, para que los cambios surtan efecto, es posible que deba eliminar el caché.* - -##### "fail_silently" -- ¿Debe phpMussel informan cuando los firmas archivos están desaparecidos o dañados? Si `fail_silently` está desactivado, desaparecidos y dañados archivos será reportado cuando escaneando, y si `fail_silently` está activado, desaparecidos y dañados archivos será ignorado, con escaneando reportando para aquellos archivos que no hay cualquier problemas. Esto generalmente debe ser dejar sola a menos que usted está experimentando estrellarse o problemas similares. False = Desactivado; True = Activado [Predefinido]. - -##### "fail_extensions_silently" -- ¿Debe phpMussel informan cuando extensiones están desaparecidos? Si `fail_extensions_silently` está desactivado, desaparecidos extensiones será reportado cuando escaneando, y si `fail_extensions_silently` está activado, desaparecidos extensiones será ignorado, with scanning reportando para aquellos archivos que no hay cualquier problemas. Desactivando esta directiva puede potencialmente aumentar su seguridad, pero también puede conducir a un aumento de falsos positivos. False = Desactivado; True = Activado [Predefinido]. - -##### "detect_adware" -- ¿Debe phpMussel utilizar firmas para detectar adware? False = No; True = Sí [Predefinido]. - -##### "detect_joke_hoax" -- ¿Debe phpMussel utilizar firmas para detectar broma/engaño malware/virus? False = No; True = Sí [Predefinido]. - -##### "detect_pua_pup" -- ¿Debe phpMussel utilizar firmas para detectar PUAs/PUPs? False = No; True = Sí [Predefinido]. - -##### "detect_packer_packed" -- ¿Debe phpMussel utilizar firmas para detectar empacadores y datos empaquetados? False = No; True = Sí [Predefinido]. - -##### "detect_shell" -- ¿Debe phpMussel utilizar firmas para detectar shell scripts? False = No; True = Sí [Predefinido]. - -##### "detect_deface" -- ¿Debe phpMussel utilizar firmas para detectar defacements y defacers? False = No; True = Sí [Predefinido]. - -##### "detect_encryption" -- ¿Debe phpMussel detectar y bloquear archivos cifrados? False = No; True = Sí [Predefinido]. - -#### "files" (Categoría) -General configuración para el manejo de archivos. - -##### "max_uploads" -- Máximo permitido número de archivos para escanear durante archivo subido escaneo antes de abortando la escaneo e informando al usuario están subir demasiado simultáneamente! Proporciona protección contra un teórico ataque por lo cual un atacante intenta DDoS su sistema o CMS por sobrecargando phpMussel para ralentizar el proceso de PHP a niveles inoperables. Recomendado: 10. Es posible que desee aumentar o reducir este número dependiendo de la velocidad de su hardware. Notar que este número no tiene en cuenta o incluir el contenidos de compactados archivos. - -##### "filesize_limit" -- Límite del tamaño de archivos en KB. 65536 = 64MB [Predefinido]; 0 = Sin límite (siempre en la greylist), cualquier (positivo) numérico valor aceptado. Esto puede ser útil cuando su PHP configuración limita la cantidad de memoria un proceso puede contener o si su PHP configuración limita el tamaño de archivo subidos. - -##### "filesize_response" -- Qué hacer con los archivos que superen el límite del tamaño de archivos (si existe). False = Whitelist; True = Blacklist [Predefinido]. - -##### "filetype_whitelist", "filetype_blacklist", "filetype_greylist" -- Si su sistema sólo permite ciertos tipos de archivos para ser subido, o si su sistema niega explícitamente ciertos tipos de archivos, especificando los tipos de archivos en la whitelist, blacklist y/o greylist puede aumentar la velocidad a que escaneando se realizado por permitiendo la script para saltar sobre ciertos tipos de archivos. Formato es CSV (comas separados valores). Si desea escanear todo, en lugar de utilizando la whitelist, blacklist o greylist, dejar las variables en blanco; haciendo tal desactivará la whitelist/blacklist/greylist. -- Lógico orden de procesamiento es: - - Si el tipo de archivo está en la whitelist, no escanear y no bloquear el archivo, y no cotejar el archivo con la blacklist o la greylist. - - Si el tipo de archivo está en la blacklist, no escanear el archivo, pero bloquearlo en todo caso, y no cotejar el archivo con la greylist. - - Si la greylist está vacía o si la greylist está no vacía y el tipo de archivo está en la greylist, escanearlo como normal y determinar si para bloquearlo basado en los resultados de la escaneo, pero si la greylist está no vacía y el tipo de archivo está no en la greylist, tratar el archivo como si está en la blacklist, por lo tanto no escanearlo pero bloquearlo en todo caso. - -##### "check_archives" -- Intente comprobar el contenido de los compactados archivos? False = No (no comprobar); True = Sí (comprobar) [Predefinido]. - -Formato | Puede leer | Puede leer recursivamente | Puede detectar el cifrado | Notas ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | Requiere [libzip](https://secure.php.net/manual/en/zip.requirements.php) (normalmente empaquetado con PHP de todos modos). También soportado (usa el formato zip): ✔️ Detección de objetos OLE. ✔️ Detección de macros Office. -Tar | ✔️ | ✔️ | ➖ | Ningún requerimiento especial. El formato no soporte el cifrado. -Rar | ✔️ | ✔️ | ✔️ | Requiere la extensión [rar](https://pecl.php.net/package/rar) (cuando esta extensión no está instalada, phpMussel no puede leer archivos rar). -Phar | ❌ | ❌ | ❌ | Soporte para leer de archivos phar fue removido en v1.6.0 y no se agregará nuevamente, debido a preocupaciones de seguridad. - -*Si alguien puede y está dispuesto a ayudar a implementar el soporte para leer otros formatos de archivo, dicha ayuda sería bienvenida.* - -##### "filesize_archives" -- Heredar tamaño de archivos blacklist/whitelist para los contenidos de compactados archivos? False = No (todo en la greylist); True = Sí [Predefinido]. - -##### "filetype_archives" -- Heredar la blacklist/whitelist para los tipos de archivos para los contenidos de compactados archivos? False = No (todo en la greylist) [Predefinido]; True = Sí. - -##### "max_recursion" -- Máximo recursividad nivel límite para compactados archivos. Predefinido = 3. - -##### "block_encrypted_archives" -- Detectar y bloquear compactados archivos encriptados? Debido phpMussel no es capaz de escanear el contenido de los compactados archivos encriptados, es posible que este puede ser empleado por un atacante como un medio de evitando phpMussel, antivirus escáneres y otras protecciones. Instruir phpMussel para bloquear cualquier compactado archivo que se descubre es encriptado potencialmente podría ayudar a reducir el riesgo asociado a estos tales posibilidades. False = No; True = Sí [Predefinido]. - -##### "max_files_in_archives" -- Número máximo de archivos para analizar desde archivos comprimidos antes de abortar el análisis. Predefinido = 0 (sin máximo). - -#### "attack_specific" (Categoría) -Configuración para ataque específicas detecciones. - -Detección de ataques de camaleón: False = Desactivado; True = Activado. - -##### "chameleon_from_php" -- Buscar para PHP código en archivos que no están PHP archivos ni reconocidos compactados archivos. - -##### "can_contain_php_file_extensions" -- Una lista de extensiones de archivos permitidos para contener código PHP, separados por comas. Si la detección de ataques de camaleón PHP está habilitada, los archivos que contienen código PHP, que tienen extensiones que no están en esta lista, se detectarán como ataques de camaleón de PHP. - -##### "chameleon_from_exe" -- Buscar para PE mágico número en archivos que no están ejecutables ni reconocidos compactados archivos y para ejecutables cuyo mágicos números son incorrectas. - -##### "chameleon_to_archive" -- Detectar mágicos números incorrectos en archivos y archivos comprimidos. Soportado: BZ/BZIP2, GZ/GZIP, LZF, RAR, ZIP. - -##### "chameleon_to_doc" -- Buscar para office documentos cuyo mágicos números son incorrectas (Soportado: DOC, DOT, PPS, PPT, XLA, XLS, WIZ). - -##### "chameleon_to_img" -- Buscar para imágenes cuyo mágicos números son incorrectas (Soportado: BMP, DIB, PNG, GIF, JPEG, JPG, XCF, PSD, PDD, WEBP). - -##### "chameleon_to_pdf" -- Buscar para PDF archivos cuyo mágicos números son incorrectas. - -##### "archive_file_extensions" -- Reconocido compactado archivo extensiones (formato es CSV; sólo debe agregar o eliminar cuando problemas ocurrir; eliminando innecesariamente puede causar falsos positivos a aparecer para compactados archivos, mientras añadiendo innecesariamente hará esencialmente whitelist que cuales eres añadiendo desde ataque específica detección; modificar con precaución; También notar que esto no tiene efecto en aquellos compactados archivos que pueden y no pueden ser analizado a contenido nivel). La lista, como es a predefinición, describe los formatos más comúnmente utilizados a través de la mayoría de sistemas y CMS, pero intencionalmente no es necesariamente exhaustiva. - -##### "block_control_characters" -- Bloquear cualquier archivos que contenga cualquier caracteres de control (aparte de saltos de línea)? (`[\x00-\x08\x0b\x0c\x0e\x1f\x7f]`) Si usted sólo subir texto sin cualquier formato, usted puede activar esta opción para proporcionar alguna adicional protección para su sistema. Pero, si usted subir cualquier cosa otro de texto sin cualquier formato, activando esto puede dar lugar a falsos positivos. False = No bloquear [Predefinido]; True = Bloquear. - -##### "corrupted_exe" -- Corrompido archivos y procesamiento errores. False = Ignorar; True = Bloquear [Predefinido]. Detectar y bloquear potencialmente corrompido PE (Portátil Ejecutable) archivos? Frecuentemente (pero no siempre), cuando ciertos aspectos de un PE archivo están corrompido, dañados o no podrá ser analizado correctamente, lo puede ser indicativo de una infección viral. Los procesos utilizados por la mayoría de los antivirus programas para detectar un virus en PE archivos requerir analizando esos archivos en ciertas maneras, que, si el programador de un virus es consciente de, intentará específicamente para prevenir, con el fin de permitir su virus permanezca sin ser detectado. - -##### "decode_threshold" -- Opcional limitación a la longitud de datos a que dentro de decodificación comandos deben ser detectados (en caso de que los hay notable rendimiento problemas mientras que escaneando). Predefinido = 512KB. Cero o nulo valor desactiva la limitación (eliminando cualquier tal limitación basado sobre la tamaño de archivos). - -##### "scannable_threshold" -- Opcional limitación a la longitud de datos puros para que phpMussel se permitido leer y escanear (en caso de que los hay notable rendimiento problemas mientras que escaneando). Predefinido = 32MB. Cero o nulo valor desactiva la limitación. En general, Este valor no debe ser inferior a la media tamaño de archivos subidos que desea y espera recibir a su servidor o website, no debe ser mayor que el filesize_limit directiva, y no debe ser más de aproximadamente una quinta parte de la total permisible memoria asignación concedida a PHP a través de la `php.ini` configuración archivo. Esta directiva existe para intratar prevenir phpMussel del uso de demasiada memoria (eso sería prevenir que sea capaz para escanear archivos con éxito encima de un cierto tamaño de archivos). - -##### "allow_leading_trailing_dots" -- ¿Permitir puntos iniciales y finales en los nombres de archivo? A veces, esto se puede utilizar para ocultar archivos, o para engañar a algunos sistemas para que permitan el atravesar del directorio. False = No permitir [Predefinido]. True = Permitir. - -##### "block_macros" -- ¿Intenta bloquear cualquier archivo que contenga macros? Algunos tipos de documentos y hojas de cálculo pueden contener macros ejecutables, proporcionando así un peligroso vector de malware potencial. False = No bloquear [Predefinido]; True = Bloquear. - -#### "compatibility" (Categoría) -Compatibilidad directivas para phpMussel. - -##### "ignore_upload_errors" -- Esta directiva, en general, debe ser desactivado, a menos que se requiere para la correcta funcionalidad de phpMussel en su específico sistema. Normalmente, cuando está desactivado, cuando phpMussel detecta la presencia de elementos en la `$_FILES` array(), intentará iniciar un escaneo de los archivos que esos elementos representan, y, si esos elementos están blanco o vacío, phpMussel devolverá un mensaje de error. Este es el comportamiento natural para phpMussel. Pero, para algunos CMS, vacíos elementos en `$_FILES` puede ocurrir como resultado del comportamiento natural de los CMS, o errores pueden ser reportados cuando no existe ninguna, en cuyo caso, el comportamiento natural para phpMussel será interfiriendo con el comportamiento natural de los CMS. Si tal situación ocurre para usted, activando esta opción instruirá phpMussel no intentar iniciar un escaneo para tales vacíos elementos, ignorarlos cuando encontrado y no devuelva cualquier relacionado mensaje de error, así permitiendo la continuación de la página cargando. False = DESACTIVADO; True = ACTIVADO. - -##### "only_allow_images" -- Cuando es true, cualquier archivo encontrado por el escáner que no sean imágenes se marcará de inmediato, sin ser escaneado. Esto puede ayudar a reducir el tiempo necesario para completar una escaneo en algunos casos. Establecido en falso por predeterminado. - -#### "heuristic" (Categoría) -Heurísticas directivas para phpMussel. - -##### "threshold" -- Hay ciertas firmas de phpMussel eso tienen la intención de identificar sospechosas y potencialmente maliciosos cualidades de los archivos que se subido sin que en ellos la identificación de los archivos que se subido específicamente como malicioso. Este "threshold" (umbral) valor dice phpMussel qué lo máximo total peso de sospechosas y potencialmente maliciosos cualidades de los archivos que se subido eso es permisible es antes de que esos archivos han de ser señalado como malicioso. La definición de peso en este contexto es el número total de sospechosas y potencialmente maliciosos cualidades identificados. Por predefinido, este valor es 3. Un valor inferior generalmente resultará en una mayor incidencia de falsos positivos pero un mayor número de archivos maliciosos siendo identificado, mientras un valor mayor generalmente resultará en una inferior incidencia de falsos positivos pero un inferior número de archivos maliciosos siendo identificado. Generalmente es mejor dejar este valor en su predefinido a menos que usted está experimentando problemas relacionados con ella. - -#### "virustotal" (Categoría) -Configuración para Virus Total integración. - -##### "vt_public_api_key" -- Opcionalmente, phpMussel es capaz de escanear archivos utilizando el Virus API total como una manera de proporcionar un mucho mayor nivel de protección contra virus, troyanos, malware y otras amenazas. Por predefinido, escanear archivos utilizando el Virus Total API está desactivado. Para activarlo, una API clave desde Virus Total se requiere. Debido a la significativo beneficio que esto podría proporcionar a usted, está algo que recomiendo. Tenga en cuenta, aunque, que para utilizar el Virus API total, es absolutamente necesario usted estar de acuerdo con sus Términos de Servicio y cumplan todas las directrices según descrito por el Virus Total documentación! Usted NO se permitido utilizar esta integración función A MENOS QUE: - - Ha leído y está de acuerdo con los Términos de Servicio de Virus Total y sus API. Los Términos de Servicio de Virus Total y sus API puede estar fundar [Aquí](https://www.virustotal.com/en/about/terms-of-service/). - - Ha leído y entender, en un mínimo, el preámbulo de la Virus Total Pública API Documentación (todo después "VirusTotal Public API v2.0" pero antes "Contents"). La Virus Total Pública API Documentación puede estar fundar [Aquí](https://www.virustotal.com/en/documentation/public-api/). - -Notar: Si escanear archivos utilizar la Virus Total API está desactivado, usted no tendrá requiere revisar cualquiera de las directivas en esta categoría (`virustotal`), porque ninguno de ellos hacen cualquier cosa si está desactivado. Para obtener una Virus Total API clave, desde dondequiera en su website, haga clic en el "Únete a la comunidad" enlace situada hacia la parte superior derecha de la página, entrar la información solicitada, y haga clic "Registrarse" cuando has hecholo. Siga todas las instrucciones suministradas, y cuando usted tiene su pública API clave, copiar/empastar que pública API clave a la `vt_public_api_key` directiva de la `config.ini` configuración archivo. - -##### "vt_suspicion_level" -- Por predefinido, phpMussel restringirá qué archivos se escaneado usando el Virus Total API a esos archivos que se considera "sospechosa". Opcionalmente, usted puede ajustar esta restricción por manera de cambiando el valor de la `vt_suspicion_level` directiva. -- `0`: Archivos sólo se consideran sospechoso si, cuando se escanear por phpMussel utilizando sus propias firmas, ellos se considera como que llevar un heurístico peso. Esto significaría efectivamente que uso del Virus Total API sería para una segunda opinión para cuando phpMussel sospecha que un archivo puede ser potencialmente malicioso, pero no pueden descartar completo que está puede también, potencialmente, ser benignos (no malicioso) y por lo tanto normalmente haría no bloquearlo o marcarlo como malicioso. -- `1`: Archivos se consideran sospechoso si, cuando se escanear por phpMussel utilizando sus propias firmas, ellos se considera como que llevar un heurístico peso, si son conocidos por ser ejecutable (PE archivos, Mach-O archivos, ELF/Linux archivos, etc), o si son conocidos por ser de un formato que podría contener ejecutable datos (tales como ejecutables macros, DOC/DOCX archivos, comprimidos archivos tales como RARs, ZIPS y etc). Este es el predeterminado valor y el nivel de sospecha recomienda para aplicar, significando efectivamente que el uso de la Virus Total API sería para una segunda opinión para cuando phpMussel no inicialmente encuentra cualquier cosa malicioso o mal con un archivo que se considera sospechoso y por lo tanto normalmente haría no bloquearlo o marcarlo como malicioso. -- `2`: Todos archivos son considerados sospechosos y deben ser escaneados utilizando el Virus Total API. Generalmente, está no se recomienda para aplicar esta nivel de sospecha, debido al riesgo de alcanzar su API cuota mucho más rápido que de normalmente haría ser es el caso, pero hay ciertas circunstancias (como cuando el webmaster o hostmaster tiene muy poca fe o confianza en absoluto en cualquiera de los contenidos subidos de sus usuarios) para donde que esta nivel sospecha podría ser apropiado. Con esta nivel de sospecha, todos archivos no normalmente bloqueados o marcados como malicioso haría ser escaneado utilizando el Virus Total API. Notar, aunque, que phpMussel cesará usando el Virus Total API cuando está ha alcanzado su API cuota (independientemente de sospecha nivel), y que su cuota será probablemente llegó mucho más rápido cuando utilizando esta nivel de sospecha. - -Notar: Independientemente de sospecha nivel, cualquieres archivos que están en la blacklist o whitelist para phpMussel no hará ser escaneado usando el Virus Total API, porque esos dichos archivos podrían ya han sido declarados ya sea como malicioso o benigno por phpMussel por el momento en que ellos podría han sido escaneados por el Virus Total API, y por lo tanto, adicional escaneando no sería necesaria. La capacidad de phpMussel para escanear archivos utilizando el Virus Total API es destinado para construir mayor confianza como a si un archivo es malicioso o benigno en aquellos circunstancias en que phpMussel no es enteramente seguro de si un archivo es malicioso o benigno. - -##### "vt_weighting" -- ¿Debería phpMussel aplicar los resultados del escaneo utilizando el Virus Total API como detecciones o como detección peso? Esta directiva existe, por razón de que, aunque escanear un archivo usando múltiples motores (como Virus Total hacer) debería resultar en un aumento detección cuenta (y por lo tanto en un mayor número de maliciosos archivos ser atrapado), esta también puede resultar en un mayor número de falsos positivos, y por lo tanto, en algunas circunstancias, los resultados del escanear pueden ser mejor utilizados como una puntuación de confianza y no como una definitiva conclusión. Si un valor de 0 es utiliza, los resultados del escaneo utilizando el Virus Total API se aplicará como detecciones, y por lo tanto, si cualquier motor utilizado por Virus Total marca el archivo está escaneando como malicioso, phpMussel considerará el archivo a ser malicioso. Si cualquier otro valor es utiliza, los resultados del escaneo utilizando el Virus Total API se aplicará como detección peso, y por lo tanto, el número de motores utilizados por Virus Total que marca el archivo está escaneando como malicioso servirá como una puntuación de confianza (o detección peso) para si el archivo que ser escanear debe ser considerado malicioso por phpMussel (el valor utilizado representará el mínima puntuación de confianza o peso requerido con el fin de ser considerado malicioso). Un valor de 0 es utilizado por predefinido. - -##### "vt_quota_rate" y "vt_quota_time" -- En acuerdo con la documentación de la Virus Total API, está limitado para un máximo de 4 solicitudes de cualquier naturaleza en cualquier 1 minuto período de tiempo. Si usted ejecuta un honeyclient, honeypot o cualquier otra automatización que va proporcionar recursos para Virus Total y no sólo recuperar los reportes usted tiene derecho a un más alta cuota. Por predefinido, phpMussel va adhiere estrictamente a estas limitaciones, pero debido a la posibilidad de estos limitaciones siendo aumentado, estas dos directivas son proporcionan como un manera para usted para indique para phpMussel en cuanto a qué limitaciones está debe adherirse a. A menos que usted ha estado indique que lo haga, está no es recomendable para usted para aumentar estos valores, pero, si ha tenido problemas relacionados con alcanzar su cuota, la disminución de estos valores _**PUEDE**_ a veces ayudarle para hacer frente a estos problemas. Su cuota es determinado como `vt_quota_rate` solicitudes de cualquier naturaleza en cualquier `vt_quota_time` minuto período de tiempo. - -#### "urlscanner" (Categoría) -Se incluye un escáner URL con phpMussel, capaz de detectar las maliciosas URL desde el interior de los datos o archivos escaneados. - -Notar: Si la URL escáner está desactivado, usted no tendrá que revisar cualquiera de las directivas en esta categoría (`urlscanner`), porque ninguno de ellos hará cualquier cosa si desactiva. - -URL escáner API configuración. - -##### "google_api_key" -- Permite API búsquedas al Google Safe Browsing API cuando la necesario API clave es define. El uso de Google Safe Browsing API requiere un API clave, que puede ser obtenido a partir de [Aquí](https://console.developers.google.com/). -- Notar: Se requiere la extensión cURL con el fin de utilizar esta función. - -##### "maximum_api_lookups" -- Máximo número permitido de API búsquedas para llevar a cabo por individuo escaneando iteración. Debido a que cada adicional API búsqueda se sumará al total tiempo requerido para completar cada escaneando iteración, es posible que usted desee estipular una limitación a fin de acelerar el proceso de escaneando. Cuando se define en 0, no tal máximo número permitido se aplicará. Se define como 10 por predefinido. - -##### "maximum_api_lookups_response" -- Qué hacer si el máximo número de API búsquedas permitido es superadas? False = Hacer nada (continuar procesando) [Predefinido]; True = Marcar/bloquear el archivo. - -##### "cache_time" -- Por cuánto tiempo (en segundos) debe los resultados de las API búsquedas ser almacenan en caché? Predefinido es 3600 segundos (1 horas). - -#### "legal" (Categoría) -Configuración relacionada con los requisitos legales. - -*Para obtener más información acerca de los requisitos legales y cómo esto podría afectar sus requisitos de configuración, consulte la sección "[INFORMACIÓN LEGAL](#SECTION11)" de la documentación.* - -##### "pseudonymise_ip_addresses" -- ¿Seudonimizar las direcciones IP cuando al escribir archivos de registro? True = Sí [Predefinido]; False = No. - -##### "privacy_policy" -- La dirección de una política de privacidad relevante que se mostrará en el pie de página de cualquier página generada. Especificar una URL, o dejar en blanco para desactivar. - -#### "template_data" (Categoría) -Directivas/Variables para las plantillas y temas. - -Plantilla datos es relacionados a la HTML utilizado generar el "Subida Denegada" mensaje que muestra a los usuarios cuando una archivo subido está bloqueado. Si utiliza temas personalizados para phpMussel, HTML se obtiene a partir del `template_custom.html` archivo, y para de otra manera, HTML se obtiene a partir del `template.html` archivo. Variables escritas a esta sección de la configuración archivo se procesado para el HTML a través de la sustitución de los nombres de variables circunfijo por llaves que se encuentran dentro del HTML con el variable datos correspondiente. Por ejemplo, dónde `foo="bar"`, cualquier instancias de `

{foo}

` que se encuentran dentro del HTML se convertirá `

bar

`. - -##### "theme" -- Tema predefinido a utilizar para phpMussel. - -##### "magnification" -- *v1: "Magnification"* -- Ampliación de fuente. Predefinido = 1. - -##### "css_url" -- El plantilla archivo para los temas personalizados utiliza externas CSS propiedades, mientras que el plantilla archivo para el predefinida tema utiliza internas CSS propiedades. Para instruir phpMussel de utilizar el plantilla archivo para temas personalizados, especificar el público HTTP dirección de sus temas personalizados CSS archivos utilizando la `css_url` variable. Si lo deja en blanco la variable, phpMussel utilizará el plantilla archivo para el predefinida tema. - -#### "PHPMailer" (Categoría) -Configuración de PHPMailer. - -Actualmente, phpMussel usa PHPMailer solo para la autenticación de dos factores de front-end. Si no usa el front-end, o si no usa la autenticación de dos factores para el front-end, puede ignorar estas directivas. - -##### "event_log" -- *v1: "EventLog"* -- Un archivo para registrar todos los eventos en relación con PHPMailer. Especificar el nombre del archivo, o dejar en blanco para desactivar. - -##### "skip_auth_process" -- *v1: "SkipAuthProcess"* -- Establecer esta directiva en `true` indica a PHPMailer que omita el proceso de autenticación normal que normalmente se produce cuando se envía un correo electrónico a través de SMTP. Esto debe evitarse, ya que omitir este proceso puede exponer el correo electrónico saliente a ataques MITM, pero puede ser necesario en los casos en que este proceso impida que PHPMailer se conecte a un servidor SMTP. - -##### "enable_two_factor" -- *v1: "Enable2FA"* -- Esta directiva determina si se debe usar 2FA para las cuentas del front-end. - -##### "host" -- *v1: "Host"* -- El host SMTP para usar para el correo electrónico saliente. - -##### "port" -- *v1: "Port"* -- El número de puerto a usar para el correo electrónico saliente. Predefinido = 587. - -##### "smtp_secure" -- *v1: "SMTPSecure"* -- El protocolo a usar cuando se envía un correo electrónico a través de SMTP (TLS o SSL). - -##### "smtp_auth" -- *v1: "SMTPAuth"* -- Esta directiva determina si autenticar sesiones SMTP (generalmente debería dejarse solo). - -##### "username" -- *v1: "Username"* -- El nombre de usuario a usar cuando se envía un correo electrónico a través de SMTP. - -##### "password" -- *v1: "Password"* -- La contraseña a usar cuando se envía un correo electrónico a través de SMTP. - -##### "set_from_address" -- *v1: "setFromAddress"* -- La dirección del remitente para citar cuando se envía un correo electrónico a través de SMTP. - -##### "set_from_name" -- *v1: "setFromName"* -- El nombre del remitente para citar cuando se envía un correo electrónico a través de SMTP. - -##### "add_reply_to_address" -- *v1: "addReplyToAddress"* -- La dirección de la respuesta para citar cuando se envía un correo electrónico a través de SMTP. - -##### "add_reply_to_name" -- *v1: "addReplyToName"* -- El nombre de la respuesta para citar cuando se envía un correo electrónico a través de SMTP. - -#### "supplementary_cache_options" (Categoría) -Opciones de caché complementarias. - -##### "prefix" -- El valor especificado aquí se antepondrá a las claves de todas las entradas de la caché. Vacía por predefinida. Cuando existen varias instalaciones en el mismo servidor, esto puede ser útil para mantener sus cachés separados entre sí. - -##### "enable_apcu" -- Especifica si se intenta utilizar APCu para el almacenamiento en caché. Predefinido = False. - -##### "enable_memcached" -- Especifica si se intenta utilizar Memcached para el almacenamiento en caché. Predefinido = False. - -##### "enable_redis" -- Especifica si se intenta utilizar Redis para el almacenamiento en caché. Predefinido = False. - -##### "enable_pdo" -- Especifica si se intenta utilizar PDO para el almacenamiento en caché. Predefinido = False. - -##### "memcached_host" -- Valor del host de Memcached. Predefinido = "localhost". - -##### "memcached_port" -- Valor del puerto de Memcached. Predefinido = "11211". - -##### "redis_host" -- Valor del host de Redis. Predefinido = "localhost". - -##### "redis_port" -- Valor del puerto de Redis. Predefinido = "6379". - -##### "redis_timeout" -- Valor de tiempo de espera de Redis. Predefinido = "2.5". - -##### "pdo_dsn" -- Valor del DSN de PDO. Predefinido = "`mysql:dbname=phpmussel;host=localhost;port=3306`". - -*Ver también: [¿Qué es un "PDO DSN"? Cómo puedo usar PDO con phpMussel?](#HOW_TO_USE_PDO)* - -##### "pdo_username" -- Nombre del usuario de PDO. - -##### "pdo_password" -- Contraseña de PDO. - ---- - - -### 8. FORMATOS DE FIRMAS - -*Ver también:* -- *[¿Qué es una "firma"?](#WHAT_IS_A_SIGNATURE)* - -Los primeros 9 bytes `[x0-x8]` de un archivo de firmas para phpMussel son `phpMussel`, y actuar como un "número mágico" (magic number), para identificarlos como archivos de firmas (esto ayuda a evitar que phpMussel accidentalmente intente utilizar archivos que no son archivos de firmas). El siguiente byte `[x9]` identifica el tipo de archivo de firma, que phpMussel debe conocer para poder interpretar correctamente el archivo de firmas. Se reconocen los siguientes tipos de archivos de firmas: - -Tipo | Byte | Descripción ----|---|--- -`General_Command_Detections` | `0?` | Para archivos de firmas que usan CSV (valores separados por coma). Los valores (firmas) son cadenas codificadas hexadecimal para buscar dentro de los archivos. Las firmas aquí no tienen nombres ni otros detalles (sólo la cadena que se va a detectar). -`Filename` | `1?` | Para firmas de nombre de archivo. -`Hash` | `2?` | Para firmas hash. -`Standard` | `3?` | Para archivos de firmas que trabajan directamente con el contenido del archivos. -`Standard_RegEx` | `4?` | Para archivos de firmas que trabajan directamente con el contenido del archivos. Las firmas pueden contener expresiones regulares. -`Normalised` | `5?` | Para archivos de firmas que funcionan con el contenido de archivos normalizados ANSI. -`Normalised_RegEx` | `6?` | Para archivos de firmas que funcionan con el contenido de archivos normalizados ANSI. Las firmas pueden contener expresiones regulares. -`HTML` | `7?` | Para archivos de firmas que funcionan con el contenido de archivos normalizados HTML. -`HTML_RegEx` | `8?` | Para archivos de firmas que funcionan con el contenido de archivos normalizados HTML. Las firmas pueden contener expresiones regulares. -`PE_Extended` | `9?` | Para archivos de firmas que trabajan con metadatos PE (distintos de los metadatos PE seccionales). -`PE_Sectional` | `A?` | Para archivos de firmas que trabajan con metadatos PE seccionales. -`Complex_Extended` | `B?` | Para archivos de firmas que trabajan con varias reglas basadas en metadatos extendidos generados por phpMussel. -`URL_Scanner` | `C?` | Para archivos de firmas que trabajan con URLs. - -El siguiente byte `[x10]` es una nueva línea `[0A]`, y concluye el encabezado del archivo de firmas de phpMussel. - -Cada línea después de que no está vacía es una firma o regla. Cada firma o regla ocupa una línea. Los formatos de firmas soportados se describen a continuación. - -#### *FIRMAS BASADAS EN LAS NOMBRES DEL ARCHIVOS* -Todas firmas basadas en las nombres del archivos seguir el formato: - -`NOMBRE:FNRX` - -Donde NOMBRE es el nombre a citar para esa firma y FNRX es la regular expresión para cotejar nombres de archivos (sin codificar) con. - -#### *HASH FIRMAS* -Todos HASH firmas seguir el formato: - -`HASH:TAMAÑO:NOMBRE` - -Donde HASH es el hash (usualmente MD5) de un entero archivo, TAMAÑO es el total tamaño de eso archivo y NOMBRE es el nombre a citar para esa firma. - -#### *PE SECCIÓNAL FIRMAS* -Todos PE Secciónal firmas seguir el formato: - -`TAMAÑO:HASH:NOMBRE` - -Donde HASH es el hash MD5 de una sección del PE archivo, TAMAÑO es el total tamaño de esa sección y NOMBRE es el nombre a citar para esa firma. - -#### *PE EXTENDIDAS FIRMAS* -Todos PE extendidas firmas seguir el formato: - -`$VAR:HASH:TAMAÑO:NOMBRE` - -Donde $VAR es el nombre de la PE variable para comprobar contra, HASH es el hash MD5 de esa variable, TAMAÑO es el total tamaño de esa variable y NOMBRE es el nombre de citar para esa firma. - -#### *COMPLEJOS EXTENDIDAS FIRMAS* -Complejos extendidas firmas son bastante diferentes a los otros tipos de firmas posibles con phpMussel, en que qué ellos son cotejando contra se especificado por las firmas ellos mismos y que ellos pueden cotejar contra múltiples criterios. La cotejar criterios están delimitados por ";" y la cotejar tipo y cotejar datos de cada cotejar criterio es delimitado por ":" como tal que formato para estas firmas tiene tendencia a aparecer como: - -`$variable1:SOMEDATA;$variable2:SOMEDATA;FirmaNombre` - -#### *TODO LO DEMÁS* -Todas las demás firmas seguir el formato: - -`NOMBRE:HEX:DESDE:PARA` - -Donde NOMBRE es el nombre a citar para esa firma y HEX es un hexadecimal codificado segmento del archivo propuesto para ser comprobado por la firma dado. DESDE y PARA son opcionales parámetros, indicando desde cual y para cual posiciones en los datos de origen a cotejar contra. - -#### *REGEX (REGULAR EXPRESSIONS)* -Cualquier forma de regex entendido y correctamente procesado por PHP también debe entenderse y procesado correctamente por phpMussel y sus firmas. Pero, yo sugeriría tomar mucho cuidado cuando escribiendo nuevas firmas basado en regex, porque, si no estás del todo seguro de lo que estás haciendo, puede haber altamente irregulares e/o inesperados resultados. Mirar el código fuente para phpMussel si no estás del todo seguro sobre el contexto de que las regex declaraciones son procesado. También, recordar que todos los patrones (con excepción para nombre de archivo, compactado archivo metadato y MD5 patrones) debe ser hexadecimal codificado (con excepción de la patrón sintaxis)! - ---- - - -### 9. CONOCIDOS PROBLEMAS DE COMPATIBILIDAD - -#### PHP y PCRE -- phpMussel requiere PHP y PCRE para ejecutar y funcionar correctamente. Sin PHP, o sin la PCRE extensión de PHP, phpMussel no ejecutará o funcionará correctamente. Debe asegurarse de que su sistema tiene tanto PHP y PCRE instalados y disponibles antes de descargar e instalar phpMussel. - -#### ANTI-VIRUS SOFTWARE COMPATIBILIDAD - -Se sabe que los problemas de compatibilidad entre phpMussel y algunos proveedores de antivirus ocurren a veces en el pasado, así que cada pocos meses (más o menos), verifico las últimas versiones disponibles de la base de código phpMussel contra Virus Total, para ver si hay algún problema allí. Cuando se informan problemas allí, enumero los problemas informados aquí, en la documentación. - -Cuando verifiqué más recientemente (2022.05.12), no se informaron problemas. - -No verifico los archivos de firma, la documentación u otro contenido periférico. Los archivos de firma siempre causan falsos positivos cuando otras soluciones antivirus los detectan. Por lo tanto, recomendaría encarecidamente que, si planea instalar phpMussel en una máquina donde ya existe otra solución antivirus, incluya en la lista blanca los archivos de firma de phpMussel. - ---- - - -### 10. PREGUNTAS MÁS FRECUENTES (FAQ) - -- [¿Qué es una "firma"?](#WHAT_IS_A_SIGNATURE) -- [¿Qué es un "falso positivo"?](#WHAT_IS_A_FALSE_POSITIVE) -- [¿Con qué frecuencia se actualizan las firmas?](#SIGNATURE_UPDATE_FREQUENCY) -- [¡He encontrado un problema mientras uso phpMussel y no sé qué hacer al respecto! ¡Por favor ayuda!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [Quiero usar phpMussel (antes de v2) con una versión de PHP más vieja que 5.4.0; ¿Puede usted ayudar?](#MINIMUM_PHP_VERSION) -- [Quiero usar phpMussel (v2) con una versión de PHP más vieja que 7.2.0; ¿Puede usted ayudar?](#MINIMUM_PHP_VERSION_V2) -- [¿Puedo usar una sola instalación de phpMussel para proteger múltiples dominios?](#PROTECT_MULTIPLE_DOMAINS) -- [No quiero molestarme con la instalación de este y conseguir que funcione con mi sitio web; ¿Puedo pagarte por hacer todo por mí?](#PAY_YOU_TO_DO_IT) -- [¿Puedo contratar a usted oa cualquiera de los desarrolladores de este proyecto para el trabajo privado?](#HIRE_FOR_PRIVATE_WORK) -- [Necesito modificaciones especiales, personalizaciones, etc; ¿Puede usted ayudar?](#SPECIALIST_MODIFICATIONS) -- [Soy desarrollador, diseñador de sitios web o programador. ¿Puedo aceptar u ofrecer trabajos relacionados con este proyecto?](#ACCEPT_OR_OFFER_WORK) -- [Quiero contribuir al proyecto; ¿Puedo hacer esto?](#WANT_TO_CONTRIBUTE) -- [¿Cómo acceder a detalles específicos sobre los archivos cuando se escanean?](#SCAN_DEBUGGING) -- [¿Puedo usar cron para actualizar automáticamente?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [¿Puede phpMussel escanear archivos con nombres que no sean ANSI?](#SCAN_NON_ANSI) -- [Listas negras – Listas blancas – Listas grises – ¿Qué son y cómo los uso?](#BLACK_WHITE_GREY) -- [Cuando activar o desactivar archivos de firmas a través de la página de actualizaciones, los ordena de forma alfanumérica en la configuración. ¿Puedo cambiar la forma en que se ordenan?](#CHANGE_COMPONENT_SORT_ORDER) -- [¿Qué es un "PDO DSN"? Cómo puedo usar PDO con phpMussel?](#HOW_TO_USE_PDO) -- [Mi recurso de subido es asíncrono (por ejemplo, usa ajax, ajaj, json, etc). No veo ningún mensaje especial o advertencia cuando se bloquea una subida. ¿Que esta pasando?](#AJAX_AJAJ_JSON) -- [¿Puede phpMussel detectar EICAR?](#DETECT_EICAR) - -#### ¿Qué es una "firma"? - -En el contexto de phpMussel, una "firma" se refiere a datos que actúan como un indicador/identificador para algo específico que estamos buscando, generalmente en la forma de algún segmento muy pequeño, distinto e inocuo de algo más grande y de otra manera nocivo, como un virus o un troyano, o en la forma de una suma de comprobación de archivo, hash u otro indicador de identificación similar, and usually includes a label, y generalmente incluye una etiqueta, y algunos otros datos para ayudar a proporcionar algún contexto adicional que puede ser utilizado por phpMussel para determinar la mejor manera de proceder cuando se encuentra con lo que estamos buscando. - -#### ¿Qué es un "falso positivo"? - -El término "falso positivo" (*alternativamente: "error falso positivo"; "falsa alarma"*; Inglés: *false positive*; *false positive error*; *false alarm*), descrito muy simplemente, y en un contexto generalizado, se utiliza cuando se prueba para una condición, para referirse a los resultados de esa prueba, cuando los resultados son positivos (es decir, la condición se determina como "positivo", o "verdadero"), pero se espera que sean (o debería haber sido) negativo (es decir, la condición, en realidad, es "negativo", o "falso"). Un "falso positivo" podría considerarse análoga a "llorando lobo" (donde la condición que se está probando es si hay un lobo cerca de la manada, la condición es "falso" en el que no hay lobo cerca de la manada, y la condición se reporta como "positiva" por el pastor a modo de llamando "lobo, lobo"), o análogos a situaciones en las pruebas médicas donde un paciente es diagnosticado con alguna enfermedad o dolencia, cuando en realidad, no tienen tal enfermedad o dolencia. - -Algunos términos relacionados para cuando se prueba para un condición son "verdadero positivo", "verdadero negativo" y "falso negativo". Un "verdadero positivo" se refiere a cuando los resultados de la prueba y el estado real de la condición son ambas verdaderas (o "positivas"), y un "verdadero negativo" se refiere a cuando los resultados de la prueba y el estado real de la condición son ambas falsas (o "negativas"); Un "verdadero positivo" o "negativo verdadero" se considera que es una "inferencia correcta". La antítesis de un "falso positivo" es un "falso negativo"; Un "falso negativo" se refiere a cuando los resultados de la prueba son negativos (es decir, la condición se determina como "negativo", o "falso"), pero se espera que sean (o debería haber sido) positivo (es decir, la condición, en realidad, es "positivo", o "verdadero"). - -En el contexto de phpMussel, estos términos se refieren a las firmas de phpMussel y los archivos que se bloquean. Cuando phpMussel se bloquean un archivo debido al mal, obsoleta o firmas incorrectas, pero no debería haber hecho, o cuando lo hace por las razones equivocadas, nos referimos a este evento como un "falso positivo". Cuando phpMussel no puede bloquear un archivo que debería haber sido bloqueado, debido a las amenazas imprevistas, firmas perdidas o déficit en sus firmas, nos referimos a este evento como una "detección perdida" o "missed detection" (que es análogo a un "falso negativo"). - -Esto se puede resumir en la siguiente tabla: - -  | phpMussel *NO* debe bloquear un archivo | phpMussel *DEBE* bloquear un archivo ----|---|--- -phpMussel *NO* hace bloquear un archivo | Verdadero negativo (inferencia correcta) | Detección perdida (análogo a un falso negativo) -phpMussel *HACE* bloquear un archivo | __Falso positivo__ | Verdadero positivo (inferencia correcta) - -#### ¿Con qué frecuencia se actualizan las firmas? - -La frecuencia de actualización varía dependiendo de los archivos de firma en cuestión. Todos los mantenedores de los archivos de firma para phpMussel generalmente tratan de mantener sus firmas tan actualizadas como sea posible, pero como todos nosotros tenemos varios otros compromisos, nuestras vidas fuera del proyecto, y como ninguno de nosotros es financieramente compensado (o pagado) por nuestros esfuerzos en el proyecto, no se puede garantizar un calendario de actualización preciso. Generalmente, las firmas se actualizan siempre que haya suficiente tiempo para actualizarlas. La ayuda siempre es apreciada si usted está dispuesto a ofrecer cualquiera. - -#### ¡He encontrado un problema mientras uso phpMussel y no sé qué hacer al respecto! ¡Por favor ayuda! - -- ¿Está utilizando la última versión del software? ¿Está utilizando las últimas versiones de sus archivos de firma? Si la respuesta a cualquiera de estas dos preguntas es no, intente actualizar todo primero, y compruebe si el problema persiste. Si persiste, continúe leyendo. -- ¿Ha revisado toda la documentación? Si no, por favor, hágalo. Si el problema no puede resolverse utilizando la documentación, continúe leyendo. -- ¿Ha revisado la **[página de issues](https://github.com/phpMussel/phpMussel/issues)**, para ver si el problema ha sido mencionado antes? Si se ha mencionado antes, compruebe si se han proporcionado sugerencias, ideas y/o soluciones, y siga según sea necesario para tratar de resolver el problema. -- Si el problema persiste, solicite ayuda al crear un nuevo issue en la página de issues. - -#### Quiero usar phpMussel (antes de v2) con una versión de PHP más vieja que 5.4.0; ¿Puede usted ayudar? - -No. PHP >= 5.4.0 es un requisito mínimo para phpMussel < v2. - -#### Quiero usar phpMussel (v2) con una versión de PHP más vieja que 7.2.0; ¿Puede usted ayudar? - -No. PHP >= 7.2.0 es un requisito mínimo para phpMussel v2. - -*Ver también: [Gráficos de Compatibilidad](https://maikuolan.github.io/Compatibility-Charts/).* - -#### ¿Puedo usar una sola instalación de phpMussel para proteger múltiples dominios? - -Sí. Las instalaciones de phpMussel no están ligados naturalmente en dominios específicos, y por lo tanto puede ser utilizado para proteger múltiples dominios. En general, nos referimos a las instalaciones de phpMussel que protegen solo un dominio como "instalaciones solo-dominio" ("single-domain installations"), y nos referimos a las instalaciones de phpMussel que protegen múltiples dominios y/o subdominios como "instalaciones multi-dominio" ("multi-domain installations"). Si utiliza una instalación multi-dominio y es necesario utilizar diferentes conjuntos de archivos de firmas para diferentes dominios, o si phpMussel debe configurarse de manera diferente para diferentes dominios, es posible hacer esto. Después de cargar el archivo de configuración (`config.ini`), phpMussel comprobará la existencia de un "archivo de sustitución para configuración" específico del dominio (o subdominio) que se solicita (`el-dominio-que-se-solicita.tld.config.ini`), y si se encuentra, cualquier valor de configuración definido por el archivo de sustitución para configuración se utilizará para la instancia de ejecución en lugar de los valores de configuración definidos por el archivo de configuración. Los archivos de sustitución para configuración son idénticos al archivo de configuración, ya su discreción, puede contener la totalidad de todas las directivas de configuración disponibles para phpMussel, o lo que sea subsección necesaria que difiera de los valores normalmente definidos por el archivo de configuración. Los archivos de sustitución para configuración se nombran de acuerdo con el dominio al que están destinados (así por ejemplo, si se requiere un archivo de sustitución para configuración para el dominio, `https://www.some-domain.tld/`, su archivo de sustitución para configuración debe ser nombrado como `some-domain.tld.config.ini`, y debe colocarse dentro de la vault junto con el archivo de configuración, `config.ini`). El nombre del dominio para la instancia de ejecución se deriva del encabezado `HTTP_HOST` de la solicitud; "www" se ignora. - -#### No quiero molestarme con la instalación de este y conseguir que funcione con mi sitio web; ¿Puedo pagarte por hacer todo por mí? - -Quizás. Esto se considera caso por caso. Háganos saber lo que necesita, lo que está ofreciendo y le diremos si podemos ayudar. - -#### ¿Puedo contratar a usted oa cualquiera de los desarrolladores de este proyecto para el trabajo privado? - -*Ver la respuesta anterior.* - -#### Necesito modificaciones especiales, personalizaciones, etc; ¿Puede usted ayudar? - -*Ver la respuesta anterior.* - -#### Soy desarrollador, diseñador de sitios web o programador. ¿Puedo aceptar u ofrecer trabajos relacionados con este proyecto? - -Sí. Nuestra licencia no lo prohíbe. - -#### Quiero contribuir al proyecto; ¿Puedo hacer esto? - -Sí. Las contribuciones al proyecto son muy bienvenidas. Consulte "CONTRIBUTING.md" para obtener más información. - -#### ¿Cómo acceder a detalles específicos sobre los archivos cuando se escanean? - -Puede acceder a detalles específicos sobre los archivos cuando se analizan por medio de asignando una matriz para utilizarla con este fin antes de instruir a phpMussel para que los escanee. - -En el ejemplo siguiente, `$Foo` está asignado para este propósito. Después de escanear `/ruta/de/archivo/...`, `$Foo` contendrá información detallada sobre los archivos contenidos en `/ruta/de/archivo/...`. - -```PHP -¿Puedo usar cron para actualizar automáticamente? - -Sí. Una API está integrada en el front-end para interactuar con la página de actualizaciones a través de scripts externos. Un script separado, "[Cronable](https://github.com/Maikuolan/Cronable)", está disponible, y puede ser utilizado por su cron manager o cron scheduler para actualizar este y otros paquetes soportados automáticamente (este script proporciona su propia documentación). - -#### ¿Puede phpMussel escanear archivos con nombres que no sean ANSI? - -Digamos que hay un directorio que quiere escanear. En este directorio, tiene algunos archivos con nombres que no son ANSI. -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -Supongamos que está utilizando el modo CLI o la API de phpMussel para escanear. - -Al usar PHP < 7.1.0, en algunos sistemas, phpMussel no verá estos archivos cuando intente escanear el directorio y, por lo tanto, no podrá escanear estos archivos. Es probable que vea los mismos resultados que si escaneara un directorio vacío: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Iniciado. - Sun, 01 Apr 2018 22:27:41 +0800 Terminado. -``` - -Además, al usar PHP < 7.1.0, el escaneo de los archivos individualmente produce resultados como estos: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Iniciado. - > Comprobando 'X:/directory/Пример.txt' (FN: b831eb8f): - -> ¡Archivo no válido! - Sun, 01 Apr 2018 22:27:41 +0800 Terminado. -``` - -O estos: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Iniciado. - > X:/directory/??????.txt no es un archivo o directorio. - Sun, 01 Apr 2018 22:27:41 +0800 Terminado. -``` - -Esto se debe a la forma en que PHP manejó los nombres de archivo no ANSI antes de PHP 7.1.0. Si experimenta este problema, la solución es actualizar su instalación de PHP a 7.1.0 o más reciente. En PHP >= 7.1.0, los nombres de archivo no ANSI se manejan mejor, y phpMussel debería poder escanear los archivos correctamente. - -A modo de comparación, los resultados al intentar escanear el directorio usando PHP >= 7.1.0: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Iniciado. - -> Comprobando '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> No problemas encontrado. - -> Comprobando '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> No problemas encontrado. - -> Comprobando '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> No problemas encontrado. - Sun, 01 Apr 2018 22:27:41 +0800 Terminado. -``` - -E intentando escanear los archivos individualmente: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Iniciado. - > Comprobando 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> No problemas encontrado. - Sun, 01 Apr 2018 22:27:41 +0800 Terminado. -``` - -#### Listas negras – Listas blancas – Listas grises – ¿Qué son y cómo los uso? - -Los términos transmiten diferentes significados en diferentes contextos. En phpMussel, hay tres contextos en los que se usan estos términos: Respuesta del tamaño de archivo, respuesta del tipo de archivo, y la lista gris de firmas. - -Para lograr un resultado deseado con un costo mínimo de procesamiento, hay algunas cosas simples que phpMussel puede verificar antes de escanear archivos, como el tamaño, el nombre y la extensión de un archivo. Por ejemplo; Si un archivo es demasiado grande o si su extensión indica un tipo de archivo que de todos modos no queremos permitir en nuestros sitios web, podemos marcar el archivo inmediatamente y no es necesario que lo analice. - -La respuesta del tamaño de archivo es la forma en que phpMussel responde cuando un archivo excede un límite especificado. Aunque no hay listas reales, un archivo se puede considerar efectivamente incluido en la lista negra, en la lista blanca o en la lista gris, según su tamaño. Existen dos directivas de configuración opcionales independientes para especificar un límite y la respuesta deseada, respectivamente. - -La respuesta del tipo de archivo es la forma en que phpMussel responde a la extensión del archivo. Existen tres directivas de configuración opcionales independientes para especificar explícitamente qué extensiones deben incluirse en la lista negra, en la lista blanca, o en la lista gris. Un archivo puede considerarse efectivamente incluido en la lista negra, en la lista blanca, o en la lista gris si su extensión coincide con cualquiera de las extensiones especificadas, respectivamente. - -En estos dos contextos, al ser incluido en la lista blanca significa que no debe escanearse ni marcarse; estar en la lista negra significa que debe estar marcado (y por lo tanto no es necesario escanearlo); y estar en la lista gris significa que se requiere un análisis adicional para determinar si debemos marcarlo (es decir, debe escanearse). - -La lista gris de firmas es una lista de firmas que esencialmente deben ignorarse (esto se menciona brevemente anteriormente en la documentación). Cuando se desencadena una firma en la lista gris de la firma, phpMussel continúa trabajando a través de sus firmas y no toma ninguna medida particular con respecto a la firma desencadenada. No hay una lista negra de firmas, porque el comportamiento implícito es un comportamiento normal para las firmas desencadenadas de todos modos, y no hay una lista blanca de firmas, porque el comportamiento implícito no tendría sentido considerando el funcionamiento normal de phpMussel y las capacidades que ya posee. - -La lista gris de firmas es útil si necesita resolver problemas causados por una firma particular sin deshabilitar o desinstalar todo el archivo de firmas. - -#### Cuando activar o desactivar archivos de firmas a través de la página de actualizaciones, los ordena de forma alfanumérica en la configuración. ¿Puedo cambiar la forma en que se ordenan? - -Sí. Si necesita forzar algunos archivos se ejecuten en un orden específico, puede agregar algunos datos arbitrarios antes de sus nombres en la directiva de configuración donde están listados, separados por dos puntos. Cuando la página de actualizaciones clasifique los archivos nuevamente, esta información adicional arbitraria afectará el orden de clasificación, haciendo que, en consecuencia, se ejecuten en el orden que desee, sin necesidad de cambiar el nombre de ninguno de ellos. - -Por ejemplo, suponiendo una directiva de configuración con los archivos enumerados de la siguiente manera: - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -Si quería ejecutar `file3.php` primero, puede agregar algo como `aaa:` antes del nombre del archivo: - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -Entonces, si se activa un archivo nuevo, `file6.php`, cuando la página de actualizaciones los clasifique nuevamente, debería terminar así: - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -La misma situación cuando un archivo está desactivado. Por el contrario, si quería que el archivo se ejecuta al final, podría agregar algo como `zzz:` antes del nombre del archivo. En cualquier caso, no necesitará cambiar el nombre del archivo en cuestión. - -#### ¿Qué es un "PDO DSN"? Cómo puedo usar PDO con phpMussel? - -"PDO" es un acrónimo de "[PHP Data Objects](https://www.php.net/manual/es/intro.pdo.php)" (objetos de datos PHP). Proporciona una interfaz para PHP para poder conectarse a algunos sistemas de bases de datos comúnmente utilizados por varias aplicaciones PHP. - -"DSN" es un acrónimo de "[data source name](https://es.wikipedia.org/wiki/Data_Source_Name)" (nombre de fuente de datos). El "PDO DSN" describe a PDO cómo debe conectarse a una base de datos. - -phpMussel ofrece la opción de utilizar PDO para fines de almacenamiento en caché. Para que esto funcione correctamente, deberá configurar phpMussel en consecuencia, habilitando PDO, crear una nueva base de datos para que phpMussel la use (si aún no tiene en mente una base de datos para que phpMussel la use) y crear una nueva tabla en su base de datos de acuerdo con la estructura que se describe a continuación. - -Cuando una conexión de base de datos se realiza correctamente, pero la tabla necesaria no existe, intentará crearla automáticamente. Pero, este comportamiento no se ha probado exhaustivamente y no se puede garantizar el éxito. - -Esto, por supuesto, solo se aplica si realmente desea que phpMussel use PDO. Si está lo suficientemente contento de que phpMussel use el almacenamiento en caché de archivos planos (según su configuración predeterminada), o cualquiera de las otras opciones de almacenamiento en caché proporcionadas, no tendrá que preocuparse de configurar bases de datos, tablas, etc. - -La estructura que se describe a continuación usa "phpmussel" como nombre de la base de datos, pero puede usar el nombre que desee para su base de datos, siempre que ese mismo nombre se replique en su configuración DSN. - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -La directiva de configuración `pdo_dsn` de phpMussel debe configurarse como se describe a continuación. - -``` -Dependiendo de qué controlador de base de datos se use... -├─4d (¡Advertencia: Experimental, no probado, no recomendado!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └El host con el que conectarse para encontrar la base de datos. -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └El nombre de la base de datos a -│ │ │ usar. -│ │ │ -│ │ └El número de puerto para conectarse al host. -│ │ -│ └El host con el que conectarse para encontrar la base de -│ datos. -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └El nombre de la base de datos a usar. -│ │ │ -│ │ └El host con el que conectarse para encontrar la base de datos. -│ │ -│ └Valores posibles: "mssql", "sybase", "dblib". -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├Puede ser una ruta a un archivo de base de datos local. -│ │ -│ ├Se puede conectar con un host y número de puerto. -│ │ -│ └Debe consultar la documentación de Firebird si desea usar -│ esto. -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └Con qué base de datos catalogada para conectarse. -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └Con qué base de datos catalogada para conectarse. -├─mysql (¡Lo más recomendado!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └El número de puerto para -│ │ │ conectarse al host. -│ │ │ -│ │ └El host con el que conectarse para encontrar la -│ │ base de datos. -│ │ -│ └El nombre de la base de datos a usar. -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├Puede hacer referencia a la base de datos catalogada -│ │específica. -│ │ -│ ├Se puede conectar con un host y número de puerto. -│ │ -│ └Debe consultar la documentación de Oracle si desea usar esto. -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├Puede hacer referencia a la base de datos catalogada específica. -│ │ -│ ├Se puede conectar con un host y número de puerto. -│ │ -│ └Debe consultar la documentación de ODBC/DB2 si desea usar esto. -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └El nombre de la base de datos a -│ │ │ usar. -│ │ │ -│ │ └El número de puerto para conectarse al host. -│ │ -│ └El host con el que conectarse para encontrar la base de datos. -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └La ruta al archivo de base de datos local a utilizar. -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └El nombre de la base de datos a usar. - │ │ - │ └El número de puerto para conectarse al host. - │ - └El host con el que conectarse para encontrar la base de datos. -``` - -Si no está seguro de qué usar para una parte particular de su DSN, intenta ver primero si funciona como está, sin cambiar nada. - -Tenga en cuenta que `pdo_username` y` pdo_password` deben coincidir con el nombre de usuario y la contraseña que eligió para su base de datos. - -#### Mi recurso de subido es asíncrono (por ejemplo, usa ajax, ajaj, json, etc). No veo ningún mensaje especial o advertencia cuando se bloquea una subida. ¿Que esta pasando? - -Esto es normal. La página estándar "Subida Denegada" de phpMussel se sirve como HTML, que debería ser suficiente para las solicitudes síncronas típicas, pero que probablemente no será suficiente si su instalación de subida espera algo más. Si su recurso de subido es asíncrono, o espera que un estado de subida se sirva asincrónicamente, hay algunas cosas que podría intentar hacer para que phpMussel satisfaga las necesidades de su recurso de subido. - -1. Crear una plantilla de salida personalizada para servir algo que no sea HTML. -2. Crear un complemento personalizado para omitir por completo la página estándar "Subida Denegada" y para que el controlador de subida haga algo más cuando se bloquea una subida (hay algunos puntos en el código proporcionado por el controlador de subida que podrían ser útiles para esto). -3. Deshabilita el controlador de subida por completo y en su lugar solo llama a la API phpMussel desde tu recurso de subido. - -#### ¿Puede phpMussel detectar EICAR? - -Sí. Se incluye una firma para detectar EICAR en el "archivo de firma de expresiones regulares estándar de phpMussel" (`phpmussel_regex.db`). Siempre que ese archivo de firma esté instalado y activado, phpMussel debería poder detectar EICAR. Dado que la base de datos de ClamAV también incluye numerosas firmas específicamente para detectar EICAR, ClamAV puede detectar fácilmente EICAR, pero dado que phpMussel utiliza solo un subconjunto reducido de las firmas totales proporcionadas por ClamAV, es posible que por sí mismas no sean suficientes para que phpMussel detecte EICAR. La capacidad de detectarlo también puede depender de su configuración exacta. - ---- - - -### 11. INFORMACIÓN LEGAL - -#### 11.0 PREÁMBULO DE SECCIÓN - -La intención de esta sección de la documentación es para describir posibles consideraciones legales con respecto al uso y la implementación del paquete, y para proporcionar cierta información básica relacionada. Esto puede ser importante para algunos usuarios como un medio para garantizar el cumplimiento de los requisitos legales que puedan existir en los países en los que operan, y algunos usuarios pueden necesitar ajustar las políticas de su sitio web de acuerdo con esta información. - -Primero y ante todo, tenga en cuenta que yo (el autor del paquete) no soy un abogado, ni un profesional legal calificado de ningún tipo. Por lo tanto, no estoy legalmente calificado para brindar asesoramiento legal. Además, en algunos casos, los requisitos legales exactos pueden variar entre diferentes países y jurisdicciones, y estos diferentes requisitos legales pueden a veces entrar en conflicto (como, por ejemplo, en el caso de países que favorecen los [derechos de privacidad](https://es.wikipedia.org/wiki/Derecho_a_la_intimidad) y el [derecho a ser olvidado](https://es.wikipedia.org/wiki/Derecho_al_olvido), frente a los países que favorecen la [retención de datos extendida](https://es.wikipedia.org/wiki/Retenci%C3%B3n_de_datos_de_telecomunicaci%C3%B3n)). Considere también que el acceso al paquete no está restringido a países o jurisdicciones específicos, y por lo tanto, es probable que la base de usuarios del paquete sea geográficamente diversa. Considerados estos puntos, no estoy en condiciones de decir lo que significa ser "legalmente compatible" para todos los usuarios, en todos los aspectos. Sin embargo, espero que la información en este documento lo ayude a tomar una decisión sobre lo que debe hacer para cumplir con la ley en el contexto del paquete. Si tiene alguna duda o inquietud con respecto a la información aquí incluida, o si necesita ayuda y asesoramiento adicional desde una perspectiva legal, le recomiendo consultar a un profesional legal calificado. - -#### 11.1 RESPONSABILIDAD - -Según lo establecido por la licencia del paquete, el paquete se proporciona sin ninguna garantía. Esto incluye (pero no se limita a) todo el alcance de la responsabilidad. El paquete se le proporciona para su conveniencia, con la esperanza de que sea útil y le proporcionará algún beneficio. Pero, si usa o implementa el paquete, es su propia decisión. No está obligado a usar o implementar el paquete, pero cuando lo hace, usted es responsable de esa decisión. Ni yo ni ningún otro contribuyente del paquete somos legalmente responsables de las consecuencias de las decisiones que usted tome, independientemente de si son directas, indirectas, implícitas o de otro tipo. - -#### 11.2 TERCEROS - -Dependiendo de su configuración e implementación exactas, el paquete puede comunicarse y compartir información con terceros en algunos casos. Esta información puede definirse como "[información personal](https://es.wikipedia.org/wiki/Informaci%C3%B3n_personal)" (PII) en algunos contextos, en algunas jurisdicciones. - -La forma en que esta información puede ser utilizada por estos terceros está sujeta a las diversas políticas establecidas por estos terceros y está fuera del alcance de esta documentación. Pero, en todos estos casos, se puede deshabilitar el intercambio de información con estos terceros. En todos estos casos, si elige habilitarlo, es su responsabilidad investigar cualquier inquietud que pueda tener con respecto a la privacidad, seguridad y uso de PII por parte de estos terceros. Si tiene alguna duda, o si no está satisfecho con la conducta de estos terceros en lo que respecta a PII, puede ser mejor desactivar el intercambio de información con estos terceros. - -A los efectos de la transparencia, el tipo de información compartida, y con quién, se describe a continuación. - -##### 11.2.0 WEBFONTS - -Algunos temas personalizados, así como la interfaz de usuario estándar para el front-end de phpMussel, y la página "Subida Denegada", pueden usar webfonts por razones estéticas. Los webfonts están deshabilitados de forma predeterminada, pero cuando están habilitados, se produce una comunicación directa entre el navegador del usuario y el servicio que aloja los webfonts. Esto puede implicar la comunicación de información tal como la dirección IP del usuario, el agente de usuario, el sistema operativo, y otros detalles disponibles para la solicitud. La mayoría de estas webfonts están alojadas en el servicio [Google Fonts](https://fonts.google.com/). - -*Directivas de configuración relevantes:* -- `general` -> `disable_webfonts` - -##### 11.2.1 ESCÁNER URL - -Las URL que se encuentran dentro de las subidas de archivos se pueden compartir con la API de Google Safe Browsing, según cómo esté configurado el paquete. La API de Google Safe Browsing requiere claves API para funcionar correctamente y, por lo tanto, está desactivada de manera predeterminada. - -*Directivas de configuración relevantes:* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -Cuando phpMussel escanea una subida de archivo, los valores hash de esos archivos se pueden compartir con la API de Virus Total, según cómo esté configurado el paquete. Hay planes para poder compartir archivos completos en algún momento en el futuro también, pero esta función no es soportado por el paquete en este momento. La API de Virus Total requiere una clave API para funcionar correctamente y, por lo tanto, está desactivada de forma predeterminada. - -La información (incluidos los archivos y los metadatos de archivos relacionados) compartida con Virus Total, también se puede compartir con sus socios, afiliados, y varios otros con fines de investigación. Esto se describe con más detalle en su política de privacidad. - -*Ver: [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*Directivas de configuración relevantes:* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 REGISTRO DE DATOS - -El registro de datos es una parte importante de phpMussel por varias razones. Sin registro, puede ser difícil diagnosticar falsos positivos, determinar exactamente qué tan eficiente es el phpMussel en un contexto particular, y determinar dónde pueden encontrarse sus deficiencias, y qué cambios pueden requerirse en su configuración o firmas en consecuencia, para que continúe funcionando según lo previsto. En todo caso, el registro de datos puede no ser deseable para todos los usuarios, y sigue siendo totalmente opcional. En phpMussel, el registro de datos está deshabilitado de forma predeterminada. Para habilitarlo, phpMussel debe configurarse en consecuencia. - -Además, si el registro de datos es legalmente permisible, y en la medida en que sea legalmente permisible (por ejemplo, los tipos de información que pueden registrarse, por cuánto tiempo, y en qué circunstancias), puede variar, dependiendo de la jurisdicción y del contexto donde se implemente el phpMussel (por ejemplo, ya sea que esté operando como individuo, como una entidad corporativa, y sea comercial o no comercial). Por lo tanto, puede serle útil leer atentamente esta sección. - -Existen varios tipos de registro que phpMussel puede realizar. Los diferentes tipos de registro implican diferentes tipos de información, por diferentes razones. - -##### 11.3.0 REGISTROS DE ESCANEA - -Cuando está habilitado en la configuración del paquete, phpMussel guarda los registros de los archivos que escanea. Este tipo de registro está disponible en dos formatos diferentes: -- Archivos de registro legibles por humanos. -- Archivos de registro serializados. - -Las entradas a un archivo de registro legible por humanos, normalmente se ve así (como un ejemplo): - -``` -Mon, 21 May 2018 00:47:58 +0800 Iniciado. -> Comprobando 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> Detectado phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 Terminado. -``` - -Una entrada del registros de escanea normalmente incluye la siguiente información: -- La fecha y hora en que se escaneó el archivo. -- El nombre del archivo escaneado. -- Hash CRC32b del nombre y contenido del archivo. -- Qué se detectó en el archivo (si se detectó algo). - -*Directivas de configuración relevantes:* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -Cuando estas directivas se dejan vacías, este tipo de registro permanecerá desactivado. - -##### 11.3.1 SCAN KILLS - -Cuando está habilitado en la configuración del paquete, phpMussel guarda los registros de las subidas que se han bloqueado. - -Las entradas en un archivo de registro de "scan kills" normalmente se ve así (como un ejemplo): - -``` -Fecha: Mon, 21 May 2018 00:47:56 +0800 -Dirección IP: 127.0.0.1 -== Resultados de escaneo (por qué marcado) == -Detectado phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)! -== Reconstrucción de firmas hash == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -En cuarentena como "/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu". -``` - -Una entrada de "scan kills" generalmente incluye la siguiente información: -- La fecha y hora en que se bloqueó la subida. -- La dirección IP desde donde se originó la subida. -- La razón por la cual el archivo fue bloqueado (lo que se detectó). -- El nombre del archivo bloqueado. -- Un MD5 y el tamaño del archivo bloqueado. -- Si el archivo fue puesto en cuarentena y bajo qué nombre interno. - -*Directivas de configuración relevantes:* -- `general` -> `scan_kills` - -##### 11.3.2 REGISTROS DE FRONT-END - -Este tipo de registro relaciona los intentos de inicio de sesión del front-end, y ocurre solo cuando un usuario intenta iniciar sesión en el front-end (suponiendo que el acceso al front-end esté habilitado). - -Una entrada de registro en el front-end contiene la dirección IP del usuario que intenta iniciar sesión, la fecha y la hora en que se produjo el intento, y los resultados del intento (inicio de sesión exitoso o fallido). Una entrada de registro del front-end generalmente se ve así (como un ejemplo): - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - Conectado. -``` - -*La directiva de configuración responsable del inicio de sesión es:* -- `general` -> `frontend_log` - -##### 11.3.3 ROTACIÓN DE REGISTROS - -Es posible que desee purgar los registros después de un período de tiempo, o posible la ley lo requiera (es decir, la cantidad de tiempo que está legalmente permitido para conservar los registros puede estar limitada por la ley). Puede lograr esto incluyendo marcadores de fecha/hora en los nombres de sus archivos de registro según lo especificado por la configuración de su paquete (por ejemplo, `{yyyy}-{mm}-{dd}.log`), y luego habilitar la rotación de registros (la rotación de registros le permite realizar alguna acción en los archivos de registro cuando se exceden los límites especificados). - -Por ejemplo: Si se me exigiera legalmente que borrara los registros después de 30 días, podría especificar `{dd}.log` en los nombres de mis archivos de registro (`{dd}` representa días), establecer el valor de `log_rotation_limit` en 30, y establecer el valor de `log_rotation_action` en `Delete`. - -Por el contrario, si está obligado a conservar registros por un período prolongado de tiempo, puede no utilizar la rotación de registros, o puede establecer el valor de `log_rotation_action` en `Archive`, para comprimir archivos de registro, lo que reduce la cantidad total de espacio en disco que ocupan. - -*Directivas de configuración relevantes:* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 TRUNCAMIENTO DE REGISTROS - -También es posible truncar archivos de registro individuales cuando exceden un cierto tamaño, si esto es algo que podría necesitar o querer hacer. - -*Directivas de configuración relevantes:* -- `general` -> `truncate` - -##### 11.3.5 SEUDONIMIZACIÓN DE DIRECCIONES IP - -Primeramente, si no está familiarizado con el término, "seudonimización" se refiere al procesamiento de datos personales como tal que ya no se puede identificar a ningún sujeto de datos específico sin información adicional, y siempre que dicha información adicional se mantenga por separado y esté sujeta a medidas técnicas y organizativas para garantizar que los datos personales no puedan identificarse a ninguna persona física. - -Los siguientes recursos pueden ayudar a explicarlo con más detalle: -- [[confilegal.com] La importancia del seudonimización en el nuevo Reglamento de Protección de Datos](https://confilegal.com/20170129-la-importancia-del-seudonimizacion-en-el-nuevo-reglamento-de-proteccion-de-datos/) -- [[forlopd.es] ¿Cómo me protege la seudonimización?](https://www.forlopd.es/web/blog/index.php/seudonimizacion-y-proteccion-de-datos/) -- [[Wikipedia] Seudonimización](https://es.wikipedia.org/wiki/Seudonimizaci%C3%B3n) - -En algunas circunstancias, se le puede ser legalmente requerido anonimizar o seudonimizar cualquier PII recopilada, procesada, o almacenada. Aunque este concepto ha existe desde hace bastante tiempo, GDPR/DSGVO menciona especialmente, y específicamente alienta "seudonimización". - -phpMussel es capaz de seudonimizar las direcciones IP cuando las registra, si es algo que podría necesitar o querer hacer. Cuando phpMussel seudonimizar de direcciones IP, cuando se registra, el octeto final de las direcciones IPv4, y todo lo que ocurre después de la segunda parte de las direcciones IPv6 está representado por una "x" (redondeando efectivamente las direcciones IPv4 a la dirección inicial de la 24 subred en la que tienen en cuenta, y las direcciones IPv6 a la dirección inicial de la 32 subred en la que tienen en cuenta). - -*Directivas de configuración relevantes:* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 ESTADÍSTICA - -phpMussel es opcionalmente capaz de rastrear estadísticas como el número total de archivos escaneados y bloqueados desde algún momento en particular. Esta característica está deshabilitada de manera predeterminada, pero se puede habilitar a través de la configuración del paquete. El tipo de información rastreada no debe considerarse como PII. - -*Directivas de configuración relevantes:* -- `general` -> `statistics` - -##### 11.3.7 ENCRIPTACIÓN - -phpMussel no encripta su caché ni ninguna información de registro. [Encriptación](https://es.wikipedia.org/wiki/Cifrado_(criptograf%C3%ADa)) del caché y del registro se puede introducir en el futuro, pero no hay planes actuales para esto. Si le preocupa que terceros no autorizados accedan a partes de phpMussel que puedan contener PII o información confidencial, como su caché o registros, recomendaría que phpMussel no se instale en una ubicación de acceso público (por ejemplo, instale phpMussel fuera del directorio `public_html` o equivalente disponible para la mayoría de los servidores web estándar) y que los permisos apropiadamente restrictivos se apliquen para el directorio donde reside (en particular, para el directorio vault). Si eso no es suficiente para abordar sus inquietudes, configure phpMussel de forma que los tipos de información que causen sus inquietudes no se recopilen o registrado en primer lugar (por ejemplo, a modo de deshabilitar el registro). - -#### 11.4 COOKIES - -Cuando un usuario ha iniciado una sesión en el front-end, phpMussel establece una [cookie](https://es.wikipedia.org/wiki/Cookie_(inform%C3%A1tica)) para poder recordar al usuario para solicitudes posteriores (es decir, las cookies se usan para autenticar al usuario en una sesión). En la página de inicio de sesión, una advertencia de cookie se muestra prominentemente, advirtiendo al usuario que una cookie se establecerán si participan en la acción relevante. Las cookies no se establecen en ningún otro punto en la base de código. - -*Directivas de configuración relevantes:* -- `general` -> `disable_frontend` - -#### 11.5 MARKETING Y PUBLICIDAD - -phpMussel no recopila ni procesa ninguna información con fines comerciales o publicitarios, y tampoco vende ni obtiene ganancias de ninguna información recopilada o registrada. phpMussel no es una empresa comercial, ni está relacionada con ningún interés comercial, por lo que hacer estas cosas no tendría ningún sentido. Este ha sido el caso desde el comienzo del proyecto, y sigue siendo el caso hoy en día. Además, hacer estas cosas sería contraproducente para el espíritu y el propósito del proyecto como un todo, y mientras continúe manteniendo el proyecto, nunca sucederá. - -#### 11.6 POLÍTICA DE PRIVACIDAD - -En algunas circunstancias, se le puede exigir legalmente que muestre claramente un enlace a su política de privacidad en todas las páginas y secciones de su sitio web. Esto puede ser importante como un medio para garantizar que los usuarios estén bien informados sobre sus prácticas de privacidad exactas, los tipos de información personal que recopila y cómo piensa utilizarla. Para poder incluir un enlace en la página "Subida Denegada" de phpMussel, se proporciona una directiva de configuración para especificar la URL de su política de privacidad. - -*Directivas de configuración relevantes:* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -El Reglamento General de Protección de Datos (GDPR) es un reglamento de la Unión Europea, que entra en vigor el 25 Mayo de 2018. El objetivo principal de la regulación es dar control a los ciudadanos y residentes de la UE con respecto a sus propios datos personales, y unificar la regulación dentro de la UE con respecto a la privacidad y los datos personales. - -El reglamento contiene disposiciones específicas relativas al procesamiento de [información de identificación personal](https://es.wikipedia.org/wiki/Informaci%C3%B3n_personal) de cualquier "sujeto de datos" (cualquier persona física identificada o identificable) de la UE o dentro de ella. Para cumplir con la regulación, las "empresas" (según lo definido por la regulación) y cualquier sistema y proceso relevante deben implementar "privacidad por diseño" como estándar, debe usar la configuración de privacidad más alta posible, debe implementar las salvaguardas necesarias para cualquier información almacenada o procesada (incluyendo, pero no limitado a, la implementación de seudonimización o anonimización completa de datos), debe declarar clara e inequívocamente los tipos de datos que recopilan, cómo lo procesan, por qué motivos, por cuánto tiempo lo retienen, y si comparten estos datos con terceros, los tipos de datos compartidos con terceros, cómo, por qué, y así sucesivamente. - -Los datos no pueden procesarse a menos que haya una base legal para hacerlo, según lo definido por la regulación. Generalmente, esto significa que para procesar los datos de un sujeto de datos de manera legal, debe hacerse de conformidad con las obligaciones legales, o solo después de que se haya obtenido el consentimiento explícito, bien informado e inequívoco del sujeto de los datos. - -Debido a que algunos aspectos de la regulación pueden evolucionar en el tiempo, para evitar la propagación de información desactualizada, puede ser mejor aprender sobre la regulación desde una fuente autorizada, en lugar de simplemente incluir la información relevante aquí en la documentación del paquete (que puede con el tiempo se volverá obsoleto a medida que la regulación evolucione). - -[EUR-Lex](https://eur-lex.europa.eu/) (una parte del sitio web oficial de la Unión Europea que proporciona información sobre la legislación de la UE) proporciona amplia información sobre GDPR/DSGVO, disponible en 24 idiomas diferentes (al momento de escribir esto), y disponible para su descarga en formato PDF. Definitivamente recomendaría leer la información que proporcionan, para aprender más sobre GDPR/DSGVO: -- [REGLAMENTO (UE) 2016/679 DEL PARLAMENTO EUROPEO Y DEL CONSEJO](https://eur-lex.europa.eu/legal-content/ES/TXT/?uri=celex:32016R0679) - -Alternativamente, hay una breve descripción (no autoritativa) de GDPR/DSGVO disponible en Wikipedia: -- [Reglamento General de Protección de Datos](https://es.wikipedia.org/wiki/Reglamento_General_de_Protecci%C3%B3n_de_Datos) - ---- - - -Última Actualización: 12 de Mayo de 2022 (2022.05.12). diff --git a/v2-and-earlier/readme.fr.md b/v2-and-earlier/readme.fr.md deleted file mode 100644 index 6728541..0000000 --- a/v2-and-earlier/readme.fr.md +++ /dev/null @@ -1,1725 +0,0 @@ -## Documentation pour phpMussel v2 (Français). - -### Contenu -- 1. [PRÉAMBULE](#SECTION1) -- 2. [COMMENT INSTALLER](#SECTION2) -- 3. [COMMENT UTILISER](#SECTION3) -- 4. [GESTION L'ACCÈS FRONTAL](#SECTION4) -- 5. [CLI (COMMANDE LIGNE INTERFACE)](#SECTION5) -- 6. [FICHIERS INCLUS DANS CETTE PAQUET](#SECTION6) -- 7. [OPTIONS DE CONFIGURATION](#SECTION7) -- 8. [FORMATS DE SIGNATURES](#SECTION8) -- 9. [PROBLÈMES DE COMPATIBILITÉ CONNUS](#SECTION9) -- 10. [QUESTIONS FRÉQUEMMENT POSÉES (FAQ)](#SECTION10) -- 11. [INFORMATION LÉGALE](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. PRÉAMBULE - -Merci d'utiliser phpMussel, un script PHP pour la détection de virus, logiciels malveillants et autres menaces dans les fichiers téléchargés sur votre système partout où le script est accroché, basé sur les signatures de ClamAV et autres. - -[PHPMUSSEL](https://phpmussel.github.io/) COPYRIGHT 2013 et au-delà GNU/GPLv2 par [Caleb M (Maikuolan)](https://github.com/Maikuolan). - -Ce script est un logiciel libre ; vous pouvez redistribuer et/ou le modifier selon les termes de la GNU General Public License telle que publiée par la Free Software Foundation ; soit la version 2 de la Licence, ou (à votre choix) toute version ultérieure. Ce script est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE, sans même l'implicite garantie de COMMERCIALISATION ou D'ADAPTATION À UN PARTICULIER USAGE. Voir la GNU General Public License pour plus de détails, situé dans le `LICENSE.txt` fichier et disponible également à partir de : -- . -- . - -Un spécial merci à ClamAV pour l'inspiration du le projet et pour les signatures que ce script utilise, sans qui, le script ne seraient probablement pas exister, ou, au mieux, auraient avoir un très limité valeur. - -Un spécial merci à SourceForge, Bitbucket et GitHub pour l'hébergement du projet fichiers, et à les sources supplémentaires d'un certain nombre de signatures utilisés par phpMussel : [PhishTank](https://www.phishtank.com/), [NLNetLabs](https://nlnetlabs.nl/), [Malware.Expert](https://malware.expert/) et autres, et merci à tous ceux qui soutiennent le projet, à quelqu'un d'autre que j'ai peut-être oublié de mentionner autrement, et à vous, pour l'utiliser du script. - -Ce document et son associé paquet peuvent être téléchargé gratuitement à sans frais à partir de : -- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -### 2. COMMENT INSTALLER - -#### 2.0 INSTALLATION MANUELLE (POUR SERVEURS WEB) - -1) Parce que vous lisez ceci, je suppose que vous avez déjà téléchargé une archivée copie du script, décompressé son contenu et l'ont assis sur votre locale machine. Maintenant, vous devez déterminer l'approprié emplacement sur votre hôte ou CMS à mettre ces contenus. Un répertoire comme `/public_html/phpmussel/` ou similaire (cependant, il n'est pas question que vous choisissez, à condition que c'est quelque part de sûr et quelque part que vous êtes heureux avec) sera suffira. *Vous avant commencer téléchargement au serveur, continuer lecture..* - -2) Renommer `config.ini.RenameMe` à `config.ini` (situé à l'intérieur de `vault`), et facultativement (fortement recommandé pour les utilisateurs avancés, mais pas recommandé pour les débutants ou pour les novices), l'ouvrir (ce fichier contient toutes les directives disponible pour phpMussel ; au-dessus de chaque option devrait être un bref commentaire décrivant ce qu'il fait et ce qu'il est pour). Réglez ces options comme bon vous semble, selon ce qui est approprié pour votre particulière configuration. Enregistrer le fichier, et fermer. - -3) Télécharger les contenus (phpMussel et ses fichiers) à le répertoire vous aviez décidé plus tôt (vous n'avez pas besoin les `*.txt`/`*.md` fichiers, mais surtout, vous devriez télécharger tous les fichiers sur le serveur). - -4) CHMOD la `vault` répertoire à « 755 » (s'il y a des problèmes, vous pouvez essayer « 777 », mais c'est moins sûr). Le principal répertoire qui est stocker le contenu (celui que vous avez choisi plus tôt), généralement, peut être laissé seul, mais CHMOD état devrait être vérifié si vous avez eu problèmes d'autorisations dans le passé sur votre système (par défaut, devrait être quelque chose comme « 755 »). En bref : Pour que le paquet fonctionne correctement, PHP doit pouvoir lire et écrire des fichiers dans le répertoire `vault`. Beaucoup de choses (mise à jour, journalisation, etc) ne seront pas possibles si PHP ne peut pas écrire dans le répertoire `vault`, et le paquet ne fonctionnera pas du tout si PHP ne peut pas lire le répertoire `vault`. Cependant, pour une sécurité optimale, le répertoire `vault` ne doit PAS être accessible au public (des informations sensibles, telles que les informations contenues dans `config.ini` ou `frontend.dat`, pourraient être exposées à des attaquants potentiels si le répertoire `vault` était accessible au public). - -5) Installez toutes les signatures dont vous aurez besoin. *Voir : [INSTALLATION DES SIGNATURES](#INSTALLING_SIGNATURES).* - -6) Suivant, vous aurez besoin de l'attacher phpMussel à votre système ou CMS. Il est plusieurs façons vous pouvez attacher phpMussel à votre système ou CMS, mais le plus simple est à simplement inclure le script au début d'un fichier de la base de données de votre système ou CMS (un qui va généralement toujours être chargé lorsque quelqu'un accède à n'importe quelle page sur votre site web) utilisant un `require` ou `include` déclaration. Généralement, ce sera quelque chose de stocké dans un répertoire comme `/includes`, `/assets` ou `/functions`, et il sera souvent nommé quelque chose comme `init.php`, `common_functions.php`, `functions.php` ou similaire. Vous sera besoin à déterminer qui est le fichier c'est pour votre situation ; Si vous rencontrez des difficultés pour la détermination de ce par vous-même, à l'aide, visitez la page des issues pour phpMussel à GitHub ou les forums de support pour phpMussel ; Il est possible que ce soit moi ou un autre utilisateur peuvent avoir de l'expérience avec le CMS que vous utilisez (vous aurez besoin pour nous faire savoir ce qui CMS vous utilisez), et ainsi, peut être en mesure de fournir une assistance pour cette question. Pour ce faire [à utiliser `require` ou `include`], insérez la ligne de code suivante au début de ce le noyau fichier et remplacer la string contenue à l'intérieur des guillemets avec l'exacte adresse le fichier `loader.php` (l'adresse locale, pas l'adresse HTTP ; il ressemblera l'adresse de `vault` mentionné précédemment). - -`` - -Enregistrer le fichier, fermer, rétélécharger. - --- OU ALTERNATIVEMENT -- - -Si vous utilisez un Apache serveur web et si vous avez accès à `php.ini`, vous pouvez utiliser la `auto_prepend_file` directive à préfixer phpMussel chaque fois qu'une requête de PHP est faite. Quelque chose comme : - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -Ou cette dans le `.htaccess` fichier : - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) À ce stade, vous avez fini ! Cependant, vous devriez probablement tester ce pour s'assurer qu'il fonctionne correctement. Pour tester les protections, essayez de télécharger les tester fichiers inclus dans le paquet sous `.tests/samples` à votre site web par votre habituelles navigateur basé méthodes de téléchargement. (Assurez-vous que vous avez inclus les fichiers de signature `phpmussel*.*db` dans la directive de configuration `active` pour les fichiers de test à bloquer). Si tout fonctionne correctement, un message devrait apparaître à partir de phpMussel confirmant que le téléchargement a été bloqué avec succès. Si rien ne s'affiche, quelque chose ne fonctionne pas correctement. Si vous utilisez d'avancées fonctions ou si vous utilisez l'autres types d'analyse possibles avec l'outil, je vous suggère de l'essayer avec ceux pour s'assurer qu'il fonctionne comme prévu, aussi. - -#### 2.1 INSTALLATION MANUELLE (POUR CLI) - -1) Parce que vous lisez ceci, je suppose que vous avez déjà téléchargé une archivée copie du script, décompressé son contenu et l'ont assis sur votre locale machine. Lorsque vous avez déterminé que vous êtes satisfait sur l'emplacement choisi pour phpMussel, continuer. - -2) phpMussel exige PHP d'être installé sur l'ordinateur hôte afin d'exécuter. Si vous n'avez pas de PHP installé sur votre machine, s'il vous plaît, installer PHP sur votre machine, suivant les instructions fournies par le programme d'installation de PHP. - -3) Facultativement (fortement recommandé pour les utilisateurs avancés, mais pas recommandé pour les débutants ou pour les novices), ouvrir `config.ini` (situé à l'intérieur de `vault`) – Ce fichier contient toutes les directives disponible pour phpMussel. Au-dessus de chaque option devrait être un bref commentaire décrivant ce qu'il fait et ce qu'il est pour. Réglez ces options comme bon vous semble, selon ce qui est approprié pour votre particulière configuration. Enregistrer le fichier, fermer. - -4) Facultativement, vous pouvez faire utilisant phpMussel en le mode CLI plus facile pour vous-même par la création d'un fichier de commandes pour automatique charger PHP et phpMussel. Pour ce faire, ouvrir un éditeur de texte comme Notepad ou Notepad++, taper le complet chemin vers le `php.exe` fichier dans le répertoire de votre installation de PHP, suivi d'un espace, suivi par le complet chemin vers le `loader.php` fichier dans le répertoire de votre installation de phpMussel, enregistrer le fichier avec un `.bat` suffixe quelque part que vous trouverez facile, et double-cliquer sur ce fichier pour exécuter phpMussel à l'avenir. - -5) Installez toutes les signatures dont vous aurez besoin. *Voir : [INSTALLATION DES SIGNATURES](#INSTALLING_SIGNATURES).* - -6) À ce stade, vous avez fini ! Mais, vous devriez probablement tester ce pour s'assurer qu'il fonctionne correctement. Pour tester phpMussel, exécuter phpMussel et essayer d'analyser le `.tests/samples` répertoire fourni avec le paquet. - -#### 2.2 INSTALLATION AVEC COMPOSER - -[phpMussel est enregistré avec Packagist](https://packagist.org/packages/phpmussel/phpmussel), et donc, si vous êtes familier avec Composer, vous pouvez utiliser Composer pour installer phpMussel (vous devrez néanmoins préparer la configuration, les permissions, les signatures et les attaches ; voir « installation manuelle (pour serveurs web) » les étapes 2, 4, 5, et 6). - -`composer require phpmussel/phpmussel` - -#### 2.3 INSTALLATION DES SIGNATURES - -Depuis v1.0.0, les signatures ne sont pas incluses dans le phpMussel. Les signatures sont requises par phpMussel pour détecter des menaces spécifiques. Il existe 3 méthodes principales pour installer des signatures : - -1. Installez automatiquement à l'aide de la page des mises à jour de l'accès frontal. -2. Générer des signatures à l'aide de « SigTool » et installez-les manuellement. -3. Téléchargez les signatures de « phpMussel/Signatures » et installez-les manuellement. - -##### 2.3.1 Installez automatiquement à l'aide de la page des mises à jour de l'accès frontal. - -Premièrement, vous devrez vous assurer que l'accès frontal est activé. *Voir : [GESTION L'ACCÈS FRONTAL](#SECTION4).* - -Ensuite, tout ce que vous aurez à faire est d'aller à la page des mises à jour, trouver les fichiers de signature nécessaires et utiliser les options fournies sur la page, installez-les et activez-les. - -##### 2.3.2 Générer des signatures à l'aide de « SigTool » et installez-les manuellement. - -*Voir : [Documentation SigTool](https://github.com/phpMussel/SigTool#documentation).* - -*Notez également : SigTool traite uniquement les signatures de ClamAV. Afin d'obtenir des signatures d'autres sources, telles que celles écrites spécifiquement pour phpMussel, qui incluent les signatures nécessaires pour détecter les échantillons de test de phpMussel, cette méthode devra être complétée par l'une des autres méthodes mentionnées ici.* - -##### 2.3.3 Téléchargez les signatures de « phpMussel/Signatures » et installez-les manuellement. - -Premièrement, va à [phpMussel/Signatures](https://github.com/phpMussel/Signatures). Le référentiel contient différents fichiers de signature compressés GZ. Téléchargez les fichiers dont vous avez besoin, décompressez-les et copiez les fichiers décompressés dans le répertoire `/vault/signatures` pour les installer. Listez les noms des fichiers copiés dans la directive `active` dans votre configuration phpMussel pour les activer. - ---- - - -### 3. COMMENT UTILISER - -#### 3.0 COMMENT UTILISER (POUR SERVEURS WEB) - -phpMussel devrait être capable de fonctionner correctement avec des exigences minimales de votre part : Après l'avoir installé, il devrait fonctionner immédiatement et être immédiatement utilisable. - -L'analyses des téléchargements des fichiers est automatisée et activée par défaut, donc rien est nécessaire à partir de vous pour cette fonction particulière. - -Cependant, vous êtes également capable d'instruire phpMussel à analyser spécifiques fichiers, répertoires et/ou archives. Pour ce faire, premièrement, vous devez assurer que la configuration appropriée est imposé dans le `config.ini` fichier (`cleanup` doit être désactivé), et lorsque vous avez terminé, dans un fichier PHP qui est attaché à phpMussel, utilisez la fonction suivante dans votre code : - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan` peut être une chaîne, un tableau, ou un tableau de tableaux, et indique quel fichier, fichiers, répertoire et/ou répertoires à analyser. -- `$output_type` est un booléen, indiquant le format dont les résultats d'analyse doivent être retournées sous. `false` instruit la fonction à retourner des résultats comme un entier. `true` instruit la fonction à retourner des résultats sous forme de texte lisible par humain. De plus, dans tout le cas, les résultats peuvent être accessibles via les variables globales après l'analyse est terminée. Cette variable est optionnel, imposé par défaut comme `false`. Ce qui suit décrit les résultats entiers : - -| Résultats | Description | -|---|---| -| -4 | Indique que les données n'ont pas pu être analysées à cause du cryptage. | -| -3 | Indique que des problèmes ont été rencontrés avec les fichiers de signature phpMussel. | -| -2 | Indique que données corrompues était détecté lors de l'analyse et donc l'analyse n'ont pas réussi à compléter. | -| -1 | Indique que les extensions ou addons requis par PHP pour exécuter l'analyse sont manquaient et donc l'analyse n'ont pas réussi à compléter. | -| 0 | Indique qu'il n'existe pas cible à analyser et donc il n'y avait rien à analyser. | -| 1 | Indique que la cible était analysé avec succès et aucun problème n'été détectée. | -| 2 | Indique que la cible était analysé avec succès et problèmes ont été détectés. | - -- `$output_flatness` est un booléen, indiquant à la fonction soit à retourner les résultats de l'analyse (quand il ya plusieurs cibles d'analyse) comme un tableau ou une chaîne. `false` sera retour les résultats comme un tableau. `true` sera retour les résultats comme une chaîne. Cette variable est optionnel, imposé par défaut comme `false`. - -Exemples : - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -Retours quelque chose comme ça (comme une string) : - -``` - Wed, 16 Sep 2013 02:49:46 +0000 Commencé. - > Vérification '/user_name/public_html/my_file.html': - -> Pas problème trouvé. - Wed, 16 Sep 2013 02:49:47 +0000 Terminé. -``` - -Pour un complet itinéraire de signatures que sera utilisé par phpMussel pour l'analyse et la façon dont il gère ces signatures, référer à la [SIGNATURE FORMAT](#SECTION8) section de ce fichier README. - -Si vous rencontrez des faux positifs, si vous rencontrez quelque chose nouveau que vous pensez doit être bloqué, ou pour toute autre chose en ce qui concerne les signatures, s'il vous plaît, contactez moi à ce sujet afin que je puisse effectuer les nécessaires changements, dont, si vous ne contactez moi pas, j'ai peut n'être pas conscient. *(Voir : [Qu'est-ce qu'un « faux positif » ?](#WHAT_IS_A_FALSE_POSITIVE)).* - -Pour désactiver les signatures qui sont incluent avec phpMussel (comme si vous rencontrez un faux positif spécifique à vos besoins dont ne devrait normalement pas être retiré à partir de rationaliser), ajouter les noms des signatures spécifiques à désactiver dans la liste grise des signatures (`/vault/greylist.csv`), séparé par des virgules. - -*Voir également : [Comment accéder à des détails spécifiques sur les fichiers lorsqu'ils sont analysés ?](#SCAN_DEBUGGING)* - -#### 3.1 COMMENT UTILISER (POUR CLI) - -S'il vous plaît, référer à la section « INSTALLATION MANUELLE (POUR CLI) » de ce fichier README. - -Aussi soyez conscient que phpMussel est un scanner *à la demande* (ou *on-demand*) ; Il n'est *PAS* un scanner *à l'accès* (ou *on-access* ; autres que pour le téléchargement de fichiers, au moment du téléchargement), et contrairement anti-virus suites conventionnelles, ne surveille pas la mémoire active ! Il seulement détecte les virus contenue par le téléchargement de fichiers, et dans les fichiers que vous explicitement spécifier pour d'analyse. - ---- - - -### 4. GESTION L'ACCÈS FRONTAL - -#### 4.0 CE QUI EST L'ACCÈS FRONTAL. - -L'accès frontal fournit un moyen pratique et facile de gérer, de maintenir et de mettre à jour votre installation de phpMussel. Vous pouvez afficher, partager et télécharger des fichiers journaux via la page des journaux, vous pouvez modifier la configuration via la page de configuration, vous pouvez installer et désinstaller des composants via la page des mises à jour, et vous pouvez télécharger et modifier des fichiers dans votre vault via le gestionnaire de fichiers. - -L'accès frontal est désactivée par défaut afin d'empêcher tout accès non autorisé (l'accès non autorisé pourrait avoir des conséquences importantes pour votre site web et sa sécurité). Les instructions pour l'activer sont incluses ci-dessous. - -#### 4.1 COMMENT ACTIVER L'ACCÈS FRONTAL. - -1) Localiser la directive `disable_frontend` à l'intérieur de `config.ini`, et réglez-le sur `false` (il sera `true` par défaut). - -2) Accéder `loader.php` à partir de votre navigateur (par exemple, `http://localhost/phpmussel/loader.php`). - -3) Connectez-vous avec le nom d'utilisateur et le mot de passe défaut (admin/password). - -Remarque : Après vous être connecté pour la première fois, afin d'empêcher l'accès frontal non autorisé, vous devez immédiatement changer votre nom d'utilisateur et votre mot de passe ! C'est très important, car il est possible de télécharger du code PHP arbitraire à votre site Web via l'accès frontal. - -Aussi, pour une sécurité optimale, il est fortement recommandé d'activer « l'authentification à deux facteurs » pour tous les comptes frontaux (instructions fournies ci-dessous). - -#### 4.2 COMMENT UTILISER L'ACCÈS FRONTAL. - -Des instructions sont fournies sur chaque page de l'accès frontal, pour expliquer la manière correcte de l'utiliser et son but. Si vous avez besoin d'autres explications ou d'une assistance spéciale, veuillez contacter le support technique. Alternativement, il ya quelques vidéos disponibles sur YouTube qui pourraient aider par voie de démonstration. - -#### 4.3 AUTHENTIFICATION À DEUX FACTEURS - -Il est possible de sécuriser l'accès frontal en activant l'authentification à deux facteurs (« 2FA »). Lors de la connexion à l'aide d'un compte sur lequel 2FA est activé, un e-mail est envoyé à l'adresse électronique associée à ce compte. Cet e-mail contient un « code 2FA », que l'utilisateur doit alors entrer, en plus du nom d'utilisateur et du mot de passe, afin de pouvoir authentifier ce compte. Cela signifie que l'obtention d'un mot de passe d'un compte ne serait pas suffisant pour qu'un attaquant potentiel puisse authentifier ce compte, comme ils auraient également besoin d'avoir déjà accès à l'adresse électronique associée à ce compte afin de pouvoir recevoir et utiliser le code 2FA associé à la session, rendant ainsi l'accès frontal plus sécurisé. - -Avant toute chose, pour activer l'authentification à deux facteurs, à l'aide de la page des mises à jour frontales, installez le composant PHPMailer. phpMussel utilise PHPMailer pour envoyer des emails. Il convient de noter que bien que phpMussel, en soi, est compatible avec PHP >= 5.4.0, PHPMailer a besoin de PHP >= 5.5.0, ce qui signifie que l'activation de l'authentification à deux facteurs pour l'accès frontal sur phpMussel ne sera pas possible pour les utilisateurs de PHP 5.4. - -Après avoir installé PHPMailer, vous devez renseigner les directives de configuration de PHPMailer via la page de configuration ou le fichier de configuration de phpMussel. Plus d'informations sur ces directives de configuration sont incluses dans la section de configuration de ce document. Après avoir rempli les directives de configuration de PHPMailer, mettre `enable_two_factor` à `true`. L'authentification à deux facteurs devrait maintenant être activée. - -Ensuite, vous devrez associer une adresse e-mail à un compte afin que phpMussel sache où envoyer les codes 2FA lors de la connexion via ce compte. Pour ce faire, utilisez l'adresse e-mail comme nom d'utilisateur pour le compte (comme `foo@bar.tld`), ou inclure l'adresse e-mail dans le nom d'utilisateur de la même manière que lorsqu'un e-mail est envoyé normalement (comme `Foo Bar `). - -Remarque : Protéger votre vault contre les accès non autorisés (par exemple, en renforçant la sécurité de votre serveur et les autorisations d'accès public), est particulièrement important ici, en raison de cet accès non autorisé à votre fichier de configuration (qui est stocké dans votre vault), risque d'exposer vos paramètres SMTP sortants (qui comprend le nom d'utilisateur et le mot de passe pour votre SMTP). Vous devez vous assurer que votre vault est correctement sécurisé avant de activer l'authentification à deux facteurs. Si vous ne pouvez pas le faire, vous devez au moins créer un nouveau compte e-mail, dédié à cet effet, afin de réduire les risques associés aux paramètres SMTP exposés. - ---- - - -### 5. CLI (COMMANDE LIGNE INTERFACE) - -phpMussel peut être exécuté comme un analyseur de fichiers interactif en mode CLI dans windows. Référer à la section « COMMENT INSTALLER (POUR CLI) » de ce fichier README pour plus détails. - -Pour une liste des disponibles CLI commandes, à l'invite CLI, tapez « c », et appuyez sur Entrée. - -En outre, pour les personnes intéressées, un didacticiel vidéo pour savoir comment utiliser phpMussel en le mode CLI est disponible ici : -- - ---- - - -### 6. FICHIERS INCLUS DANS CETTE PAQUET - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. OPTIONS DE CONFIGURATION - -Ce qui suit est une liste des directives disponibles pour phpMussel dans le `config.ini` fichier de configuration, avec une description de leur objectif et leur fonction. - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### « general » (Catégorie) -Configuration générale pour phpMussel. - -##### « cleanup » -- Déensemble variables du script et cache après l'exécution ? False = Non ; True = Oui [Défaut]. Si vous n'utilisez pas le script pour autre chose que l'analyse des téléchargements, vous devez définir ceci sur `true` pour réduire l'utilisation de la mémoire. Sinon, vous devez le définir sur `false`, afin de conserver en mémoire les données nécessaires à l'exécution de phpMussel sans le recharger inutilement. -- N'a pas d'influence en le mode CLI. - -##### « scan_log » -- Nom du fichier à enregistrer tous les résultats de l'analyse. Spécifiez un nom de fichier, ou laisser vide à désactiver. - -##### « scan_log_serialized » -- Nom du fichier à enregistrer tous les résultats de l'analyse (le format est sérialisé). Spécifiez un nom de fichier, ou laisser vide à désactiver. - -##### « scan_kills » -- Nom du fichier à enregistrer tous les résultats de bloqué ou tué téléchargements. Spécifiez un nom de fichier, ou laisser vide à désactiver. - -*Conseil utile : Si vous souhaitez, vous pouvez ajouter l'information pour la date/l'heure à les noms de vos fichiers pour enregistrement par des incluant ceux-ci au nom : `{yyyy}` pour l'année complète, `{yy}` pour l'année abrégée, `{mm}` pour mois, `{dd}` pour le jour, `{hh}` pour l'heure.* - -*Exemples :* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### « error_log » -- Un fichier pour l'enregistrement des erreurs non fatales détectées. Spécifier un fichier, ou laisser vide à désactiver. - -##### « truncate » -- Tronquer les fichiers journaux lorsqu'ils atteignent une certaine taille ? La valeur est la taille maximale en o/Ko/Mo/Go/To qu'un fichier journal peut croître avant d'être tronqué. La valeur par défaut de 0Ko désactive la troncature (les fichiers journaux peuvent croître indéfiniment). Remarque : S'applique aux fichiers journaux individuels ! La taille des fichiers journaux n'est pas considérée collectivement. - -##### « log_rotation_limit » -- La rotation du journal limite le nombre de fichiers journaux qui doivent exister à un moment donné. Lorsque de nouveaux fichiers journaux sont créés, si le nombre total de fichiers journaux dépasse la limite spécifiée, l'action spécifiée sera effectuée. Vous pouvez spécifier la limite souhaitée ici. Une valeur de 0 désactivera la rotation du journal. - -##### « log_rotation_action » -- La rotation du journal limite le nombre de fichiers journaux qui doivent exister à un moment donné. Lorsque de nouveaux fichiers journaux sont créés, si le nombre total de fichiers journaux dépasse la limite spécifiée, l'action spécifiée sera effectuée. Vous pouvez spécifier l'action souhaitée ici. Delete = Supprimez les fichiers journaux les plus anciens, jusqu'à ce que la limite ne soit plus dépassée. Archive = Tout d'abord archiver, puis supprimez les fichiers journaux les plus anciens, jusqu'à ce que la limite ne soit plus dépassée. - -*Clarification technique : Dans ce contexte, « plus ancien » signifie moins récemment modifié.* - -##### « timezone » -- Ceci est utilisé pour spécifier le fuseau horaire que phpMussel doit utiliser pour les opérations de date/heure. Si vous n'en avez pas besoin, l'ignorer. Les valeurs possibles sont déterminées par PHP. Il est généralement recommandé à la place pour ajuster la directive de fuseau horaire dans votre fichier `php.ini`, mais parfois (tels que lorsque l'on travaille avec des fournisseurs d'hébergement partagé limitées) ce n'est pas toujours possible de faire, et donc, cette option est disponible ici. - -##### « time_offset » -- *v1 : « timeOffset »* -- Si votre temps serveur ne correspond pas à votre temps locale, vous pouvez spécifier un offset ici pour régler l'information en date/temps généré par phpMussel selon vos besoins. Il est généralement recommandé à la place pour ajuster la directive de fuseau horaire dans votre fichier `php.ini`, mais parfois (tels que lorsque l'on travaille avec des fournisseurs d'hébergement partagé limitées) ce n'est pas toujours possible de faire, et donc, cette option est disponible ici. Offset est en minutes. -- Exemple (à ajouter une heure) : `time_offset=60` - -##### « time_format » -- *v1 : « timeFormat »* -- Le format de notation de la date/heure utilisé par phpMussel. Défaut = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`. - -##### « ipaddr » -- Où trouver l'adresse IP de requêtes ? (Utile pour services tels que Cloudflare et similaires) Par Défaut = REMOTE_ADDR. AVERTISSEMENT : Ne pas changer si vous ne sais pas ce que vous faites ! - -Valeurs recommandées pour « ipaddr » : - -Valeur | En utilisant ----|--- -`HTTP_INCAP_CLIENT_IP` | Proxy inversé Incapsula. -`HTTP_CF_CONNECTING_IP` | Proxy inversé Cloudflare. -`CF-Connecting-IP` | Proxy inversé Cloudflare (alternative ; si ce qui précède ne fonctionne pas). -`HTTP_X_FORWARDED_FOR` | Proxy inversé Cloudbric. -`X-Forwarded-For` | [Proxy inversé Squid](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*Défini par la configuration du serveur.* | [Proxy inversé Nginx](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` | Pas de proxy inversé (valeur par défaut). - -##### « enable_plugins » -- Permettre le support pour les plugins du phpMussel ? False = Non [Défaut] ; True = Oui. - -##### « forbid_on_block » -- Devrait phpMussel envoyer les en-têtes 403 avec le fichier téléchargement bloqué message, ou rester avec l'habitude 200 bien (200 OK) ? False = Non (200) ; True = Oui (403) [Défaut]. - -##### « unsupported_media_type_header » -- Devrait phpMussel envoyer les en-têtes 415 lorsque les téléchargements sont bloqués en raison du types de fichiers sur la liste noire ? Lorsqu'il est true, ce paramètre remplace `forbid_on_block`. False = Non [Défaut] ; True = Oui. - -##### « delete_on_sight » -- Mise en cette option sera instruire le script à tenter immédiatement supprimer tout fichiers elle constate au cours de son analyse correspondant à des critères de détection, que ce soit via des signatures ou autrement. Fichiers jugées propre ne seront pas touchés. Dans le cas des archives, l'ensemble d'archive sera supprimé (indépendamment de si le incriminé fichier est que l'un de plusieurs fichiers contenus dans l'archive). Pour le cas d'analyse de fichiers téléchargement, généralement, il n'est pas nécessaire d'activer cette option sur, parce généralement, PHP faire purger automatiquement les contenus de son cache lorsque l'exécution est terminée, ce qui signifie que il va généralement supprimer tous les fichiers téléchargés à travers elle au serveur sauf qu'ils ont déménagé, copié ou supprimé déjà. L'option est ajoutée ici comme une supplémentaire mesure de sécurité pour ceux dont copies de PHP peut pas toujours se comporter de la manière attendu. False = Après l'analyse, laissez le fichier tel quel [Défaut] ; True = Après l'analyse, si pas propre, supprimer immédiatement. - -##### « lang » -- Spécifiez la langue défaut pour phpMussel. - -##### « lang_override » -- Localiser selon HTTP_ACCEPT_LANGUAGE autant que possible ? True = Oui [Défaut] ; False = Non. - -##### « numbers » -- Spécifie comment afficher les nombres. - -Valeurs actuellement supportées : - -Valeur | Produit | Description ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | Valeur par défaut. -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*Remarque : Ces valeurs ne sont standardisées nulle part, et ne seront probablement pas pertinentes au-delà du package. Aussi, les valeurs supportées peuvent changer à l'avenir.* - -##### « quarantine_key » -- phpMussel est capable de mettre en quarantaine le marqué fichier téléchargement tentatives en isolement au sein de la voûte de phpMussel, si cela est quelque chose que vous voulez qu'il fasse. L'utilisateurs de phpMussel qui souhaitent simplement de protéger leurs sites ou environnement d'hébergement sans avoir un profondément intérêt dans d'analyse de quelconque marqué fichier téléchargement tentatives devrait laisser cette fonctionnalité désactivée, mais tous les utilisateurs intéressés dans d'analyse plus approfondie de tenté fichier téléchargements pour la recherche des logiciels malveillants ou pour des choses semblables devraient permettre cette fonctionnalité. La quarantaine de marqué fichier téléchargement tentatives peut parfois aider également dans le débogage des faux positifs, si cela est quelque chose qui se produit fréquemment pour vous. Pour désactiver la fonctionnalité de quarantaine, il suffit de laisser la directive `quarantine_key` vide, ou effacer le contenu de cette directive si elle est pas déjà vide. Pour activer la fonctionnalité de quarantaine, entrer une valeur dans la directive. Le `quarantine_key` est une élément important de la sécurité de la fonctionnalité de quarantaine requis en tant que moyen de prévention de la fonctionnalité de quarantaine d'être exploités par des attaquants potentiels en tant que moyen de prévention toute potentielle exécution de données stockées dans la quarantaine. Le `quarantine_key` devrait être traité de la même manière que vos mots de passe : Le plus sera le mieux, et conservez-le bien. Pour un meilleur effet, utiliser en conjonction avec `delete_on_sight`. - -##### « quarantine_max_filesize » -- La maximum taille autorisée de fichiers mis en quarantaine. Fichiers au-dessus de cette valeur ne sera pas placé en quarantaine. Cette directive est un important moyen de rendre plus difficile pour des agresseurs potentiels d'inonder votre quarantaine avec des données non désirées ce qui pourrait causer l'emballement d'utilisation des données sur votre service d'hébergement. Défaut = 2Mo. - -##### « quarantine_max_usage » -- La maximale utilisation autorisée de la mémoire pour la quarantaine. Si la totale d'utilisée mémoire par la quarantaine atteint cette valeur, les anciens fichiers en quarantaine seront supprimés jusqu'à ce que la totale mémoire utilisée n'atteint pas cette valeur. Cette directive est un important moyen de rendre plus difficile pour des agresseurs potentiels d'inonder votre quarantaine avec des données non désirées ce qui pourrait causer l'emballement d'utilisation des données sur votre service d'hébergement. Défaut = 64Mo. - -##### « quarantine_max_files » -- Le nombre maximal de fichiers pouvant exister dans la quarantaine. Lorsque de nouveaux fichiers sont ajoutés à la quarantaine, si ce nombre est dépassé, les anciens fichiers seront supprimés jusqu'à ce que le reste ne dépasse plus ce nombre. Défaut = 100. - -##### « honeypot_mode » -- Quand le honeypot mode est activé, phpMussel va tenter de mettre en quarantaine tous les fichier téléchargements ce qu'il rencontre, indépendamment de si oui ou non le fichier en cours de téléchargement correspond à signature inclus, et aucune réelle analyse de ces fichier téléchargements tentatives va arriver. Cette fonctionnalité devrait être utile pour ceux qui souhaitent utiliser phpMussel pour des fins de logiciels malveillants ou virus recherche, mais il pas n'est recommandé d'activer cette fonctionnalité si l'utilisation prévue de phpMussel par l'utilisateur est l'analyse de fichier téléchargements comme la norme, ni est-il recommandé d'utiliser la honeypot fonctionnalité pour fins autres que celles du honeypot. Par défaut, cette option est désactivée. False = Désactivé [Défaut] ; True = Activé. - -##### « scan_cache_expiry » -- Pour combien de temps devrait phpMussel cache les résultats de l'analyse ? La valeur est le nombre de secondes pour mettre en cache les résultats de l'analyse pour. Par défaut est 21600 secondes (6 heures) ; Une valeur de 0 désactive mettre en cache les résultats de l'analyse. - -##### « disable_cli » -- Désactiver le mode CLI ? Le mode CLI est activé par défaut, mais peut parfois interférer avec certains test outils (comme PHPUnit, par exemple) et d'autres applications basées sur CLI. Si vous n'avez pas besoin désactiver le mode CLI, vous devrait ignorer cette directive. False = Activer le mode CLI [Défaut] ; True = Désactiver le mode CLI. - -##### « disable_frontend » -- Désactiver l'accès frontal ? L'accès frontal peut rendre phpMussel plus facile à gérer, mais peut aussi être un risque potentiel pour la sécurité. Il est recommandé de gérer phpMussel via le back-end chaque fois que possible, mais l'accès frontal est prévu pour quand il est impossible. Seulement activer si vous avez besoin. False = Activer l'accès frontal ; True = Désactiver l'accès frontal [Défaut]. - -##### « max_login_attempts » -- Nombre maximal de tentatives de connexion (l'accès frontal). Défaut = 5. - -##### « frontend_log » -- *v1 : « FrontEndLog »* -- Fichier pour l'enregistrement des tentatives de connexion à l'accès frontal. Spécifier un fichier, ou laisser vide à désactiver. - -##### « disable_webfonts » -- Désactiver les webfonts ? True = Oui [Défaut] ; False = Non. - -##### « maintenance_mode » -- Activer le mode de maintenance ? True = Oui ; False = Non [Défaut]. Désactive tout autre que l'accès frontal. Parfois utile pour la mise à jour de votre CMS, des frameworks, etc. - -##### « default_algo » -- Définit quel algorithme utiliser pour tous les mots de passe et les sessions à l'avenir. Options : PASSWORD_DEFAULT (défaut), PASSWORD_BCRYPT, PASSWORD_ARGON2I (nécessite PHP >= 7.2.0), PASSWORD_ARGON2ID (nécessite PHP >= 7.3.0). - -##### « statistics » -- Suivre les statistiques d'utilisation pour phpMussel ? True = Oui ; False = Non [Défaut]. - -##### « hide_version » -- Masquer les informations de version à partir des journaux et de la sortie de la page ? True = Oui ; False = Non [Défaut]. - -##### « disabled_channels » -- Ceci peut être utilisé pour empêcher phpMussel d'utiliser des canaux particuliers lors de l'envoi de requêtes (par exemple, lors de la mise à jour, lors de l'extraction de métadonnées de composant, etc). - -##### « default_timeout » -- Délai d'attente par défaut à utiliser pour les requêtes externes ? Défaut = 12 secondes. - -#### « signatures » (Catégorie) -Configuration pour les signatures. - -##### « active » -- *v1 : « Active »* -- Une liste des fichiers de signatures active, délimitée par des virgules. - -*Remarque :* -- *Les fichiers de signatures doivent d'abord être installés, avant de pouvoir les activer.* -- *Pour que les fichiers de test fonctionnent correctement, les fichiers de signature doivent être installés et activés.* -- *La valeur de cette directive est mise en cache. Après l'avoir modifié, vous devrez peut-être supprimer le cache pour que les modifications prennent effet.* - -##### « fail_silently » -- Devrait phpMussel signaler quand les fichiers du signatures sont manquants ou endommagés ? Si `fail_silently` est désactivé, fichiers manquants et corrompus seront signalé sur analyse, et si `fail_silently` est activé, fichiers manquants et corrompus seront ignorés, avec l'analyse signalés pour ceux fichiers qu'il n'y a pas de problèmes. Cela devrait généralement être laissé seul sauf si vous rencontrez accidents ou similaires problèmes. False = Désactivé ; True = Activé [Défaut]. - -##### « fail_extensions_silently » -- Devrait phpMussel signaler quand les extensions sont manquantes ? Si `fail_extensions_silently` est désactivé, extensions manquantes seront signalé sur analyse, et si `fail_extensions_silently` est activé, extensions manquantes seront ignorés, avec l'analyse signalés pour ceux fichiers qu'il n'y a pas de problèmes. La désactivation de cette directive peut potentiellement augmenter votre sécurité, mais peut aussi conduire à une augmentation de faux positifs. False = Désactivé ; True = Activé [Défaut]. - -##### « detect_adware » -- Devrait phpMussel utiliser signatures pour détecter les adwares ? False = Non ; True = Oui [Défaut]. - -##### « detect_joke_hoax » -- Devrait phpMussel utiliser signatures pour détecter les blagues/canulars malware/virus ? False = Non ; True = Oui [Défaut]. - -##### « detect_pua_pup » -- Devrait phpMussel utiliser signatures pour détecter les PUAs/PUPs ? False = Non ; True = Oui [Défaut]. - -##### « detect_packer_packed » -- Devrait phpMussel utiliser signatures pour détecter les emballeurs et des données emballés ? False = Non ; True = Oui [Défaut]. - -##### « detect_shell » -- Devrait phpMussel utiliser signatures pour détecter les scripts shell ? False = Non ; True = Oui [Défaut]. - -##### « detect_deface » -- Devrait phpMussel utiliser signatures pour détecter les defacements and defacers ? False = Non ; True = Oui [Défaut]. - -##### « detect_encryption » -- Devrait phpMussel détecter et bloquer les fichiers cryptés ? False = Non ; True = Oui [Défaut]. - -#### « files » (Catégorie) -Configuration générale pour les gestion des fichiers. - -##### « max_uploads » -- Maximum admissible nombre de fichiers pour analyse lorsque l'analyse de fichier téléchargements avant d'abandonner l'analyse et informer l'utilisateur qu'ils sont téléchargement trop à la fois ! Fournit protection contre une théorique attaque par lequel un attaquant tente à DDoS votre système ou CMS par surchargeant phpMussel à ralentir le processus de PHP à une halte. Recommandé : 10. Vous pouvez désirer d'augmenter ou diminuer ce nombre dépendamment de la vitesse de votre hardware. Notez que ce nombre ne tient pas compte pour ou inclure le contenus des archives. - -##### « filesize_limit » -- Limite de taille des fichiers en Ko. 65536 = 64Mo [Défaut] ; 0 = Pas limite (toujours en liste grise), tout (positif) valeur numérique acceptée. Cela peut être utile lorsque votre configuration de PHP limite la quantité de mémoire qu'un processus peut contenir ou si votre configuration de PHP limite la taille du fichier téléchargements. - -##### « filesize_response » -- Que faire avec des fichiers qui dépassent la limite de taille des fichiers (si existant). False = Énumérer Blanche ; True = Énumérer Noire [Défaut]. - -##### « filetype_whitelist », « filetype_blacklist », « filetype_greylist » -- Si votre système permettre seulement particuliers types des fichiers à être téléchargé, ou si votre système nie explicitement particuliers types des fichiers, spécifiant les types des fichiers dans listes blanches, listes noires et listes grises peut augmenter la vitesse à laquelle l'analyse est effectuée en permettant le script à sauter particuliers types des fichiers. Format est CSV (virgule séparées valeurs). Si vous souhaitez analyse tout, plutôt que de liste blanche, liste noire ou liste gris, laisser les variable(/s) blanc ; Il va désactiver liste blanche/noire/gris. -- L'ordre logique de l'application est : - - Si le type de fichier est listé blanche, n'analyser pas ni bloquer pas le fichier, et ne vérifie pas le fichier contre la liste noire ou la liste grise. - - Si le type de fichier est listé noire, n'analyser pas le fichier mais bloquer de toute façon, et ne vérifie pas le fichier contre la liste grise. - - Si la liste grise est vide ou si la liste grise n'est vide pas et le type de fichier est listé grise, analyser le fichier comme d'habitude et déterminer si de bloquer basés des résultats de l'analyse, mais si la liste grise n'est vide pas et le type de fichier n'est listé grise pas, traiter le fichier comme listé noire, donc n'analyse pas mais bloque de toute façon. - -##### « check_archives » -- Essayer vérifier les contenus des archives ? False = Non (ne pas vérifier) ; True = Oui (vérifier) [Défaut]. - -Format | Peut lire | Peut lire récursivement | Peut détecter le cryptage | Remarques ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | Nécessite [libzip](https://secure.php.net/manual/en/zip.requirements.php) (normalement livré avec PHP de toute façon). Aussi supporté (utilise le format zip) : ✔️ Détection d'objet OLE. ✔️ Détection de macro Office. -Tar | ✔️ | ✔️ | ➖ | Aucune exigence particulière. Le format ne supporte pas le cryptage. -Rar | ✔️ | ✔️ | ✔️ | Nécessite l'extension [rar](https://pecl.php.net/package/rar) (quand cette extension n'est pas installée, phpMussel ne peut pas lire les fichiers rar). -Phar | ❌ | ❌ | ❌ | La capacité de lire des fichiers phar a été supprimée dans la version 1.6.0, et ne sera réajoutée pour des raisons de sécurité. - -*Si quelqu'un est capable et disposé à aider à implémenter le support pour la lecture d'autres formats d'archive, une telle aide serait la bienvenue.* - -##### « filesize_archives » -- Étendre taille du fichier liste noire/blanche paramètres à le contenu des archives ? False = Non (énumérer grise tout) ; True = Oui [Défaut]. - -##### « filetype_archives » -- Étendre type de fichier liste noire/blanche paramètres à le contenu des archives ? False = Non (énumérer grise tout) [Défaut] ; True = Oui. - -##### « max_recursion » -- Maximum récursivité profondeur limite pour archives. Défaut = 3. - -##### « block_encrypted_archives » -- Détecter et bloquer les archives cryptées ? Parce phpMussel est pas capable d'analyse du contenu des archives cryptées, il est possible que le cryptage des archives peut être utilisé par un attaquant un moyen a tenter de contourner phpMussel, analyseurs anti-virus et d'autres protections. Instruire phpMussel pour bloquer toutes les archives cryptées qu'il découvre pourrait aider à réduire les risques associés à ces possibilités. False = Non ; True = Oui [Défaut]. - -##### « max_files_in_archives » -- Nombre maximal de fichiers à analyser à partir d'archives avant l'abandon de l'analyse. Défaut = 0 (n'est pas un maximum). - -#### « attack_specific » (Catégorie) -Configuration pour les détections d'attaque spécifiques. - -Détection des attaques de caméléon : False = Désactivé ; True = Activé. - -##### « chameleon_from_php » -- Vérifier pour les en-têtes PHP dans les fichiers qui ne sont pas de PHP ni reconnue comme archives. - -##### « can_contain_php_file_extensions » -- Une liste d'extensions de fichiers autorisés à contenir du code PHP, séparés par des virgules. Si la détection des attaques de caméléon PHP est activée, les fichiers qui contiennent du code PHP, qui ont des extensions qui ne sont pas sur cette liste, seront détectés comme des attaques de caméléon PHP. - -##### « chameleon_from_exe » -- Vérifier pour les en-têtes d'exécutables dans les fichiers qui ne sont pas fichiers exécutable ni reconnue comme archives et pour exécutables dont les en-têtes sont incorrects. - -##### « chameleon_to_archive » -- Détecter les en-têtes incorrects dans les archives et les fichiers compressés. Supporté : BZ/BZIP2, GZ/GZIP, LZF, RAR, ZIP. - -##### « chameleon_to_doc » -- Vérifier pour les documents office dont les en-têtes sont incorrects (Supporté : DOC, DOT, PPS, PPT, XLA, XLS, WIZ). - -##### « chameleon_to_img » -- Vérifier pour les images dont les en-têtes sont incorrects (Supporté : BMP, DIB, PNG, GIF, JPEG, JPG, XCF, PSD, PDD, WEBP). - -##### « chameleon_to_pdf » -- Vérifier pour les fichiers PDF dont les en-têtes sont incorrects. - -##### « archive_file_extensions » -- Les extensions de fichiers d'archives reconnus (format est CSV ; devraient ajouter ou supprimer seulement quand problèmes surviennent ; supprimer inutilement peut entraîner des faux positifs à paraître pour archive fichiers, tandis que ajoutant inutilement sera essentiellement liste blanche ce que vous ajoutez à partir de l'attaque spécifique détection ; modifier avec prudence ; aussi noter que cela n'a aucun effet sur ce archives peut et ne peut pas être analysé au niveau du contenu). La liste, comme en cas de défaut, énumère les formats plus couramment utilisé dans la majorité des systèmes et CMS, mais volontairement pas nécessairement complète. - -##### « block_control_characters » -- Bloquer tous les fichiers contenant les caractères de contrôle (autre que les sauts de ligne) ? (`[\x00-\x08\x0b\x0c\x0e\x1f\x7f]`) Si vous êtes _**SEULEMENT**_ télécharger de brut texte fichiers, puis vous pouvez activer cette option à fournir une supplémentaire protection à votre système. Mais, si vous télécharger quelque chose plus que brut texte, l'activation de cette peut créer faux positifs. False = Ne pas bloquer [Défaut] ; True = Bloquer. - -##### « corrupted_exe » -- Fichiers corrompus et erreurs d'analyse. False = Ignorer ; True = Bloquer [Défaut]. Détecter et bloquer les fichiers PE (Portable Executable) potentiellement corrompus ? Souvent (mais pas toujours), lorsque certains aspects d'un fichier PE sont corrompus ou ne peut pas être analysée correctement, il peut être le signe d'une infection virale. Les processus utilisés par la plupart des programmes anti-virus pour détecter les virus dans fichiers PE requérir l'analyse de ces fichiers par méthodes certaines, de ce que, si le programmeur d'un virus est conscient de, seront spécifiquement tenter d'empêcher, en vue de permettre leur virus n'être pas détectée. - -##### « decode_threshold » -- Seuil à la longueur de brutes données dans laquelle commandes des décodages doivent être détectés (dans le cas où il ya remarquable performance problèmes au cours de l'analyse). Défaut = 512Ko. Zéro ou nulle valeur désactive le seuil (supprimant toute restriction basé sur la taille du fichier). - -##### « scannable_threshold » -- Seuil à la longueur de données brutes dans laquelle phpMussel est autorisé à lire et à analyser (dans le cas où il ya remarquable performance problèmes au cours de l'analyse). Défaut = 32Mo. Zéro ou nulle valeur désactive le seuil. En général, cette valeur ne doit pas être moins que la moyenne tailles des fichiers des téléchargements que vous voulez et s'attendent à recevoir de votre serveur ou site web, ne devrait pas être plus que la filesize_limit directive, et ne devrait pas être plus que d'un cinquième de l'allocation de totale mémoire autorisée à PHP via le `php.ini` fichier de configuration. Cette directive existe pour tenter d'empêcher phpMussel d'utiliser trop de mémoire (ce qui l'empêcherait d'être capable d'analyse fichiers dessus d'une certaine taille avec succès). - -##### « allow_leading_trailing_dots » -- Autoriser les points de début et de fin dans les noms de fichiers ? Cela peut parfois être utilisé pour cacher des fichiers, ou pour tromper certains systèmes en permettant la traversée de répertoires. False = Ne pas autoriser [Défaut]. True = Autoriser. - -##### « block_macros » -- Essayez de bloquer tous les fichiers contenant des macros ? Certains types de documents et feuilles de calcul peuvent contenir des macros exécutables, fournissant ainsi un dangereux vecteur potentiel pour logiciels malveillants. False = Ne pas bloquer [Défaut] ; True = Bloquer. - -#### « compatibility » (Catégorie) -Directives de compatibilité pour phpMussel. - -##### « ignore_upload_errors » -- Cette directive doit généralement être DÉSACTIVÉ sauf si cela est nécessaire pour la correcte fonctionnalité de phpMussel sur votre spécifique système. Normalement, lorsque DÉSACTIVÉ, lorsque phpMussel détecte la présence d'éléments dans le `$_FILES`() tableau, il va tenter de lancer une analyse du fichiers que ces éléments représentent, et, si ces éléments sont vide, phpMussel retourne un message d'erreur. Ce comportement est normal pour phpMussel. Mais, pour certains CMS, vides éléments dans `$_FILES` peuvent survenir à la suite du naturel comportement de ces CMS, ou erreurs peuvent être signalés quand il ne sont pas tout, dans ce cas, le normal comportement pour phpMussel seront interférer avec le normal comportement de ces CMS. Si telle une situation se produit pour vous, ACTIVATION de cette option sera instruire phpMussel ne pas à tenter de lancer d'analyses pour ces vides éléments, ignorer quand il est reconnu et ne pas à retourner tout de connexes messages d'erreur, permettant ainsi la continuation de la requête de page. False = DÉSACTIVÉ ; True = ACTIVÉ. - -##### « only_allow_images » -- Lorsqu'il est défini sur true, tous les fichiers rencontrés par le scanner qui ne sont pas des images seront immédiatement marqués, sans être analysés. Cela peut aider à réduire le temps nécessaire pour terminer une analyse dans certains cas. Défini sur false par défaut. - -#### « heuristic » (Catégorie) -Directives heuristiques pour phpMussel. - -##### « threshold » -- Il ya certaines signatures des phpMussel qui sont destinés à identifier des suspectes et potentiellement malveillants qualités des fichiers en cours de téléchargement sans en eux-mêmes identifier les fichiers en cours de téléchargement spécifiquement comme étant malveillants. Cette « threshold » (seuil) valeur raconte à phpMussel ce que le total maximum poids des suspectes et potentiellement malveillants qualités des fichiers en cours de téléchargement pour ce qui est admissible avant que ces fichiers doivent être signalées comme malveillant. La définition du poids dans ce contexte est le nombre total de suspectes et potentiellement malveillants qualités identifié. Par défaut, cette valeur sera fixée à 3. Une valeur inférieur va résulter généralement avec une fréquence supérieur de faux positifs mais une nombre supérieur de fichiers signalé comme malveillant, tandis que une valeur inférieur va résulter généralement avec une fréquence inférieur de faux positifs mais un nombre inférieur de fichiers signalé comme malveillant. Il est généralement préférable de laisser cette valeur à sa valeur défaut, sauf si vous rencontrez des problèmes qui sont liés à elle. - -#### « virustotal » (Catégorie) -Configuration pour Virus Total intégration. - -##### « vt_public_api_key » -- Facultativement, phpMussel est capable d'analyser les fichiers en utilisant le Virus Total API comme un moyen de fournir un renforcée niveau de protection contre les virus, trojans, logiciels malveillants et autres menaces. Par défaut, l'analyse des fichiers en utilisant le Virus Total API est désactivé. Pour activer, une Total Virus API clé est nécessaire. En raison de le significative avantage que cela pourrait fournir pour vous, il est quelque chose que je recommande fortement pour l'activer. S'il vous plaît être conscient, cependant, que pour utiliser le Virus Total API, vous _**DEVEZ**_ accepter leurs conditions d'utilisation (Terms of Service) et vous _**DEVEZ**_ respecter toutes les directives selon décrit par la documentation Virus Total ! Vous N'ÊTES PAS autorisé à utiliser cette fonctionnalité SAUF SI : - - Vous avez lu et accepté les Conditions d'Utilisation (Terms of Service) de Total Virus et son API. Les Conditions d'Utilisation de Total Virus et son API peut être trouvé [Ici](https://www.virustotal.com/en/about/terms-of-service/). - - Vous avez lu et vous comprendre, au minimum, le préambule du Virus Total Publique API documentation (tout ce qui suit « VirusTotal Public API v2.0 » mais avant « Contents »). Le Virus Total Publique API documentation peut être trouvé [Ici](https://www.virustotal.com/en/documentation/public-api/). - -Noter : Si l'analyse des fichiers en utilisant le Virus Total API est désactivé, vous ne serez pas besoin de revoir tout des directives dans cette catégorie (`virustotal`), parce qu'aucun d'eux ne fait rien si cette option est désactivée. Pour acquérir une Virus Total API clé, à partir de quelque part sur leur site web, cliquez sur le lien « Rejoindre notre communauté » situé vers le haut à droite de la page, saisissez les informations demandées, et cliquez sur « S'enregistrer » quand vous avez terminé. Suivez toutes les instructions fournies, et quand vous avez votre publique API clé, copier/coller cette publique API clé à la `vt_public_api_key` directive du `config.ini` fichier de configuration. - -##### « vt_suspicion_level » -- Par défaut, phpMussel va restreindre les fichiers de l'analyse utilisant le Virus Total API à ces fichiers qu'il juges comme soupçonneux. Facultativement, vous pouvez régler cette restriction par changeant la valeur de la `vt_suspicion_level` directive. -- `0` : Fichiers sont seulement considérées comme soupçonneux si, quand étant analysé par phpMussel utilisant ses propres signatures, ils sont réputés pour porter un poids heuristique. Cela signifierait effectivement que l'utilisation du Virus Total API serait être pour une deuxième opinion pour quand phpMussel soupçonne qu'un fichier peut être potentiellement malveillants, mais ne peut pas entièrement exclu que il peut aussi potentiellement être bénigne (non malveillant) et donc serait autrement normalement pas bloquer ou signaler qu'il est malveillant. -- `1` : Fichiers sont considérés comme soupçonneux si, quand étant analysé par phpMussel utilisant ses propres signatures, ils sont réputés pour porter un poids heuristique, si elles sont connues pour être exécutable (PE fichiers, Mach-O fichiers, ELF/Linux fichiers, etc), ou s'ils sont connus pour être d'une forme qui pourrait contenir exécutable données (tels comme exécutable macros, DOC/DOCX fichiers, archive fichiers tels comme RARs, ZIPS et etc). C'est la valeur par défaut et le niveau de suspicion recommandé d'appliquer, qui signifie effectivement que l'utilisation du Virus Total API serait être pour une deuxième opinion pour quand initialement phpMussel ne peut pas trouver quoi que malveillant ou problématique avec un fichier qu'il considère comme soupçonneux et donc serait autrement normalement pas bloquer ou signaler qu'il est malveillant. -- `2` : Tous fichiers sont considérés comme soupçonneux et doivent être analysés utiliser le Virus Total API. Généralement, je ne recommande pas d'appliquer ce niveau de suspicion, en raison du risque d'atteindre votre API quota beaucoup plus rapide que ce serait autrement être le cas, mais il ya certaines circonstances (comme quand le webmaster ou hostmaster possède très peu foi ou confiance concernant le téléchargé contenu de leurs utilisateurs) où ce niveau de suspicion pourrait être approprié. Avec ce niveau de suspicion, tous fichiers que ne sont pas normalement bloquée ou signalés comme étant malveillants serait être analysé par le Virus Total API. Noter, cependant, que phpMussel sera cesser l'utiliser du Virus Total API quand votre API quota a été atteint (indépendamment du niveau de suspicion), et que votre quota sera probablement être atteint beaucoup plus rapidement quand vous utilisez ce niveau de suspicion. - -Noter : Indépendamment du niveau de suspicion, tous les fichiers qui sont sur la liste noire ou liste blanche soit pour phpMussel ne seront pas analysés en utilisant le Virus API total, parce que ces fichiers seraient ont déjà été déclarés comme soit malveillant ou bénigne par phpMussel avant le moment où ils auraient autrement été analysés par le Virus Total API, et donc, analyser supplémentaire ne serait pas être nécessaire. La capacité de phpMussel pour analyser les fichiers en utilisant le Virus Total API est destiné à renforcer la confiance pour savoir si un fichier est malveillant ou bénigne dans les circonstances où phpMussel lui-même est pas tout à fait certain quant à savoir si un fichier est malveillant ou bénigne. - -##### « vt_weighting » -- Devrais phpMussel appliquer les résultats de l'analyse en utilisant le Virus Total API comme détections ou comme pondération de détection ? Cette directive existe, parce que, quoique analyse d'un fichier à l'aide de plusieurs moteurs (comme Virus Total fait) devrait résulter en un augmenté taux de détection (et donc en un plus grand nombre de fichiers malveillants être détectés), il peut également résulter en un plus grand nombre de faux positifs, et donc, dans certaines circonstances, les résultats de l'analyse peuvent être mieux utilisées comme un score de confiance plutôt que comme une conclusion définitive. Si la valeur 0 est utilisée, les résultats de l'analyse en utilisant le Virus Total API seront être appliquées comme détections, et donc, si quelconque moteur utilisé par Virus Total marques le fichier analysé comme étant malveillants, phpMussel va considérer le fichier comme malveillant. Si quelconque autre valeur est utilisée, les résultats de l'analyse en utilisant le Virus Total API sera appliquée comme pondération de détection, et donc, le nombre de moteurs utilisés par Total Virus que marque le fichier analysé comme étant malveillant sera servir un score de confiance (ou une pondération de détection) pour savoir si ou non le fichier êtant analysé devrait être considéré comme malveillant par phpMussel (la valeur utilisée représentera le minimum score de confiance ou le poids requis pour être considéré comme malveillant). Une valeur de 0 est utilisée par défaut. - -##### « vt_quota_rate » et « vt_quota_time » -- Selon le Virus Total API documentation, elle est limitée à au plus 4 demandes de toute nature dans un laps de 1 minute de temps. Si vous exécutez un honeyclient, honeypot ou autre automatisation qui va fournir les ressources pour Virus Total et pas seulement récupérer des rapports vous avez droit à un plus élevée demande quota. Par défaut, phpMussel va adhérer strictement à ces limitations, mais en raison de la possibilité de ces quotas étant augmenté, ces deux directives sont fournies comme un moyen pour vous d'instruire phpMussel à quelle limite il faut adhérer. Sauf si vous avez été invité à le faire, on ne recommande pas pour vous d'augmenter ces valeurs, mais, si vous avez rencontré des problèmes relatifs à atteindre votre quota, diminuant ces valeurs _**PEUT**_ parfois vous aider dans le traitement de ces problèmes. Votre quota est déterminée comme `vt_quota_rate` demandes de toute nature dans un laps de `vt_quota_time` minute de temps. - -#### « urlscanner » (Catégorie) -Un scanner d'URL est inclus avec phpMussel, capable de détecter les URLs malveillantes à partir de toutes les données ou fichiers analysés. - -Noter : Si le scanner d'URLs est désactivé, vous ne serez pas besoin de revoir quelconque du directives dans cette catégorie (`urlscanner`), parce qu'aucun d'eux avoir une fonction si cette directive est désactivée. - -Configuration du scanner d'URLs API chercher. - -##### « google_api_key » -- Permet cherches de l'API Google Safe Browsing quand l'API clé nécessaire est définie. API Google Safe Browsing cherches nécessite une clé de l'API, qui peut être obtenu à partir [d'ici](https://console.developers.google.com/). -- Noter : L'extension cURL est nécessaire pour la utiliser de cette fonctionnalité. - -##### « maximum_api_lookups » -- Nombre de cherches maximal de l'API pour effectuer par itération d'analyse individuelle. Parce que chaque API cherche supplémentaire va ajouter à la durée totale requise pour compléter chaque itération d'analyse, vous pouvez prévoir une limitation afin d'accélérer le processus d'analyse. Quand défini comme 0, pas de telles nombre maximum admissible sera appliquée. Défini comme 10 par défaut. - -##### « maximum_api_lookups_response » -- Que faire si le nombre de cherches de l'API maximal est dépassée ? False = Ne fais rien (poursuivre le traitement) [Défaut] ; True = Marque/bloquer le fichier. - -##### « cache_time » -- Combien de temps (en secondes) devrait les résultats du cherches de l'API être conservé dans le cache ? Défaut est 3600 secondes (1 heure). - -#### « legal » (Catégorie) -Configuration relative aux exigences légales. - -*Pour plus d'informations sur les exigences légales et comment cela peut affecter vos exigences de configuration, veuillez vous référer à la section « [INFORMATION LÉGALE](#SECTION11) » de la documentation.* - -##### « pseudonymise_ip_addresses » -- Pseudonymiser les adresses IP lors de la journalisation ? True = Oui [Défaut] ; False = Non. - -##### « privacy_policy » -- L'adresse d'une politique de confidentialité pertinente à afficher dans le pied de page des pages générées. Spécifier une URL, ou laisser vide à désactiver. - -#### « template_data » (Catégorie) -Directives/Variables pour les modèles et thèmes. - -Modèles données est liée à la sortie HTML utilisé pour générer le message « Téléchargement Refusé » affiché aux utilisateurs sur un fichier téléchargement est bloqué. Si vous utilisez des thèmes personnalisés pour phpMussel, sortie HTML provient du `template_custom.html` fichier, et sinon, sortie HTML provient du `template.html` fichier. Variables écrites à cette section du fichier de configuration sont préparé pour la sortie HTML par voie de remplacer tous les noms de variables circonfixé par accolades trouvés dans la sortie HTML avec les variables données correspondant. Par exemple, où `foo="bar"`, toute instance de `

{foo}

` trouvés dans la sortie HTML deviendra `

bar

`. - -##### « theme » -- Le thème à utiliser par défaut pour phpMussel. - -##### « magnification » -- *v1 : « Magnification »* -- Grossissement des fontes. Défaut = 1. - -##### « css_url » -- Le modèle fichier pour des thèmes personnalisés utilise les propriétés CSS externes, tandis que le modèle fichier pour le défaut thème utilise les propriétés CSS internes. Pour instruire phpMussel d'utiliser le modèle fichier pour des thèmes personnalisés, spécifier l'adresse HTTP public de votre thèmes personnalisés CSS fichiers utilisant le `css_url` variable. Si vous laissez cette variable vide, phpMussel va utiliser le modèle fichier pour le défaut thème. - -#### « PHPMailer » (Catégorie) -Configuration de PHPMailer. - -Actuellement, phpMussel utilise PHPMailer uniquement pour l'authentification à deux facteurs de l'interface frontale. Si vous n'utilisez pas l'interface frontale, ou si vous n'utilisez pas l'authentification à deux facteurs pour l'interface frontale, vous pouvez ignorer ces directives. - -##### « event_log » -- *v1 : « EventLog »* -- Fichier pour l'enregistrement de tous les événements relatifs à PHPMailer. Spécifier un fichier, ou laisser vide à désactiver. - -##### « skip_auth_process » -- *v1 : « SkipAuthProcess »* -- Définir cette directive sur `true` instruit à PHPMailer de sauter le processus d'authentification qui se produit normalement lors de l'envoi d'e-mail via SMTP. Cela doit être évité, car sauter du processus peut exposer l'e-mail sortant aux attaques MITM, mais peut être nécessaire dans les cas où ce processus empêche PHPMailer de se connecter à un serveur SMTP. - -##### « enable_two_factor » -- *v1 : « Enable2FA »* -- Cette directive détermine s'il faut utiliser 2FA pour les comptes frontaux. - -##### « host » -- *v1 : « Host »* -- Hôte SMTP à utiliser pour les e-mails sortants. - -##### « port » -- *v1 : « Port »* -- Le numéro de port à utiliser pour l'e-mail sortant. Défaut = 587. - -##### « smtp_secure » -- *v1 : « SMTPSecure »* -- Le protocole à utiliser lors de l'envoi d'e-mail via SMTP (TLS ou SSL). - -##### « smtp_auth » -- *v1 : « SMTPAuth »* -- Cette directive détermine si les sessions SMTP doivent être authentifiées (elles doivent généralement être laissées seules). - -##### « username » -- *v1 : « Username »* -- Le nom d'utilisateur à utiliser lors de l'envoi d'e-mail via SMTP. - -##### « password » -- *v1 : « Password »* -- Le mot de passe à utiliser lors de l'envoi d'e-mail via SMTP. - -##### « set_from_address » -- *v1 : « setFromAddress »* -- L'adresse de l'expéditeur à citer lors de l'envoi d'e-mail via SMTP. - -##### « set_from_name » -- *v1 : « setFromName »* -- Le nom de l'expéditeur à citer lors de l'envoi d'e-mail via SMTP. - -##### « add_reply_to_address » -- *v1 : « addReplyToAddress »* -- L'adresse de réponse à citer lors de l'envoi d'e-mail via SMTP. - -##### « add_reply_to_name » -- *v1 : « addReplyToName »* -- Le nom pour répondre à citer lors de l'envoi d'e-mail via SMTP. - -#### « supplementary_cache_options » (Catégorie) -Options de cache supplémentaires. - -##### « prefix » -- La valeur spécifiée ici sera ajoutée à toutes les clés d'entrée du cache. Vide par défaut. Lorsque plusieurs installations existent sur le même serveur, cela peut être utile pour séparer leurs caches les uns des autres. - -##### « enable_apcu » -- Spécifie s'il faut essayer d'utiliser APCu pour la mise en cache. Défaut = False. - -##### « enable_memcached » -- Spécifie s'il faut essayer d'utiliser Memcached pour la mise en cache. Défaut = False. - -##### « enable_redis » -- Spécifie s'il faut essayer d'utiliser Redis pour la mise en cache. Défaut = False. - -##### « enable_pdo » -- Spécifie s'il faut essayer d'utiliser PDO pour la mise en cache. Défaut = False. - -##### « memcached_host » -- Valeur de l'hôte Memcached. Défaut = « localhost ». - -##### « memcached_port » -- Valeur du port Memcached. Défaut = « 11211 ». - -##### « redis_host » -- Valeur de l'hôte Redis. Défaut = « localhost ». - -##### « redis_port » -- Valeur du port Redis. Défaut = « 6379 ». - -##### « redis_timeout » -- Valeur du délai d'attente Redis. Défaut = « 2.5 ». - -##### « pdo_dsn » -- Valeur de DSN de PDO. Défaut = « `mysql:dbname=phpmussel;host=localhost;port=3306` ». - -*Voir également : [Qu'est-ce qu'un « PDO DSN » ? Comment utiliser PDO avec phpMussel ?](#HOW_TO_USE_PDO)* - -##### « pdo_username » -- Nom d'utilisateur PDO. - -##### « pdo_password » -- Mot de passe PDO. - ---- - - -### 8. FORMATS DE SIGNATURES - -*Voir également :* -- *[Qu'est-ce qu'une « signature » ?](#WHAT_IS_A_SIGNATURE)* - -Les 9 premiers octets `[x0-x8]` d'un fichier des signatures de phpMussel sont `phpMussel`, et agir comme un « numéro magique » (magic number), afin de les identifier en tant que fichiers de signature (cela aide à empêcher phpMussel de tenter accidentellement d'utiliser des fichiers qui ne sont pas des fichiers de signature). L'octet suivant `[x9]` identifie le type de fichier des signatures, que phpMussel doit savoir pour pouvoir interpréter correctement le fichier de signatures. Les types de fichiers de signatures suivants sont reconnus : - -Type | Octet | Description ----|---|--- -`General_Command_Detections` | `0?` | Pour les fichiers de signatures utilisant CSV (valeurs séparées par des virgules). Les valeurs (signatures) sont des chaînes codées en hexadécimal pour rechercher dans les fichiers. Les signatures ici n'ont aucun nom ou d'autres détails (seulement la chaîne à détecter). -`Filename` | `1?` | Pour les signatures des noms de fichiers. -`Hash` | `2?` | Pour les signatures de hachage. -`Standard` | `3?` | Pour les fichiers de signatures qui fonctionnent directement avec le contenu du fichiers. -`Standard_RegEx` | `4?` | Pour les fichiers de signatures qui fonctionnent directement avec le contenu du fichiers. Les signatures peuvent contenir des expressions régulières. -`Normalised` | `5?` | Pour les fichiers de signatures qui fonctionnent avec le contenu de fichiers normalisés par ANSI. -`Normalised_RegEx` | `6?` | Pour les fichiers de signatures qui fonctionnent avec le contenu de fichiers normalisés par ANSI. Les signatures peuvent contenir des expressions régulières. -`HTML` | `7?` | Pour les fichiers de signatures qui fonctionnent avec le contenu de fichiers normalisés par HTML. -`HTML_RegEx` | `8?` | Pour les fichiers de signatures qui fonctionnent avec le contenu de fichiers normalisés par HTML. Les signatures peuvent contenir des expressions régulières. -`PE_Extended` | `9?` | Pour les fichiers de signatures qui fonctionnent avec des métadonnées PE (autres que les métadonnées PE sectionnelle). -`PE_Sectional` | `A?` | Pour les fichiers de signatures qui fonctionnent avec des métadonnées PE sectionnelle. -`Complex_Extended` | `B?` | Pour les fichiers de signatures qui fonctionnent avec diverses règles basées sur les métadonnées étendues générées par phpMussel. -`URL_Scanner` | `C?` | Pour les fichiers de signatures qui fonctionnent avec les URLs. - -L'octet suivant `[x10]` est une nouvelle ligne `[0A]`, et conclut l'en-tête du fichier des signatures de phpMussel. - -Chaque ligne non vide par la suite est une signature ou une règle. Chaque signature ou règle occupe une seule ligne. Les formats de signatures supportées sont décrits ci-dessous. - -#### *SIGNATURES POUR LES NOMS DE FICHIERS* -Toutes les signatures pour les noms de fichiers suivez le format : - -`NOM:FNRX` - -Où NOM est le nom à citer pour la signature et FNRX est l'expression régulière pour faire correspondre les (non codé) noms de fichiers. - -#### *SIGNATURES HASH* -Toutes les signatures HASH suivez le format : - -`HASH:TAILLE:NOM` - -Où HASH est le hachage (généralement MD5) d'un ensemble du fichier, TAILLE est la totale taille du fichier et NOM est le nom à citer pour la signature. - -#### *SIGNATURES PE SECTIONNELLE* -Toutes les signatures PE sectionnelle suivez le format : - -`TAILLE:HASH:NOM` - -Où HASH est le hachage MD5 d'un section du PE fichier, TAILLE est la totale taille de cet section et NOM est le nom à citer pour la signature. - -#### *SIGNATURES PE ÉTENDUES* -Toutes les signatures PE étendues suivez le format : - -`$VAR:HASH:TAILLE:NOM` - -Où $VAR est le nom de la PE variable à comparer contre, HASH est le MD5 hachage de cette variable, TAILLE est la taille totale de cette variable et NOM est le nom de à pour cette signature. - -#### *SIGNATURES COMPLEXES ÉTENDUES* -Signatures complexes étendues sont assez différentes pour les autres types de signatures possible avec phpMussel, dans que ce qu'ils vérifient contre est spécifié par les signatures elles-mêmes et ils peuvent vérifier contre plusieurs critères. Les critères sont délimitées par « ; » et le type et les données de chacun critères est délimitée par « : » comme ainsi le format de ces signatures tendances à semble un peu comme : - -`$variable1:CERTAINSDONNÉES;$variable2:CERTAINSDONNÉES;SignatureNom` - -#### *TOUT LE RESTE* -Toutes les autres signatures suivez le format : - -`NOM:HEX:FROM:TO` - -Où NOM est le nom à citer pour la signature et HEX est un hexadécimal codé segment du fichier destiné à être identifié par la signature donnée. FROM et TO sont optionnel paramètres, indication de laquelle et à laquelle les positions dans les source données pour vérifier contre. - -#### *REGEX (REGULAR EXPRESSIONS)* -Toute forme de regex comprise et préparé correctement par PHP devrait aussi être correctement compris et préparé par phpMussel et ses signatures. Mais, je vous suggère de prendre une extrême prudence lors de l'écriture de nouvelles regex basé signatures, parce, si vous n'êtes pas entièrement sûr de ce que vous faites, il peut y avoir très irréguliers et/ou inattendus résultats. Jetez un oeil à la phpMussel source code si vous n'êtes pas entièrement sûr sur le contexte dans lequel regex déclarations sont analysés. Aussi, rappeler toutes les déclarations (à l'exception de nom de fichier, métadonnées d'archives et MD5 déclarations) doit être de codé de hexadécimale (à l'exception de déclaration syntaxe, bien sûr) ! - ---- - - -### 9. PROBLÈMES DE COMPATIBILITÉ CONNUS - -#### PHP et PCRE -- phpMussel requérir PHP et PCRE à signer et à fonctionner correctement. Sans PHP, ou sans le PCRE extension de PHP, phpMussel n'exécutera pas ou fonctionnent correctement. Devrait s'assurer que votre système avoir PHP et PCRE installé et disponible avant de votre téléchargement et installation de phpMussel. - -#### LOGICIELS ANTI-VIRUS COMPATIBILITÉ - -Des problèmes de compatibilité entre phpMussel et certains fournisseurs d'antivirus se sont parfois produits dans le passé, ainsi, tous les quelques mois ou à peu près, je vérifie si des problèmes ont été signalés sur Virus Total par rapport aux dernières versions disponibles de la base de code phpMussel. Lorsque des problèmes sont signalés, j'énumère les problèmes signalés ici, dans la documentation. - -La dernière fois que j'ai vérifié (2022.05.12), aucun problème n'a été signalé. - -Je ne vérifie pas les fichiers de signature, la documentation ou tout autre contenu périphérique. Les fichiers de signature provoquent toujours des faux positifs lorsque d'autres solutions antivirus les détectent. Je recommanderais donc fortement, si vous envisagez d'installer phpMussel sur une machine sur laquelle une autre solution antivirus existe déjà, de créer une liste blanche des fichiers de signature phpMussel. - ---- - - -### 10. QUESTIONS FRÉQUEMMENT POSÉES (FAQ) - -- [Qu'est-ce qu'une « signature » ?](#WHAT_IS_A_SIGNATURE) -- [Qu'est-ce qu'un « faux positif » ?](#WHAT_IS_A_FALSE_POSITIVE) -- [À quelle fréquence les signatures sont-elles mises à jour ?](#SIGNATURE_UPDATE_FREQUENCY) -- [J'ai rencontré un problème lors de l'utilisation de phpMussel et je ne sais pas quoi faire à ce sujet ! Aidez-moi !](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [Je veux utiliser phpMussel (avant la v2) avec une version PHP plus ancienne que 5.4.0 ; Pouvez-vous m'aider ?](#MINIMUM_PHP_VERSION) -- [Je veux utiliser phpMussel (v2) avec une version PHP plus ancienne que 7.2.0 ; Pouvez-vous m'aider ?](#MINIMUM_PHP_VERSION_V2) -- [Puis-je utiliser une seule installation de phpMussel pour protéger plusieurs domaines ?](#PROTECT_MULTIPLE_DOMAINS) -- [Je ne veux pas déranger avec l'installation de cela et le faire fonctionner avec mon site ; Puis-je vous payer pour tout faire pour moi ?](#PAY_YOU_TO_DO_IT) -- [Puis-je vous embaucher ou à l'un des développeurs de ce projet pour un travail privé ?](#HIRE_FOR_PRIVATE_WORK) -- [J'ai besoin de modifications spécialisées, de personnalisations, etc ; Êtes-vous en mesure d'aider ?](#SPECIALIST_MODIFICATIONS) -- [Je suis un développeur, un concepteur de site Web ou un programmeur. Puis-je accepter ou offrir des travaux relatifs à ce projet ?](#ACCEPT_OR_OFFER_WORK) -- [Je veux contribuer au projet ; Puis-je faire cela ?](#WANT_TO_CONTRIBUTE) -- [Comment accéder à des détails spécifiques sur les fichiers lorsqu'ils sont analysés ?](#SCAN_DEBUGGING) -- [Puis-je utiliser cron pour mettre à jour automatiquement ?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [Est-ce que phpMussel peut analyser des fichiers avec des noms non-ANSI ?](#SCAN_NON_ANSI) -- [Listes noires – Listes blanches – Listes grises – Quels sont-ils, et comment puis-je les utiliser ?](#BLACK_WHITE_GREY) -- [Lorsque j'activer ou désactiver des fichiers de signatures via la page des mises à jour, il les trie de manière alphanumérique dans la configuration. Puis-je changer la façon dont ils sont triés ?](#CHANGE_COMPONENT_SORT_ORDER) -- [Qu'est-ce qu'un « PDO DSN » ? Comment utiliser PDO avec phpMussel ?](#HOW_TO_USE_PDO) -- [Ma fonctionnalité de téléchargement est asynchrone (par exemple, utilise ajax, ajaj, json, etc). Je ne vois aucun message ni avertissement spécial lorsqu'un téléchargement est bloqué. Que se passe-t-il ?](#AJAX_AJAJ_JSON) -- [phpMussel peut-il détecter EICAR ?](#DETECT_EICAR) - -#### Qu'est-ce qu'une « signature » ? - -Dans le contexte de phpMussel, une « signature » réfère à les données qui servent comme d'indicateur ou d'identifiant pour quelque chose spécifique que nous recherchons, généralement sous la forme d'un segment très petit, distinct et inoffensif de quelque chose plus grand et autrement nuisible, comme un virus ou un trojan, ou sous la forme d'une somme de contrôle, d'un hash ou d'un autre indicateur d'identification similaire, et généralement comprend une étiquette, et d'autres données pour aider à fournir certains contexte supplémentaire qui peut être utilisé par phpMussel pour déterminer la meilleure façon de procéder quand il rencontre ce que nous recherchons. - -#### Qu'est-ce qu'un « faux positif » ? - -Le terme « faux positif » (*alternativement : « erreur faux positif » ; « fausse alarme »* ; Anglais : *false positive* ; *false positive error* ; *false alarm*), décrit très simplement, et dans un contexte généralisé, est utilisé lors de tester pour une condition, de se référer aux résultats de ce test, lorsque les résultats sont positifs (c'est à dire, lorsque la condition est déterminée comme étant « positif », ou « vrai »), mais ils devraient être (ou aurait dû être) négatif (c'est à dire, lorsque la condition, en réalité, est « négatif », ou « faux »). Un « faux positif » pourrait être considérée comme analogue à « crier au loup » (où la condition testée est de savoir s'il y a un loup près du troupeau, la condition est « faux » en ce que il n'y a pas de loup près du troupeau, et la condition est signalé comme « positif » par le berger par voie de crier « loup ! loup ! »), ou analogues à des situations dans des tests médicaux dans lequel un patient est diagnostiqué comme ayant une maladie, alors qu'en réalité, ils ont pas une telle maladie. - -Résultats connexes lors de tester pour une condition peut être décrit en utilisant les termes « vrai positif », « vrai négatif » et « faux négatif ». Un « vrai positif » se réfère à quand les résultats du test et l'état actuel de la condition sont tous deux vrai (ou « positif »), and a « vrai négatif » se réfère à quand les résultats du test et l'état actuel de la condition sont tous deux faux (ou « négatif ») ; Un « vrai positif » ou « vrai négatif » est considéré comme une « inférence correcte ». L'antithèse d'un « faux positif » est un « faux négatif » ; Un « faux négatif » se réfère à quand les résultats du test are négatif (c'est à dire, la condition est déterminée comme étant « négatif », ou « faux »), mais ils devraient être (ou aurait dû être) positif (c'est à dire, la condition, en réalité, est « positif », ou « vrai »). - -Dans le contexte de phpMussel, ces termes réfèrent à les signatures de phpMussel et les fichiers qu'ils bloquent. Quand phpMussel bloque un fichier en raison du mauvais, obsolète ou signatures incorrectes, mais ne devrait pas l'avoir fait, ou quand il le fait pour les mauvaises raisons, nous référons à cet événement comme un « faux positif ». Quand phpMussel ne parvient pas à bloquer un fichier qui aurait dû être bloqué, en raison de menaces imprévues, signatures manquantes ou déficits dans ses signatures, nous référons à cet événement comme un « détection manquée » ou « missed detection » (qui est analogue à un « faux négatif »). - -Ceci peut être résumé par le tableau ci-dessous : - -  | phpMussel ne devrait *PAS* bloquer un fichier | phpMussel *DEVRAIT* bloquer un fichier ----|---|--- -phpMussel ne bloque *PAS* un fichier | Vrai négatif (inférence correcte) | Détection manquée (analogue à faux négatif) -phpMussel bloque un fichier | __Faux positif__ | Vrai positif (inférence correcte) - -#### À quelle fréquence les signatures sont-elles mises à jour ? - -La fréquence de mise à jour varie selon les fichiers de signature en question. Tous les mainteneurs des fichiers de signature pour phpMussel tentent généralement de conserver leurs signatures aussi à jour que possible, mais comme nous avons tous divers autres engagements, nos vies en dehors du projet, et comme aucun de nous n'est rémunéré financièrement (ou payé) pour nos efforts sur le projet, un planning de mise à jour précis ne peut être garanti. Généralement, les signatures sont mises à jour chaque fois qu'il y a suffisamment de temps pour les mettre à jour. L'assistance est toujours appréciée si vous êtes prêt à en offrir. - -#### J'ai rencontré un problème lors de l'utilisation de phpMussel et je ne sais pas quoi faire à ce sujet ! Aidez-moi ! - -- Utilisez-vous la dernière version du logiciel ? Utilisez-vous les dernières versions de vos fichiers de signature ? Si la réponse à l'une ou l'autre de ces deux est non, essayez de tout mettre à jour tout d'abord, et vérifier si le problème persiste. Si elle persiste, continuez à lire. -- Avez-vous vérifié toute la documentation ? Si non, veuillez le faire. Si le problème ne peut être résolu en utilisant la documentation, continuez à lire. -- Avez-vous vérifié la **[page des issues](https://github.com/phpMussel/phpMussel/issues)**, pour voir si le problème a été mentionné avant ? Si on l'a mentionné avant, vérifier si des suggestions, des idées et/ou des solutions ont été fournies, et suivez comme nécessaire pour essayer de résoudre le problème. -- Si le problème persiste, s'il vous plaît demander de l'aide à ce sujet en créant un nouveau issue sur la page des issues. - -#### Je veux utiliser phpMussel (avant la v2) avec une version PHP plus ancienne que 5.4.0 ; Pouvez-vous m'aider ? - -Non. PHP >= 5.4.0 est une exigence minimale pour phpMussel < v2. - -#### Je veux utiliser phpMussel (v2) avec une version PHP plus ancienne que 7.2.0 ; Pouvez-vous m'aider ? - -Non. PHP >= 7.2.0 est une exigence minimale pour phpMussel v2. - -*Voir également : [Tableaux de Compatibilité](https://maikuolan.github.io/Compatibility-Charts/).* - -#### Puis-je utiliser une seule installation de phpMussel pour protéger plusieurs domaines ? - -Oui. Les installations phpMussel ne sont pas naturellement verrouillées dans des domaines spécifiques, et peut donc être utilisé pour protéger plusieurs domaines. Généralement, nous référons aux installations phpMussel protégeant un seul domaine comme « installations à un seul domaine » (« single-domain installations »), et nous référons aux installations phpMussel protégeant plusieurs domaines et/ou sous-domaines comme « installations multi-domaines » (« multi-domain installations »). Si vous utilisez une installation multi-domaine et besoin d'utiliser différents ensembles de fichiers de signature pour différents domaines, ou besoin de phpMussel pour être configuré différemment pour différents domaines, il est possible de le faire. Après avoir chargé le fichier de configuration (`config.ini`), phpMussel vérifiera l'existence d'un « fichier de substitution de configuration » spécifique au domaine (ou sous-domaine) demandé (`le-domaine-demandé.tld.config.ini`), et si trouvé, les valeurs de configuration définies par le fichier de substitution de configuration sera utilisé pour l'instance d'exécution au lieu des valeurs de configuration définies par le fichier de configuration. Les fichiers de substitution de configuration sont identiques au fichier de configuration, et à votre discrétion, peut contenir l'intégralité de toutes les directives de configuration disponibles pour phpMussel, ou quelle que soit la petite sous-section requise qui diffère des valeurs normalement définies par le fichier de configuration. Les fichiers de substitution de configuration sont nommée selon le domaine auquel elle est destinée (donc, par exemple, si vous avez besoin d'une fichier de substitution de configuration pour le domaine, `https://www.some-domain.tld/`, sa fichier de substitution de configuration doit être nommé comme `some-domain.tld.config.ini`, et devrait être placé dans la vault à côté du fichier de configuration, `config.ini`). Le nom de domaine pour l'instance d'exécution dérive de l'en-tête `HTTP_HOST` de la requête ; « www » est ignoré. - -#### Je ne veux pas déranger avec l'installation de cela et le faire fonctionner avec mon site ; Puis-je vous payer pour tout faire pour moi ? - -Peut-être. Ceci est considéré au cas par cas. Faites-nous savoir ce dont vous avez besoin, ce que vous offrez, et nous vous informerons si nous pouvons vous aider. - -#### Puis-je vous embaucher ou à l'un des développeurs de ce projet pour un travail privé ? - -*Voir au-dessus.* - -#### J'ai besoin de modifications spécialisées, de personnalisations, etc ; Êtes-vous en mesure d'aider ? - -*Voir au-dessus.* - -#### Je suis un développeur, un concepteur de site Web ou un programmeur. Puis-je accepter ou offrir des travaux relatifs à ce projet ? - -Oui. Notre licence ne l'interdit pas. - -#### Je veux contribuer au projet ; Puis-je faire cela ? - -Oui. Les contributions au projet sont les bienvenues. Voir « CONTRIBUTING.md » pour plus d'informations. - -#### Comment accéder à des détails spécifiques sur les fichiers lorsqu'ils sont analysés ? - -Vous pouvez accéder à des détails spécifiques sur les fichiers lorsqu'ils sont analysés en attribuant un tableau à utiliser à cet effet avant de demander à phpMussel de les analyser. - -Dans l'exemple ci-dessous, `$Foo` est utilisé à cette fin. Après avoir analysé `/chemin/du/fichier/...`, des informations détaillées sur les fichiers contenus dans `/chemin/du/fichier/...` seront contenues par `$Foo`. - -```PHP -Puis-je utiliser cron pour mettre à jour automatiquement ? - -Oui. Une API est intégrée dans le frontal pour interagir avec la page des mises à jour via des scripts externes. Un script séparé, « [Cronable](https://github.com/Maikuolan/Cronable) », est disponible, et peut être utilisé par votre gestionnaire de cron ou cron scheduler pour mettre à jour ce paquet et d'autres paquets supportés automatiquement (ce script fournit sa propre documentation). - -#### Est-ce que phpMussel peut analyser des fichiers avec des noms non-ANSI ? - -Disons qu'il y a un répertoire que vous voulez scanner. Dans ce répertoire, vous avez des fichiers avec des noms non-ANSI. -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -Supposons que vous utilisez le mode CLI ou l'API phpMussel pour analyser. - -Lors de l'utilisation de PHP < 7.1.0, sur certains systèmes, phpMussel ne verra pas ces fichiers lors de l'analyse du répertoire, et ne pourra donc pas analyser ces fichiers. Vous verrez probablement les mêmes résultats que si vous deviez analyser un répertoire vide : - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Commencé. - Sun, 01 Apr 2018 22:27:41 +0800 Terminé. -``` - -De plus, lorsque vous utilisez PHP < 7.1.0, l'analyse des fichiers individuellement produit des résultats comme ceux-ci : - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Commencé. - > Vérification 'X:/directory/Пример.txt' (FN: b831eb8f): - -> Fichier non valide ! - Sun, 01 Apr 2018 22:27:41 +0800 Terminé. -``` - -Ou ceux-ci : - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Commencé. - > X:/directory/??????.txt n'est pas un fichier ou un répertoire. - Sun, 01 Apr 2018 22:27:41 +0800 Terminé. -``` - -C'est à cause de la façon dont PHP a traité les noms de fichiers non-ANSI avant PHP 7.1.0. Si vous rencontrez ce problème, la solution consiste à mettre à jour votre installation PHP à 7.1.0 ou plus récent. En PHP >= 7.1.0, les noms de fichiers non-ANSI sont mieux gérés, et phpMussel devrait être capable d'analyser les fichiers correctement. - -Pour comparaison, les résultats lors de l'analyse du répertoire en utilisant PHP >= 7.1.0 : - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Commencé. - -> Vérification '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> Pas problème trouvé. - -> Vérification '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> Pas problème trouvé. - -> Vérification '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> Pas problème trouvé. - Sun, 01 Apr 2018 22:27:41 +0800 Terminé. -``` - -Et en analysant les fichiers individuellement : - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Commencé. - > Vérification 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> Pas problème trouvé. - Sun, 01 Apr 2018 22:27:41 +0800 Terminé. -``` - -#### Listes noires – Listes blanches – Listes grises – Quels sont-ils, et comment puis-je les utiliser ? - -Les termes véhiculent des significations différentes dans différents contextes. Dans phpMussel, il existe trois contextes où ces termes sont utilisés : La réponse à la taille du fichier, la réponse au type du fichier, et la liste grise des signatures. - -Afin d'obtenir un résultat souhaité à un coût minimal pour le traitement, il existe des choses simples que phpMussel peut vérifier avant de scanner les fichiers, tels que la taille, le nom et l'extension d'un fichier. Par exemple ; Si un fichier est trop volumineux, ou si son extension indique un type de fichier que nous ne voulons pas autoriser sur nos sites web, nous pouvons signaler le fichier immédiatement et ne pas avoir besoin de le scanner. - -La réponse à la taille du fichier correspond à la réponse de phpMussel lorsqu'un fichier dépasse une limite spécifiée. Bien qu'aucune liste ne soit en cause, un fichier peut être considéré comme effectivement mis sur liste noire, sur liste blanche, ou sur liste grise, en fonction de sa taille. Deux directives de configuration facultatives distinctes existent pour spécifier respectivement une limite et la réponse souhaitée. - -La réponse au type du fichier est la façon dont phpMussel répond à l'extension du fichier. Trois directives de configuration facultatives distinctes existent pour spécifier explicitement quelles extensions doivent être mises en liste noire, en liste blanche, ou en liste grise. Un fichier peut être considéré comme effectivement mis sur liste noire, sur liste blanche, ou sur liste grise si son extension correspond respectivement à l'une des extensions spécifiées. - -Dans ces deux contextes, être sur liste blanche signifie qu'il ne doit pas être scanné ou marqué ; être sur la liste noire signifie qu'il devrait être marqué (et n'a donc pas besoin de le scanner) ; et être sur la liste grise signifie une analyse plus approfondie est nécessaire pour déterminer si nous devrions le marquer (c'est-à-dire, qu'il devrait être scanné). - -La liste grise des signatures est une liste de signatures qui devraient être ignorées (ceci est brièvement mentionné plus haut dans la documentation). Quand une signature sur le liste grise des signatures est déclenchée, phpMussel continue à travailler à travers ses signatures et ne prend aucune action particulière en ce qui concerne la signature sur le liste grise. Il n'y a pas de liste noire des signatures, car le comportement implicite est un comportement normal pour les signatures déclenchées en tous cas, et il n'y a pas de liste blanche des signatures, parce que le comportement implicite n'aurait pas vraiment de sens compte tenu du fonctionnement normal de phpMussel et des capacités qu'il possède déjà. - -Le liste grise des signatures est utile si vous avez besoin de résoudre des problèmes causés par une signature particulière sans désactiver ou désinstaller le fichier de signatures entier. - -#### Lorsque j'activer ou désactiver des fichiers de signatures via la page des mises à jour, il les trie de manière alphanumérique dans la configuration. Puis-je changer la façon dont ils sont triés ? - -Oui. Si vous devez forcer l'exécution de certains fichiers dans un ordre spécifique, vous pouvez ajouter des données arbitraires avant leurs noms dans la directive de configuration où elles sont listées, séparées par un signe deux-points. Lorsque la page des mises à jour trie à nouveau les fichiers, ces données arbitraires ajoutées affectent l'ordre de tri, en leur faisant par conséquent exécuter dans l'ordre que vous voulez, sans avoir besoin de renommer l'un d'entre eux. - -Par exemple, en supposant une directive de configuration avec des fichiers listés comme suit : - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -Si vous voulez que `file3.php` s'exécute en premier, vous pouvez ajouter quelque chose comme `aaa:` avant le nom du fichier : - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -Ensuite, si un nouveau fichier, `file6.php`, est activé, lorsque la page des mises à jour les trie à nouveau, elle devrait se terminer comme suit : - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -Inversement, si vous voulez que le fichier s'exécute en dernier, vous pouvez ajouter quelque chose comme `zzz:` avant le nom du fichier. Dans tous les cas, vous n'aurez pas besoin de renommer le fichier en question. - -#### Qu'est-ce qu'un « PDO DSN » ? Comment utiliser PDO avec phpMussel ? - -« PDO » est un acronyme pour « [PHP Data Objects](https://www.php.net/manual/fr/intro.pdo.php) » (objets de données PHP). Il fournit une interface permettant à PHP de se connecter à certains systèmes de base de données communément utilisés par diverses applications PHP. - -« DSN » est un acronyme pour « [data source name](https://fr.wikipedia.org/wiki/Data_Source_Name) » (nom de la source de données). Le « PDO DSN » explique à PDO comment il doit se connecter à une base de données. - -phpMussel offre la possibilité d'utiliser PDO à des fins de mise en cache. Pour que cela fonctionne correctement, vous devez configurer phpMussel en conséquence, activant PDO, créer une nouvelle base de données à utiliser par phpMussel (si vous n'avez pas déjà à l'esprit une base de données que phpMussel peut utiliser), puis créer un nouvelle table dans votre base de données conformément à la structure décrite ci-dessous. - -Quand une connexion à la base de données est réussie, mais la table nécessaire n'existe pas, il tentera de le créer automatiquement. Cependant, ce comportement n'a pas été testé de manière approfondie et le succès ne peut pas être garanti. - -Ceci, bien sûr, ne s'applique que si vous voulez réellement que phpMussel utilise PDO. Si vous êtes assez content que phpMussel utilise la mise en cache de fichiers à plat (selon sa configuration par défaut), ou l'une des autres options de mise en cache fournies, vous n'aurez pas à vous soucier de la configuration de bases de données, de tables, etc. - -La structure décrite ci-dessous utilise « phpmussel » comme nom de base de données, mais vous pouvez utiliser le nom de votre choix pour votre base de données, à condition que ce même nom soit répliqué dans votre configuration DSN. - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -La directive de configuration `pdo_dsn` de phpMussel doit être configurée comme décrit ci-dessous. - -``` -En fonction du pilote de base de données utilisé ... -├─4d (Avertissement : Expérimental, non testé, non recommandé !) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └L'hôte avec lequel se connecter pour trouver la base de données. -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └Le nom de la base de données à -│ │ │ utiliser. -│ │ │ -│ │ └Le numéro de port auquel se connecter. -│ │ -│ └L'hôte avec lequel se connecter pour trouver la base de -│ données. -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └Le nom de la base de données à utiliser. -│ │ │ -│ │ └L'hôte avec lequel se connecter pour trouver la base de -│ │ données. -│ │ -│ └Valeurs possibles : « mssql », « sybase », « dblib ». -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├Peut être un chemin d'accès à un fichier de base de -│ │données local. -│ │ -│ ├Peut se connecter avec un hôte et un numéro de port. -│ │ -│ └Vous devriez vous référer à la documentation Firebird si -│ vous voulez l'utiliser. -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └Avec quelle base de données cataloguée vous connecter. -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └Avec quelle base de données cataloguée vous connecter. -├─mysql (Le plus recommandé !) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └Le numéro de port auquel se -│ │ │ connecter. -│ │ │ -│ │ └L'hôte avec lequel se connecter pour trouver la -│ │ base de données. -│ │ -│ └Le nom de la base de données à utiliser. -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├Peut faire référence à la base de données cataloguée -│ │spécifique. -│ │ -│ ├Peut se connecter avec un hôte et un numéro de port. -│ │ -│ └Vous devriez vous référer à la documentation Oracle si vous -│ voulez l'utiliser. -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├Peut faire référence à la base de données cataloguée spécifique. -│ │ -│ ├Peut se connecter avec un hôte et un numéro de port. -│ │ -│ └Vous devriez vous référer à la documentation ODBC/DB2 si vous voulez -│ l'utiliser. -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └Le nom de la base de données à -│ │ │ utiliser. -│ │ │ -│ │ └Le numéro de port auquel se connecter. -│ │ -│ └L'hôte avec lequel se connecter pour trouver la base de -│ données. -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └Le chemin d'accès au fichier de base de données local à utiliser. -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └Le nom de la base de données à - │ │ utiliser. - │ │ - │ └Le numéro de port auquel se connecter. - │ - └L'hôte avec lequel se connecter pour trouver la base de - données. -``` - -Si vous ne savez pas quoi utiliser pour une partie particulière de votre DSN, essayez tout d'abord de voir si cela fonctionne tel quel, sans rien changer. - -Notez que `pdo_username` et` pdo_password` devraient être identiques au nom d'utilisateur et au mot de passe que vous avez choisis pour votre base de données. - -#### Ma fonctionnalité de téléchargement est asynchrone (par exemple, utilise ajax, ajaj, json, etc). Je ne vois aucun message ni avertissement spécial lorsqu'un téléchargement est bloqué. Que se passe-t-il ? - -C'est normal. La page « Téléchargement Refusé » standard de phpMussel est servie au format HTML, ce qui devrait être suffisant pour les requêtes synchrones typiques, mais ce qui ne sera probablement pas suffisant si votre fonctionnalité de téléchargement s'attend à autre chose. Si votre fonctionnalité de téléchargement est asynchrone ou s'attend à ce qu'un statut de téléchargement soit traité de manière asynchrone, vous pouvez essayer de faire certaines choses pour que phpMussel réponde aux besoins de votre fonctionnalité de téléchargement. - -1. Création d'un modèle de sortie personnalisé pour servir autre chose que HTML. -2. Création d'un plugin personnalisé pour contourner entièrement la page standard « Téléchargement Refusé » et demander au gestionnaire de téléchargement de faire autre chose lorsqu'un téléchargement est bloqué (il y a des points de code fournis par le gestionnaire de téléchargement qui pourraient être utiles pour cela). -3. Désactiver entièrement le gestionnaire de téléchargement et simplement appeler l'API phpMussel de votre fonctionnalité de téléchargement. - -#### phpMussel peut-il détecter EICAR ? - -Oui. Une signature pour détecter EICAR est incluse dans le « fichier de signature d'expressions régulières standard de phpMussel » (`phpmussel_regex.db`). Tant que ce fichier de signature est installé et activé, phpMussel devrait être capable de détecter EICAR. Étant donné que la base de données ClamAV comprend également de nombreuses signatures spécifiquement pour la détection d'EICAR, ClamAV peut facilement détecter EICAR, mais puisque phpMussel n'utilise qu'un sous-ensemble réduit du total des signatures fournies par ClamAV, elles pourraient ne pas être suffisantes à elles seules pour que phpMussel détecte EICAR. La capacité de le détecter peut également dépendre de votre configuration exacte. - ---- - - -### 11. INFORMATION LÉGALE - -#### 11.0 PRÉAMBULE DE LA SECTION - -Cette section de la documentation est destinée à décrire les considérations juridiques possibles concernant l'utilisation et la mise en œuvre du paquet, et de fournir quelques informations de base connexes. Cela peut être important pour certains utilisateurs afin de garantir le respect des exigences légales qui peuvent exister dans les pays où ils opèrent, et certains utilisateurs peuvent avoir besoin d'ajuster leurs politiques de site Web conformément à cette information. - -Tout d'abord, s'il vous plaît se rendre compte que je (l'auteur du paquet) ne suis pas un avocat, ni un professionnel juridique qualifié de toute nature. Par conséquent, je ne suis pas légalement qualifié pour fournir des conseils juridiques. Aussi, dans certains cas, les exigences légales peuvent varier selon les pays et les juridictions, et ces différentes exigences juridiques peuvent parfois entrer en conflit (comme, par exemple, dans le cas des pays qui favorisent le droit à la [vie privée](https://fr.wikipedia.org/wiki/Vie_priv%C3%A9e) et le [droit à l'oubli](https://fr.wikipedia.org/wiki/Droit_%C3%A0_l%27oubli), par rapport aux pays qui favorisent la [conversation des données](https://fr.wikipedia.org/wiki/Conservation_des_donn%C3%A9es) étendue). Considérons également que l'accès au paquet n'est pas limité à des pays ou des juridictions spécifiques, et par conséquent, la base d'utilisateurs du paquet est susceptible de la diversité géographique. Ces points pris en compte, je ne suis pas en mesure de dire ce que cela signifie d'être « conforme à la loi » pour tous les utilisateurs, à tous égards. Cependant, j'espère que les informations contenues dans le présent document vous aideront à prendre vous-même une décision concernant ce que vous devez faire pour rester juridiquement conforme dans le cadre du paquet. Si vous avez des doutes ou des préoccupations concernant les informations contenues dans le présent document, ou si vous avez besoin d'aide supplémentaire et de conseils d'un point de vue juridique, je recommande de consulter un professionnel du droit qualifié. - -#### 11.1 RESPONSABILITÉ - -Comme déjà indiqué par la licence de paquet, le paquet est fourni sans aucune garantie. Cela inclut (mais n'est pas limité à) toute la portée de la responsabilité. Le paquet est fourni pour votre commodité, dans l'espoir qu'il vous sera utile, et qu'il vous apportera un certain avantage. Cependant, que vous utilisiez ou implémentiez le package, vous avez le choix. Vous n'êtes pas obligé d'utiliser ou de mettre en œuvre le package, mais lorsque vous le faites, vous êtes responsable de cette décision. Ni moi, ni aucun autre contributeur au paquet, ne sommes légalement responsables des conséquences des décisions que vous prenez, qu'elles soient directes, indirectes, implicites ou autres. - -#### 11.2 TIERS - -En fonction de sa configuration et de son implémentation exactes, le paquet peut communiquer et partager des informations avec des tiers dans certains cas. Ces informations peuvent être définies comme des « [données personnelles](https://fr.wikipedia.org/wiki/Donn%C3%A9es_personnelles) » (PII) dans certains contextes, par certaines juridictions. - -La manière dont ces informations peuvent être utilisées par ces tiers est soumise aux différentes politiques énoncées par ces tiers et ne relève pas de cette documentation. Cependant, dans tous ces cas, le partage d'informations avec ces tiers peut être désactivé. Dans tous ces cas, si vous choisissez de l'activer, vous êtes responsable de rechercher toute préoccupation que vous pourriez avoir concernant la confidentialité, la sécurité, et l'utilisation des informations personnelles par ces tiers. Si des doutes existent, ou si vous n'êtes pas satisfait de la conduite de ces tiers en ce qui concerne les PII, il peut être préférable de désactiver tout partage d'informations avec ces tiers. - -Dans un souci de transparence, le type d'informations partagées, et avec qui, est décrit ci-dessous. - -##### 11.2.0 WEBFONTS - -Certains thèmes personnalisés, et aussi l'interface utilisateur standard pour l'accès frontal de phpMussel, et la page « Téléchargement Refusé », peuvent utiliser des webfonts pour des raisons esthétiques. Les webfonts sont désactivées par défaut, mais lorsqu'elles sont activées, la communication directe entre le navigateur de l'utilisateur et le service hébergeant les webfonts produit. Cela peut éventuellement impliquer la communication d'informations telles que l'adresse IP de l'utilisateur, l'agent utilisateur, le système d'exploitation et d'autres informations disponibles à la demande. La plupart de ces webfonts sont hébergées par le service [Google Fonts](https://fonts.google.com/). - -*Directives de configuration pertinentes :* -- `general` -> `disable_webfonts` - -##### 11.2.1 SCANNER D'URL - -Les URL trouvées dans les téléchargements de fichiers peuvent être partagées avec l'API Google Safe Browsing, en fonction de la configuration du package. L'API Google Safe Browsing requiert des clés API pour fonctionner correctement, et est donc désactivée par défaut. - -*Directives de configuration pertinentes :* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -Lorsque phpMussel analyse un téléchargement de fichier, les hachages de ces fichiers peuvent être partagés avec l'API Virus Total, en fonction de la configuration du package. Il est prévu de pouvoir partager des fichiers entiers à un moment donné dans le futur, mais cette fonctionnalité n'est pas supportée par le paquet pour le moment. L'API Virus Total requiert une clé API pour fonctionner correctement, et est donc désactivée par défaut. - -Les informations (y compris les fichiers et métadonnées de fichiers associés) partagées avec Virus Total peuvent également être partagées avec leurs partenaires, affiliés, et divers autres à des fins de recherche. Ceci est décrit plus en détail par leur politique de confidentialité. - -*Voir : [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*Directives de configuration pertinentes :* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 JOURNALISATION - -La journalisation est une partie importante de phpMussel pour un certain nombre de raisons. Sans la journalisation, il peut être difficile de diagnostiquer des faux positifs, de déterminer exactement comment phpMussel est performant dans un contexte particulier, et de déterminer où ses lacunes peuvent être, et quels changements peuvent être nécessaires à sa configuration ou à ses signatures en conséquence, afin de continuer à fonctionner comme prévu. Quoi qu'il en soit, la journalisation peut ne pas être souhaitable pour tous les utilisateurs, et reste entièrement facultative. Dans phpMussel, la journalisation est désactivée par défaut. Pour l'activer, phpMussel doit être configuré en accord. - -Aditionellement, si la journalisation est légalement autorisée, et dans la mesure où elle est légalement permise (par exemple, les types d'informations pouvant être journalisées, pendant combien de temps, et dans quelles circonstances), peut varier, selon la juridiction et le contexte dans lequel phpMussel est mis en œuvre (par exemple, si vous opérez en tant qu'individu, en tant qu'entreprise, et si sur une base commerciale ou non-commerciale). Il peut donc être utile pour que vous lisiez attentivement cette section. - -Il existe plusieurs types de journalisation que phpMussel peut effectuer. Différents types de journalisation impliquent différents types d'informations, pour différentes raisons. - -##### 11.3.0 JOURNAUX D'ANALYSE - -Lorsqu'il est activé dans la configuration du paquet, phpMussel conserve les journaux des fichiers qu'il analyse. Ce type de journalisation est disponible en deux formats différents : -- Fichiers journaux lisibles par l'homme. -- Fichiers journaux sérialisés. - -Les entrées d'un fichier journal lisible par un humain, ressemblent généralement à ceci (à titre d'exemple) : - -``` -Mon, 21 May 2018 00:47:58 +0800 Commencé. -> Vérification 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5) : --> Détecté phpMussel-Testfile.ASCII.Standard ! -Mon, 21 May 2018 00:48:04 +0800 Terminé. -``` - -Une entrée de journal d'analyse inclut généralement les informations suivantes : -- La date et l'heure auxquelles le fichier a été analysé. -- Le nom du fichier analysé. -- CRC32b hashes du nom et du contenu du fichier. -- Ce qui a été détecté dans le fichier (si quelque chose a été détecté). - -*Directives de configuration pertinentes :* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -Lorsque ces directives sont laissées vides, ce type de journalisation reste désactivé. - -##### 11.3.1 SCAN KILLS - -Lorsqu'il est activé dans la configuration du paquet, phpMussel conserve les journaux des téléchargements qui ont été bloqués. - -Les entrées d'un fichier journal pour les « scan kills » ressemblent généralement à ceci (à titre d'exemple) : - -``` -Date : Mon, 21 May 2018 00:47:56 +0800 -Adresse IP : 127.0.0.1 -== Résultats d'analyse (pourquoi marqué) == -Détecté phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt) ! -== Reconstruction de signatures hachage == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -Mis en quarantaine comme « /vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu ». -``` - -Une entrée pour les « scan kills » inclut généralement les informations suivantes : -- La date et l'heure auxquelles le téléchargement a été bloqué. -- L'adresse IP d'origine du téléchargement. -- La raison pour laquelle le fichier a été bloqué (ce qui a été détecté). -- Le nom du fichier bloqué. -- Un MD5 et la taille du fichier bloqué. -- Si le fichier a été mis en quarantaine, et sous quel nom interne. - -*Directives de configuration pertinentes :* -- `general` -> `scan_kills` - -##### 11.3.2 JOURNALISATION FRONTALE - -Ce type de journalisation concerne les tentatives de connexion frontale, et se produit uniquement lorsqu'un utilisateur tente de se connecter à l'accès frontal (en supposant que l'accès frontal est activé). - -Une entrée de journal frontal contient l'adresse IP de l'utilisateur qui tente de se connecter, la date et l'heure de la tentative, et les résultats de la tentative (connecté avec succès ou sans succès). Une entrée de journal frontal ressemble généralement à ceci (à titre d'exemple) : - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - Connecté. -``` - -*Directives de configuration pertinentes :* -- `general` -> `frontend_log` - -##### 11.3.3 ROTATION DES JOURNAUX - -Vous voudrez peut-être purger les journaux après un certain temps, ou peut être requis de le faire par la loi (c'est à dire, la durée légale de la conservation des journaux peut être limitée par la loi). Vous pouvez y parvenir en incluant des marqueurs de date/heure dans les noms de vos fichiers journaux (par exemple, `{yyyy}-{mm}-{dd}.log`), conformément à la configuration de votre package, puis en activant la rotation des journaux (la rotation des journaux vous permet d'effectuer des actions sur les fichiers journaux lorsque les limites spécifiées sont dépassées). - -Par exemple : Si j'étais légalement tenu de supprimer les journaux après 30 jours, je pourrais spécifier `{dd}.log` dans les noms de mes fichiers journaux (`{dd}` représente les jours), définir la valeur de `log_rotation_limit` à 30, et définir la valeur de `log_rotation_action` à `Delete`. - -À l'inverse, si vous devez conserver les journaux pendant une période prolongée, vous ne pouvez pas utiliser la rotation des journaux, ou vous pouvez définir la valeur de `log_rotation_action` à `Archive`, pour compresser les fichiers journaux, réduisant ainsi la quantité totale d'espace disque qu'ils occupent. - -*Directives de configuration pertinentes :* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 TRONCATION DES JOURNAUX - -Il est également possible de tronquer des fichiers journaux individuels lorsqu'ils dépassent une certaine taille, si c'est quelque chose que vous pourriez avoir besoin ou que vous voulez faire. - -*Directives de configuration pertinentes :* -- `general` -> `truncate` - -##### 11.3.5 PSEUDONYMISATION D'ADRESSE IP - -Premièrement, si vous n'êtes pas familier avec le terme, « pseudonymisation » se réfère au traitement des données personnelles en tant que tel, il ne peut plus être identifié à une personne concernée sans information supplémentaire, et à condition que ces informations supplémentaires soient conservées séparément, et soumis à des mesures techniques et organisationnelles pour s'assurer que les données personnelles ne peuvent être identifiées à aucune personnes naturelles. - -Les ressources suivantes peuvent aider à l'expliquer plus en détail : -- [[les-infostrateges.com] RGPD : entre anonymisation et pseudonymisation](https://www.les-infostrateges.com/actu/18012505/rgpd-entre-anonymisation-et-pseudonymisation) -- [[Wikipedia] Pseudonymisation](https://fr.wikipedia.org/wiki/Pseudonymisation) - -Dans certaines circonstances, vous pouvez être légalement requis d'anonymiser ou de pseudonymiser toute PII collectée, traitée, ou stockée. Bien que ce concept existe depuis longtemps, le GDPR/DSGVO mentionne notamment, et encourage spécifiquement la « pseudonymisation ». - -phpMussel est capable de pseudonymiser les adresses IP lors de la connexion, si c'est quelque chose que vous pourriez avoir besoin ou que vous voulez faire. Lorsque phpMussel pseudonymise les adresses IP, lorsqu'il est connecté, l'octet final des adresses IPv4, et tout ce qui suit la deuxième partie des adresses IPv6 est représenté par un « x » (arrondir efficacement les adresses IPv4 à l'adresse initiale du 24ème sous-réseau dans lequel elles sont factorisées, et les adresses IPv6 à l'adresse initiale du 32ème sous-réseau dans lequel elles sont factorisées). - -*Directives de configuration pertinentes :* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 STATISTIQUES - -phpMussel est facultativement capable de suivre des statistiques telles que le nombre total de fichiers analysés et bloqués depuis un certain moment. Cette fonctionnalité est désactivée par défaut, mais peut être activée via la configuration du package. Le type d'informations suivies ne doit pas être considéré comme les PII. - -*Directives de configuration pertinentes :* -- `general` -> `statistics` - -##### 11.3.7 CRYPTAGE - -phpMussel ne crypte pas son cache ou aucune information de journal. Le [cryptage](https://fr.wikipedia.org/wiki/Chiffrement) des cache et des journaux peuvent être introduits à l'avenir, mais il n'existe actuellement aucun plan spécifique. Si vous craignez que des tiers non autorisés puissent accéder à des parties de phpMussel pouvant contenir des informations personnelles/sensibles telles que son cache ou ses journaux, je recommanderais que phpMussel ne soit pas installé dans un endroit accessible au public (par exemple, installer phpMussel en dehors du répertoire `public_html` standard ou équivalent disponible pour la plupart des serveurs web standard) et et que des autorisations appropriées restrictives soient appliquées pour le répertoire où il réside (en particulier, pour le répertoire vault). Si ce n'est pas suffisant pour répondre à vos préoccupations, configurez phpMussel de telle sorte que les types d'informations à l'origine de vos préoccupations ne soient pas collectées ou journalisées en premier lieu (tel que en désactivant la journalisation). - -#### 11.4 COOKIES - -Lorsqu'un utilisateur se connecte avec succès à l'accès frontal, phpMussel définit un cookie afin de pouvoir se souvenir de l'utilisateur pour les demandes suivantes (c'est à dire, les cookies sont utilisés pour authentifier l'utilisateur à une session de connexion). Sur la page de connexion, un avertissement de cookie est affiché en évidence, avertissant l'utilisateur qu'un cookie sera défini s'il s'engage dans l'action correspondante. Les cookies ne sont définis à aucun autre endroit du code. - -*Directives de configuration pertinentes :* -- `general` -> `disable_frontend` - -#### 11.5 COMMERCIALISATION ET PUBLICITÉ - -phpMussel ni collecte ni traite aucune information à des fins de commercialisation ou de publicité, et ni vend ni profite d'aucune information collectée ou journalisée. phpMussel n'est pas une entreprise commerciale, et n'est pas lié à des intérêts commerciaux, donc faire ces choses n'aurait aucun sens. Cela a été le cas depuis le début du projet, et continue d'être le cas aujourd'hui. Aditionellement, faire ces choses serait contre-productif à l'esprit et à l'objectif du projet dans son ensemble, et aussi longtemps que je continuerai à maintenir le projet, cela n'arrivera jamais. - -#### 11.6 POLITIQUE DE CONFIDENTIALITÉ - -Dans certaines circonstances, vous pouvez être légalement tenu d'afficher clairement un lien vers votre politique de confidentialité sur toutes les pages et sections de votre site Web. Cela peut être important pour s'assurer que les utilisateurs sont bien informés de vos pratiques exactes de confidentialité, les types de PII que vous collectez, et comment vous avez l'intention de l'utiliser. Afin de pouvoir inclure un lien sur la page « Téléchargement Refusé » de phpMussel, une directive de configuration est fournie pour spécifier l'URL de votre politique de confidentialité. - -*Directives de configuration pertinentes :* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -Le règlement général sur la protection des données (GDPR) est un règlement de l'Union européenne qui entrera en vigueur le 25 Mai 2018. L'objectif principal de la réglementation est de permettre aux citoyens et aux résidents de l'UE de contrôler leurs propres données personnelles et d'unifier la réglementation au sein de l'UE en matière de vie privée et de données personnelles. - -Le règlement contient des dispositions spécifiques relatives au traitement [des informations personnelles identifiables](https://fr.wikipedia.org/wiki/Donn%C3%A9es_personnelles) de toute « personne concernée » (toute personne physique identifiée ou identifiable) provenant ou provenant de l'UE. Pour être conforme à la réglementation, les « entreprises » (telles que définies par la réglementation) et tous les systèmes et processus pertinents doivent implémenter « [protection de la vie privée dès la conception](https://fr.wikipedia.org/wiki/Protection_de_la_vie_priv%C3%A9e_d%C3%A8s_la_conception) » par défaut, doivent utiliser les paramètres de confidentialité les plus élevés possibles, doivent mettre en œuvre les garanties nécessaires pour toute information stockée ou traitée (y compris, mais sans s'y limiter, la mise en œuvre de la pseudonymisation ou l'anonymisation complète des données), doivent déclarer clairement et sans ambiguïté les types de données qu'ils collectent, comment ils les traitent, pour quelles raisons, pour combien de temps ils les conservent, et s'ils partagent ces données avec des tiers, les types de données partagées avec des tiers, comment, pourquoi, et ainsi de suite. - -Les données ne peuvent pas être traitées à moins qu'il y ait une base légale pour le faire, tel que défini par le règlement. En général, cela signifie que pour traiter les données d'une personne concernée sur une base légale, cela doit être fait conformément aux obligations légales, ou seulement après qu'un consentement explicite, bien informé et sans ambiguïté a été obtenu de la personne concernée. - -Étant donné que certains aspects de la réglementation peuvent évoluer dans le temps, afin d'éviter la propagation d'informations périmées, il peut être préférable de connaître la réglementation auprès d'une source autorisée, par opposition à simplement inclure les informations pertinentes ici dans la documentation du paquet (dont peut éventuellement devenir obsolète à mesure que la réglementation évolue). - -[EUR-Lex](https://eur-lex.europa.eu/) (une partie du site officiel de l'Union européenne qui fournit des informations sur le droit de l'UE) fournit des informations détaillées sur GDPR/DSGVO, disponible en 24 langues différentes (au moment de la rédaction de ce document), et disponible en téléchargement au format PDF. Je recommande vivement de lire les informations qu'ils fournissent, afin d'en savoir plus sur GDPR/DSGVO : -- [RÈGLEMENT (UE) 2016/679 DU PARLEMENT EUROPÉEN ET DU CONSEIL](https://eur-lex.europa.eu/legal-content/FR/TXT/?uri=celex:32016R0679) - -Alternativement, il y a un bref aperçu (non autorisé) de GDPR/DSGVO disponible sur Wikipedia : -- [Règlement général sur la protection des données](https://fr.wikipedia.org/wiki/R%C3%A8glement_g%C3%A9n%C3%A9ral_sur_la_protection_des_donn%C3%A9es) - ---- - - -Dernière mise à jour : 12 Mai 2022 (2022.05.12). diff --git a/v2-and-earlier/readme.id.md b/v2-and-earlier/readme.id.md deleted file mode 100644 index 72800e1..0000000 --- a/v2-and-earlier/readme.id.md +++ /dev/null @@ -1,1712 +0,0 @@ -## Dokumentasi untuk phpMussel v2 (Bahasa Indonesia). - -### Isi -- 1. [SEPATAH KATA](#SECTION1) -- 2. [BAGAIMANA CARA MENGINSTAL](#SECTION2) -- 3. [BAGAIMANA CARA MENGGUNAKAN](#SECTION3) -- 4. [MANAJEMEN BAGIAN DEPAN](#SECTION4) -- 5. [CLI (COMMAND LINE INTERFACE)](#SECTION5) -- 6. [FILE YANG DIIKUTKAN DALAM PAKET INI](#SECTION6) -- 7. [OPSI KONFIGURASI](#SECTION7) -- 8. [FORMAT TANDA TANGAN](#SECTION8) -- 9. [MASALAH KOMPATIBILITAS DIKETAHUI](#SECTION9) -- 10. [PERTANYAAN YANG SERING DIAJUKAN (FAQ)](#SECTION10) -- 11. [INFORMASI HUKUM](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. SEPATAH KATA - -Terima kasih untuk menggunakan phpMussel, sebuah skrip PHP di-design untuk mendeteksi trojan-trojan, virus-virus dan serangan-serangan lainnya dalam file-file diupload ke sistem Anda dimana saja skrip di kaitkan, berdasarkan tanda tangan dari ClamAV dan lain-lain. - -[PHPMUSSEL](https://phpmussel.github.io/) HAK CIPTA 2013 dan di atas GNU/GPLv2 oleh [Caleb M (Maikuolan)](https://github.com/Maikuolan). - -Skrip ini adalah perangkat lunak gratis; Anda dapat mendistribusikan kembali dan/atau memodifikasinya dalam batasan dari GNU General Public License, seperti di publikasikan dari Free Software Foundation; baik versi 2 dari License, atau (dalam opsi Anda) versi selanjutnya apapun. Skrip ini didistribusikan untuk harapan dapat digunakan tapi TANPA JAMINAN; tanpa walaupun garansi dari DIPERJUALBELIKAN atau KECOCOKAN UNTUK TUJUAN TERTENTU. Mohon Lihat GNU General Public Licence untuk lebih detail, terletak di file `LICENSE.txt` dan tersedia juga dari: -- . -- . - -Terima kasih khususnya untuk ClamAV buat inspirasi project dan tanda tangan dimana skrip ini menggunakan ClamAV, tanpa nya skrip ini tidak akan ada, atau akan mengalami nilai yang kurang baik. - -Khusus terima kasih kepada SourceForge, Bitbucket dan GitHub untuk menghost file proyek, dan kepada sumber-sumber tambahan tanda tangan dimanfaatkan oleh phpMussel: [PhishTank](https://www.phishtank.com/), [NLNetLabs](https://nlnetlabs.nl/), [Malware.Expert](https://malware.expert/) dan lain-lain, dan khusus terima kasih kepada semua orang yang mendukung proyek, kepada orang lain bahwa saya mungkin telah dinyatakan lupa untuk menyebutkan, dan kepada Anda, untuk menggunakan skrip. - -Dokumen ini dan paket terhubung di dalamnya dapat di unduh secara gratis dari: -- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -### 2. BAGAIMANA CARA MENGINSTAL - -#### 2.0 MENGINSTAL SECARA MANUAL (UNTUK SERVER WEB) - -1) Dengan membaca ini, Saya asumsikan Anda telah mengunduh dan menyimpan copy dari skrip, membuka data terkompres dan isinya dan Anda meletakkannya pada mesin komputer lokal Anda. Dari sini, Anda akan latihan dimana di host Anda atau CMS Anda untuk meletakkan isi data terkompres nya. Sebuah direktori seperti `/public_html/phpmussel/` atau yang lain (walaupun tidak masalah Anda memilih direktori apa, selama dia aman dan dimana pun yang Anda senangi) akan mencukupi. *Sebelum Anda mulai upload, mohon baca dulu..* - -2) Mengubah file nama `config.ini.RenameMe` ke `config.ini` (berada di dalam `vault`), dan secara fakultatif (sangat direkomendasikan untuk user dengan pengalaman lebih lanjut, tapi tidak untuk pemula atau yang tidak berpengalaman), membukanya (file ini berisikan semua opsi operasional yang tersedia untuk phpMussel; di atas tiap opsi seharusnya ada komentar tegas menguraikan tentang apa yang dilakukan dan untuk apa). Atur opsi-opsi ini seperti Anda lihat cocok, seperti apapun yang cocok untuk setup tertentu. Simpan file, menutupnya. - -3) Upload isi (phpMussel dan file-filenya) ke direktori yang telah kamu putuskan sebelumnya (Anda tidak memerlukan file-file `*.txt`/`*.md`, tapi kebanyakan Anda harus mengupload semuanya). - -4) Gunakan perinta CHMOD ke direktori `vault` dengan "755" (jika ada masalah, Anda dapat mencoba "777", tapi ini kurang aman). Direktori utama menyimpan isinya (yang Anda putuskan sebelumnya), umumnya dapat di biarkan sendirian, tapi status perintah "CHMOD" seharusnya di cek jika kamu punya izin di sistem Anda (defaultnya, seperti "755"). Pendeknya: Agar paket berfungsi dengan benar, PHP harus dapat membaca dan menulis file di dalam direktori `vault`. Banyak hal (memperbarui, pencatatan, dll) tidak akan mungkin, jika PHP tidak dapat menulis ke direktori `vault`, dan paket tidak akan berfungsi sama sekali jika PHP tidak dapat membaca dari direktori `vault`. Namun, untuk keamanan optimal, direktori `vault` TIDAK harus dapat diakses publik (informasi sensitif, seperti informasi yang dikandung oleh `config.ini` atau `frontend.dat`, dapat diekspos kepada penyerang potensial jika direktori `vault` dapat diakses oleh publik). - -5) Instal semua tanda tangan yang Anda perlukan. *Lihat: [MENGINSTAL TANDA TANGAN](#INSTALLING_SIGNATURES).* - -6) Selanjutnya Anda perlu menghubungkan phpMussel ke sistem atau CMS. Ada beberapa cara yang berbeda untuk menghubungkan skrip seperti phpMussel ke sistem atau CMS, tapi yang paling mudah adalah memasukkan skrip pada permulaan dari file murni dari sistem atau CMS (satu yang akan secara umum di muat ketika seseorang mengakses halaman apapun pada website) berdasarkan pernyataan `require` atau `include`. Umumnya, ini akan menjadi sesuatu yang disimpan di sebuah direktori seperti `/includes`, `/assets` atau `/functions` dan akan selalu di namai sesuatu seperti `init.php`, `common_functions.php`, `functions.php` atau yang sama. Anda harus bekerja pada file apa untuk situasi ini; Jika Anda mengalami kesulitan dalam menentukan ini untuk diri sendiri, kunjungi halaman issues (issues) phpMussel di GitHub atau forum dukungan phpMussel untuk bantuan; Ada kemungkinan bahwa saya sendiri atau pengguna lain mungkin memiliki pengalaman dengan CMS yang Anda gunakan (Anda harus memberitahu kami tahu mana CMS yang Anda gunakan), dan demikian, mungkin dapat memberikan beberapa bantuan kepada Anda. Untuk melakukannya [menggunakan `require` atau `include`], sisipkan baris kode dibawah pada file murni, menggantikan kata-kata berisikan didalam tanda kutip dari alamat file `loader.php` (alamat lokal, tidak alamat HTTP; akan terlihat seperti alamat vault yang di bicarakan sebelumnya). - -`` - -Simpan file dan menutupnya. Upload kembali. - --- ATAU ALTERNATIF -- - -Jika Anda menggunakan webserver Apache dan jika Anda memiliki akses ke `php.ini`, Anda dapat menggunakan `auto_prepend_file` direktif untuk tambahkan phpMussel setiap kali ada permintaan PHP dibuat. Sesuatu seperti: - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -Atau ini di file `.htaccess`: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) Pada titik ini, kamu telah selesai! Bagaimanapun, kamu mungkin seharusnya mencobanya untuk melihat dia bekerja dengan dengan baik. Untuk mencoba file keamanan upload, coba mengupload file-file testing yang dimasukkan dalam paket di `.tests/samples` ke website Anda melalui metode upload di browser Anda. (Pastikan Anda menyertakan file tanda tangan `phpmussel*.*db` di direktif konfigurasi `active` untuk memicu file-file test). Jika semua bekerja dengan baik, sebuah pesan akan muncul dari phpMussel mengkonfirmasikan bahwa upload sudah sukses di blok. Jika tidak ada yang terjadi, ada sesuatu yang tidak bekerja dengan baik. Jika Anda menggunakan fitur-fitur lanjut atau jika Anda menggunakan tipe-tipe yang lain untuk memeriksa mungkin dengan alat-alat itu, saya sarankan mencoba dengan nya untuk memastikan dia bekerja seperti yang diharapkan juga. - -#### 2.1 MENGINSTAL SECARA MANUAL (UNTUK CLI) - -1) Dengan membaca ini, Saya asumsikan Anda telah mengunduh data terkompres nya dan menguraikan isi nya pada mesin komputer lokal Anda. Setelah Anda telah memilih lokasi dari phpMussel, lanjutkan. - -2) phpMussel memerlukan PHP untuk diinstall pada mesin host untuk mengeksekusinya. Jika Anda tidak memiliki PHP pada mesin Anda, ikuti instruksi yang di supply oleh installer PHP. - -3) Secara fakultatif (sangat direkomendasikan untuk user dengan pengalaman lebih lanjut, tapi tidak untuk pemula atau yang tidak berpengalaman), buka `config.ini` (berada di dalam `vault`) – File ini berisikan semua opsi operasional yang tersedia untuk phpMussel. Di atas tiap opsi seharusnya ada komentar tegas menguraikan tentang apa yang dilakukan dan untuk apa. Atur opsi-opsi ini seperti Anda lihat cocok, seperti apapun yang cocok untuk setup tertentu. Simpan file, menutupnya. - -4) Secara fakultatif, Anda dapat menggunakan phpMussel di dalam mode CLI untuk diri Anda sendiri dengan menciptakan file batch untuk secara automatis memuat PHP dan phpMussel. Untuk melakukannya, buka sebuah text editor kosong seperti Notepad atau Notepad++, ketikkan jalur dari file `php.exe` di dalam direktori dari instalasi PHP Anda, diikuti spasi, diikuti dengan jalur lengkap dari file `loader.php` di dalam direktori dari instalasi phpMussel, simpan file dengan ekstensi `.bat` di simpan di tempat yang Anda mudah temukan dan klik dua kali pada file itu untuk menjalankan phpMussel di masa yang akan datang. - -5) Instal semua tanda tangan yang Anda perlukan. *Lihat: [MENGINSTAL TANDA TANGAN](#INSTALLING_SIGNATURES).* - -6) Pada titik ini, Anda selesai! Bagaimanapun Anda seharusnya mencobanya untuk memastikan berjalan dengan lancar. Untuk mencek phpMussel, jalankan phpMussel dan coba memindai `.tests/samples` direktori yang disediakan dengan ini paket. - -#### 2.2 MENGINSTAL DENGAN COMPOSER - -[phpMussel terdaftar dengan Packagist](https://packagist.org/packages/phpmussel/phpmussel). Jika Anda akrab dengan Composer, Anda dapat menggunakan Composer untuk menginstal phpMussel (Anda masih perlu mempersiapkan konfigurasi, izin, tanda tangan dan kait meskipun; melihat "menginstal secara manual (untuk server web)" langkah 2, 4, 5, dan 6). - -`composer require phpmussel/phpmussel` - -#### 2.3 MENGINSTAL TANDA TANGAN - -Sejak v1.0.0, tanda tangan tidak termasuk dalam paket phpMussel. Tanda tangan dibutuhkan oleh phpMussel untuk mendeteksi ancaman tertentu. Ada 3 metode utama untuk menginstal tanda tangan: - -1. Instal secara otomatis menggunakan halaman pembaruan dari bagian depan. -2. Buat tanda tangan menggunakan "SigTool" dan instal secara manual. -3. Download tanda tangan dari "phpMussel/Signatures" dan instal secara manual. - -##### 2.3.1 Instal secara otomatis menggunakan halaman pembaruan dari bagian depan. - -Pertama, Anda harus memastikan bahwa akses bagian depan diaktifkan. *Lihat: [MANAJEMEN BAGIAN DEPAN](#SECTION4).* - -Kemudian, semua yang Anda perlu lakukan adalah pergi ke halaman pembaruan dari bagian depan, cari file tanda tangan yang diperlukan, dan menggunakan pilihan yang tersedia di halaman, menginstalnya, dan mengaktifkannya. - -##### 2.3.2 Buat tanda tangan menggunakan "SigTool" dan instal secara manual. - -*Lihat: [Dokumentasi SigTool](https://github.com/phpMussel/SigTool#documentation).* - -*Juga mencatat: SigTool hanya memproses tanda tangan dari ClamAV. Untuk mendapatkan tanda tangan dari sumber lain, seperti yang ditulis khusus untuk phpMussel, yang mencakup tanda tangan yang diperlukan untuk mendeteksi sampel uji phpMussel, metode ini perlu ditambah dengan salah satu metode lain yang disebutkan disini.* - -##### 2.3.3 Download tanda tangan dari "phpMussel/Signatures" dan instal secara manual. - -Pertama, pergi ke [phpMussel/Signatures](https://github.com/phpMussel/Signatures). Repositori berisi berbagai file tanda tangan yang GZ-dikompres. Download file yang Anda perlukan, dekompresi mereka, dan salin file yang didekompresi ke direktori `/vault/signatures` untuk menginstalnya. Cantumkan nama file yang disalin ke direktif `active` dalam konfigurasi phpMussel Anda untuk mengaktifkannya. - ---- - - -### 3. BAGAIMANA CARA MENGGUNAKAN - -#### 3.0 BAGAIMANA CARA MENGGUNAKAN (UNTUK SERVER WEB) - -phpMussel harus mampu beroperasi benar dengan persyaratan minimal darimu: Setelah instalasi, harus bekerja segera dan harus berguna segera. - -Memindai upload file secara automatis dan di mungkinkan secara default, jadi tidak ada yang diharuskan pada Anda untuk fungsi ini. - -Bagaimanapun, Anda juga bisa menginstruksikan phpMussel untuk memindai file, direktori dan/atau arsip spesifik. Untuk melakukannya, pertama-tama Anda harus memastikan konfigurasi yang cocok diset di file `config.ini` (`cleanup` harus dinonaktifkan) dan ketika selesai, di sebuah file PHP yang di hubungkan ke phpMussel, gunakan fungsi berikut pada kode Anda: - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan` dapat berupa string, array, atau array mengandung array-array, mengindikasikan apa file, file-file, direktori dan/atau direktori-direktori untuk memindai. -- `$output_type` adalah boolean, mengindikasikan format untuk hasil pemindaian untuk dikembalikan sebagai. `false` menginstruksikan fungsi untuk mengembalikan hasil sebagai integer. `true` menginstruksikan fungsi untuk mengembalikan hasil sebagai teks yang dapat dibaca manusia. Tambahan, dalam kedua kasus, hasilnya dapat diakses melalui variabel global setelah memindai selesai. Variabel ini adalah opsional, default untuk `false`. Berikut ini adalah deskripsi untuk hasil integer: - -| Hasil | Deskripsi | -|---|---| -| -4 | Mengindikasikan bahwa data tidak dapat dipindai karena enkripsi. | -| -3 | Mengindikasikan bahwa masalah adalah ditemui dengan file tanda tangan phpMussel. | -| -2 | Mengindikasikan bahwa file dikorup terdeteksi selama proses memindai dan proses memindai gagal selesai. | -| -1 | Mengindikasikan bahwa ekstensi atau addon yang dibutuhkan oleh PHP untuk mengeksekusi pemindaian hilang dan demikian gagal selesai. | -| 0 | Mengindikasikan bahwa target pemindaian tidak ada dan tidak ada yang dipindai. | -| 1 | Mengindikasikan bahwa target sukses dipindai dan tidak ada masalah terdeteksi. | -| 2 | Mengindikasikan target sukses di scan namun ada masalah terdeteksi. | - -- `$output_flatness` adalah boolean, mengindikasikan ke fungsi apakah akan mengembalikan hasil pemindaian (ketika ada beberapa target pemindaian) sebagai array atau string. `false` akan mengembalikan hasil sebagai array. `true` akan mengembalikan hasil sebagai string. Variabel ini adalah opsional, default untuk `false`. - -Contoh: - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -Menghasilkan seperti ini (sebagai kata-kata): - -``` - Wed, 16 Sep 2013 02:49:46 +0000 Dimulai. - > Memeriksa '/user_name/public_html/my_file.html': - -> Tidak ada masalah yang diketahui. - Wed, 16 Sep 2013 02:49:47 +0000 Selesai. -``` - -Untuk sebuah pemecahan penuh dari jenis tanda tangan phpMussel yang digunakan selama pemindaian dan bagaimana dia memegang tanda tangan-tanda tangan ini, mencocokkan ke [FORMAT TANDA TANGAN](#SECTION8) dari file README. - -Jika Anda menjumpai bilangan positif yang salah, jika Anda menemukan hal baru yang harus di blok atau untuk apapun dalam tanda tangan mohon hubungi saya mengenainya sehingga saya dapat membuat perubahan yang perlu, dimana, jika Anda tidak menghubungi saya saya tidak tahu. *(Lihat: [Apa yang dimaksud dengan "positif palsu"?](#WHAT_IS_A_FALSE_POSITIVE)).* - -Untuk menonaktifkan tanda tangan-tanda tangan yang dimasukkan dalam phpMussel (seperti jika Anda berpengalaman sebuah angka positif yang salah untuk tujuan Anda yang seharusnya secara normal di hapus dari aliran), tambahkan nama tanda tangan spesifik yang harus dinonaktifkan ke file tanda tangan daftar abu-abu (`/vault/greylist.csv`), dipisahkan dengan koma. - -*Lihat juga: [Bagaimana cara mengakses rincian spesifik tentang file saat dipindai?](#SCAN_DEBUGGING)* - -#### 3.1 BAGAIMANA CARA MENGGUNAKAN (UNTUK CLI) - -Silahkan lihat "MENGINSTAL SECARA MANUAL (UNTUK CLI)" dari file README. - -Mohon diingat bahwa phpMussel adalah scanner *on-demand*; adalah *BUKAN* scanner *on-access* (dengan pengecualian upload file, pada saat upload), dan tidak seperti anti virus, tidak memonitor memori aktif! phpMussel hanya mendeteksi virus dalam upload file dan dalam file yang Anda perintahkan untuk dipindai. - ---- - - -### 4. MANAJEMEN BAGIAN DEPAN - -#### 4.0 APA YANG MANAJEMEN BAGIAN DEPAN. - -Manajemen bagian depan menyediakan cara yang nyaman dan mudah untuk mempertahankan, mengelola, dan memperbarui instalasi phpMussel Anda. Anda dapat melihat, berbagi, dan download file log melalui halaman log, Anda dapat mengubah konfigurasi melalui halaman konfigurasi, Anda dapat instal dan uninstal/hapus komponen melalui halaman pembaruan, dan Anda dapat upload, download, dan memodifikasi file dalam vault Anda melalui file manager. - -Bagian depan adalah dinonaktifkan secara default untuk mencegah akses yang tidak sah (akses yang tidak sah bisa memiliki konsekuensi yang signifikan untuk website Anda dan keamanannya). Instruksi untuk mengaktifkannya termasuk dibawah paragraf ini. - -#### 4.1 BAGAIMANA CARA MENGAKTIFKAN MANAJEMEN BAGIAN DEPAN. - -1) Menemukan direktif `disable_frontend` dalam `config.ini`, dan mengaturnya untuk `false` (akan menjadi `true` secara default). - -2) Mengakses `loader.php` dari browser Anda (misalnya, `http://localhost/phpmussel/loader.php`). - -3) Masuk dengan nama pengguna dan kata sandi default (admin/password). - -Catat: Setelah Anda dimasukkan untuk pertama kalinya, untuk mencegah akses tidak sah ke manajemen bagian depan, Anda harus segera mengubah nama pengguna dan kata sandi Anda! Ini sangat penting, karena itu mungkin untuk meng-upload kode PHP sewenang-wenang untuk situs web Anda melalui bagian depan. - -Juga, untuk keamanan yang optimal, memungkinkan "otentikasi dua faktor" untuk semua akun front-end sangat disarankan (petunjuk disediakan dibawah). - -#### 4.2 BAGAIMANA CARA MENGGUNAKAN MANAJEMEN BAGIAN DEPAN. - -Instruksi disediakan pada setiap halaman dari manajemen bagian depan, untuk menjelaskan cara yang benar untuk menggunakannya dan tujuan yang telah ditetapkan. Jika Anda membutuhkan penjelasan lebih lanjut atau bantuan khusus, silahkan hubungi dukungan, atau sebagai pilihan lain, ada beberapa video yang tersedia di YouTube yang dapat membantu dengan cara demonstrasi. - -#### 4.3 OTENTIKASI DUA FAKTOR - -Mungkin untuk membuat bagian depan lebih aman dengan mengaktifkan otentikasi dua faktor ("2FA"). Saat masuk ke akun berkemampuan 2FA, email dikirim ke alamat email yang terkait dengan akun tersebut. Email ini berisi "kode 2FA", yang kemudian harus dimasukkan oleh pengguna, selain nama pengguna dan kata sandi, agar dapat masuk menggunakan akun tersebut. Ini berarti bahwa mendapatkan kata sandi akun tidak akan cukup bagi peretas atau penyerang potensial untuk dapat masuk ke akun tersebut, karena mereka juga harus sudah memiliki akses ke alamat email yang terkait dengan akun tersebut agar dapat menerima dan memanfaatkan kode 2FA yang terkait dengan sesi, sehingga membuat bagian depan lebih aman. - -Pertama, untuk mengaktifkan otentikasi dua faktor, menggunakan halaman pembaruan bagian depan, instal komponen PHPMailer. phpMussel menggunakan PHPMailer untuk mengirim email. Perlu dicatat bahwa meskipun phpMussel, dengan sendirinya, kompatibel dengan PHP >= 5.4.0, PHPMailer membutuhkan PHP >= 5.5.0, dengan demikian berarti bahwa mengaktifkan otentikasi dua faktor untuk bagian depan phpMussel tidak akan mungkin bagi pengguna PHP 5.4. - -Setelah Anda menginstal PHPMailer, Anda harus mengisi direktif konfigurasi untuk PHPMailer melalui halaman konfigurasi phpMussel atau file konfigurasi. Informasi lebih lanjut tentang direktif konfigurasi ini termasuk dalam bagian konfigurasi dokumen ini. Setelah Anda mengisi direktif konfigurasi PHPMailer, atur `enable_two_factor` ke `true`. Otentikasi dua faktor sekarang harus diaktifkan. - -Selanjutnya, Anda harus mengaitkan alamat email dengan akun, sehingga phpMussel tahu ke mana harus mengirim 2FA kode ketika masuk dengan akun tersebut. Untuk melakukan ini, gunakan alamat email sebagai nama pengguna untuk akun tersebut (seperti `foo@bar.tld`), atau sertakan alamat email sebagai bagian dari nama pengguna dengan cara yang sama seperti ketika mengirim email secara normal (seperti `Foo Bar `). - -Catat: Melindungi vault Anda terhadap akses yang tidak sah (misalnya, dengan memperketat keamanan server Anda dan izin akses publik), sangat penting disini, karena akses tidak sah ke file konfigurasi Anda (yang disimpan dalam vault Anda), dapat berisiko mengekspos konfigurasi SMTP Anda (termasuk nama pengguna dan kata sandi SMTP). Anda harus memastikan bahwa vault Anda diamankan dengan benar sebelum mengaktifkan otentikasi dua faktor. Jika Anda tidak dapat melakukan ini, setidaknya Anda harus membuat akun email baru, yang didedikasikan untuk tujuan ini, untuk mengurangi risiko yang terkait dengan konfigurasi SMTP yang diekspos. - ---- - - -### 5. CLI (COMMAND LINE INTERFACE) - -phpMussel dapat dijalankan sebagai sebuah file interaktif pemindai dalam mode CLI dalam Windows. Lihat "BAGAIMANA CARA MENGINSTAL (UNTUK CLI)" dari file README untuk lebih detail. - -Untuk daftar yang tersedia CLI perintah, pada prompt CLI, ketik 'c', dan tekan Enter. - -Sebagai tambahan, bagi yang berminat, sebuah video tutorial untuk bagaimana menggunakan phpMussel di modus CLI tersedia disini: -- - ---- - - -### 6. FILE YANG DIIKUTKAN DALAM PAKET INI - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. OPSI KONFIGURASI - -Berikut list variabel yang ditemukan pada file konfigurasi phpMussel `config.ini`, dengan deskripsi dari tujuan dan fungsi. - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### "general" (Kategori) -Konfigurasi umum dari phpMussel. - -##### "cleanup" -- Membersihkan variabel skrip dan cache setelah eksekusi? False = Tidak; True = Ya [Default]. Jika Anda tidak menggunakan skrip untuk apapun selain memindai unggahan, Anda harus mengkonfigurasikannya ke `true` untuk meminimalkan penggunaan memori. Jika tidak demikian, Anda harus mengkonfigurasikannya ke `false`, untuk menyimpan dalam memori data yang diperlukan untuk mengeksekusi phpMussel tanpa perlu memuatnya kembali. Tidak memiliki pengaruh di dalam mode CLI. -- Tidak memiliki pengaruh di dalam mode CLI. - -##### "scan_log" -- Nama dari file untuk mencatat semua hasil pemindaian. Spesifikasikan nama atau biarkan kosong untuk menonaktifkan. - -##### "scan_log_serialized" -- Nama dari file untuk mencatat semua hasil pemindaian (menggunakan format serial). Spesifikasikan nama atau biarkan kosong untuk menonaktifkan. - -##### "scan_kills" -- Nama dari fata untuk mencatat semua rekord dari upload terblok atau terbunuh. Spesifikan nama atau biarkan kosong untuk menonaktifkan. - -*Tip berguna: Jika Anda mau, Anda dapat menambahkan informasi tanggal/waktu untuk nama-nama file log Anda oleh termasuk ini dalam nama: `{yyyy}` untuk tahun lengkap, `{yy}` untuk tahun disingkat, `{mm}` untuk bulan, `{dd}` untuk hari, `{hh}` untuk jam.* - -*Contoh:* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### "error_log" -- File untuk mencatat kesalahan tidak fatal yang terdeteksi. Spesifikasikan nama file, atau biarkan kosong untuk menonaktifkan. - -##### "truncate" -- Memotong file log ketika mereka mencapai ukuran tertentu? Nilai adalah ukuran maksimum dalam B/KB/MB/GB/TB yang bisa ditambahkan untuk file log sebelum dipotong. Nilai default 0KB menonaktifkan pemotongan (file log dapat tumbuh tanpa batas waktu). Catat: Berlaku untuk file log individu! Ukuran file log tidak dianggap secara kolektif. - -##### "log_rotation_limit" -- Rotasi log membatasi jumlah file log yang seharusnya ada pada satu waktu. Ketika file log baru dibuat, jika jumlah total file log melebihi batas yang ditentukan, tindakan yang ditentukan akan dilakukan. Anda dapat menentukan batas yang diinginkan disini. Nilai 0 akan menonaktifkan rotasi log. - -##### "log_rotation_action" -- Rotasi log membatasi jumlah file log yang seharusnya ada pada satu waktu. Ketika file log baru dibuat, jika jumlah total file log melebihi batas yang ditentukan, tindakan yang ditentukan akan dilakukan. Anda dapat menentukan tindakan yang diinginkan disini. Delete = Hapus file log tertua, hingga batasnya tidak lagi terlampaui. Archive = Pertama arsipkan, lalu hapus file log tertua, hingga batasnya tidak lagi terlampaui. - -*Klarifikasi teknis: Dalam konteks ini, "tertua" berarti tidak dimodifikasi baru-baru.* - -##### "timezone" -- Ini digunakan untuk menentukan zona waktu mana yang harus digunakan oleh phpMussel untuk operasi tanggal/waktu. Jika Anda tidak membutuhkannya, abaikan saja. Nilai yang mungkin ditentukan oleh PHP. Ini umumnya direkomendasikan sebagai gantinya untuk menyesuaikan direktif zona waktu dalam file `php.ini` Anda, tapi terkadang (seperti ketika bekerja dengan terbatas penyedia shared hosting) ini tidak selalu mungkin untuk melakukan, dan demikian, opsi ini disediakan disini. - -##### "time_offset" -- *v1: "timeOffset"* -- Jika waktu server Anda tidak cocok waktu lokal Anda, Anda dapat menentukan offset sini untuk menyesuaikan informasi tanggal/waktu dihasilkan oleh phpMussel sesuai dengan kebutuhan Anda. Ini umumnya direkomendasikan sebagai gantinya untuk menyesuaikan direktif zona waktu dalam file `php.ini` Anda, tapi terkadang (seperti ketika bekerja dengan terbatas penyedia shared hosting) ini tidak selalu mungkin untuk melakukan, dan demikian, opsi ini disediakan disini. Offset adalah dalam menit. -- Contoh (untuk menambahkan satu jam): `time_offset=60` - -##### "time_format" -- *v1: "timeFormat"* -- Format notasi tanggal/waktu yang digunakan oleh phpMussel. Default = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`. - -##### "ipaddr" -- Dimana menemukan alamat IP dari permintaan alamat? (Bergunak untuk pelayanan-pelayanan seperti Cloudflare dan sejenisnya). Default = REMOTE_ADDR. PERINGATAN: Jangan ganti ini kecuali Anda tahu apa yang Anda lakukan! - -Nilai yang disarankan untuk "ipaddr": - -Nilai | Menggunakan ----|--- -`HTTP_INCAP_CLIENT_IP` | Incapsula reverse proxy. -`HTTP_CF_CONNECTING_IP` | Cloudflare reverse proxy. -`CF-Connecting-IP` | Cloudflare reverse proxy (alternatif; jika di atas tidak bekerja). -`HTTP_X_FORWARDED_FOR` | Cloudbric reverse proxy. -`X-Forwarded-For` | [Squid reverse proxy](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*Ditetapkan oleh konfigurasi server.* | [Nginx reverse proxy](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` | Tidak ada reverse proxy (nilai default). - -##### "enable_plugins" -- Mengaktifkan dukungan untuk plugin phpMussel? False = Tidak; True = Ya [Default]. - -##### "forbid_on_block" -- Seharusnya phpMussel mengirimkan 403 headers dengan pesan upload file yang terblok, atau cocok dengan 200 OK? False = Tidak (200); True = Ya (403) [Default]. - -##### "unsupported_media_type_header" -- Seharusnya phpMussel mengirimkan 415 headers saat upload diblokir karena jenis filenya ada di daftar hitam? Jika true, pengaturan ini menggantikan `forbid_on_block`. False = Tidak [Default]; True = Ya. - -##### "delete_on_sight" -- Mengaktifkan opsi ini akan menginstruksikan skrip untuk berusaha secepatnya menghapus file apapun yang ditemukannya selama scan yang mencocokkan pada kriteria deteksi apapun, baik melalui tanda tangan atau yang lain. file-file ditentukan "clean" tidak akan disentuh. Pada kasus file terkompress seluruh file terkompress akan didelate (kecuali file yang menyerang adalah satu-satunya dari beberapa file yang menjadi isi file terkompress). Untuk kasus pemindaian upload file biasanya, tidak cocok untuk mengaktifkan opsi ini, karena biasanya PHP akan secara otomatis menyatukan isi dari cache ketika eksekusi selesai, berarti bahwa dia akan selalu menghapus file terupload apapun melalui server jika tidak dipindahkan, dikopi atau dihapus sebelumnya. Opsi tersebut ditambahkan disini sebagai ukuran keamanan ekstra untuk semua salinan PHP yang tidak selalu bersikap pada perilaku yang diharapkan. False = Setelah pemindahaian, biarkan file [Default]; True = Setelah pemindaian, jika tidak bersih, hapus langsung. - -##### "lang" -- Tentukan bahasa default untuk phpMussel. - -##### "lang_override" -- Melokalisasikan sesuai dengan HTTP_ACCEPT_LANGUAGE jika memungkinkan? True = Ya [Default]; False = Tidak. - -##### "numbers" -- Menentukan bagaimana menampilkan nomor-nomor. - -Nilai yang didukung saat ini: - -Nilai | Menghasilkan | Deskripsi ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | Nilai default. -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*Catat: Nilai-nilai ini tidak terstandardisasi dimana pun, dan mungkin tidak akan relevan di luar paket. Juga, nilai yang didukung dapat berubah di masa depan.* - -##### "quarantine_key" -- phpMussel dapat mengkarantina upload file ditandai dalam isolasi dalam vault phpMussel, jika ini adalah sesuatu yang Anda ingin lakukan. Pengguna biasa dari phpMussel yang hanya ingin memproteksi website mereka dan/atau lingkungan hosting mereka tanpa memiliki minat dalam-dalam menganalisis setiap ditandai upload file harus meninggalkan fungsi ini dinonaktifkan, tapi setiap pengguna yang tertarik pada analisis lebih lanjut dari ditandai upload file bagi penelitian malware atau untuk hal-hal seperti serupa harus mengaktifkan fungsi ini. Mengkarantina ditandai upload file dapat kadang-kadang juga membantu dalam men-debug false-positif, jika ini adalah sesuatu yang sering terjadi untuk Anda. Untuk menonaktifkan fungsi karantina, meninggalkan `quarantine_key` direktif kosong, atau menghapus isi dari direktif ini jika tidak sudah kosong. Untuk mengaktifkan fungsi karantina, masukkan beberapa nilai dalam direktif ini. `quarantine_key` adalah fitur keamanan penting dari fungsi karantina diharuskan sebagai sarana untuk mencegah fungsi karantina dari dieksploitasi oleh penyerang potensial dan sebagai sarana mencegah eksekusi potensi file yang disimpan dalam karantina. `quarantine_key` harus diperlakukan dengan cara yang sama seperti kata sandi Anda: Semakin lama semakin baik, dan menjaganya diproteksi erat. Bagi efek terbaik, gunakan dalam hubungannya dengan `delete_on_sight`. - -##### "quarantine_max_filesize" -- Ukuran file maksimum yang diijinkan dari file yang akan dikarantina. File yang lebih besar dari nilai yang ditentukan dibawah ini TIDAK akan dikarantina. Direktif ini penting sebagai sarana untuk membuat lebih sulit bagi setiap penyerang potensial untuk banjir karantina Anda dengan file yang tidak diinginkan berpotensi menyebabkan penggunaan file kelebihan pada layanan hosting Anda. Default = 2MB. - -##### "quarantine_max_usage" -- Penggunaan memori maksimal yang diijinkan untuk karantina. Jika total penggunaan memori oleh karantina mencapai nilai ini, file yang dikarantina tertua akan dihapus sampai total penggunaan memori tidak lagi mencapai nilai ini. Direktif ini penting sebagai sarana untuk membuat lebih sulit bagi setiap penyerang potensial untuk banjir karantina Anda dengan file yang tidak diinginkan berpotensi menyebabkan penggunaan file kelebihan pada layanan hosting Anda. Default = 64MB. - -##### "quarantine_max_files" -- Jumlah maksimum file yang dapat ada di karantina. Ketika file baru ditambahkan ke karantina, jika nomor ini terlampaui, file lama akan dihapus hingga sisanya tidak lagi melebihi nomor ini. Default = 100. - -##### "honeypot_mode" -- Bila modus honeypot diaktifkan, phpMussel akan mencoba untuk karantina setiap file upload yang dia menemui, terlepas dari apakah atau tidak file yang di-upload cocok dengan tanda tangan yang disertakan, dan tidak ada pemindaian aktual atau analisis dari upload file akan terjadi. Fungsi ini akan berguna bagi mereka yang ingin menggunakan phpMussel untuk tujuan virus/malware penelitian, tapi tidak direkomendasikan untuk mengaktifkan fungsi ini jika tujuan penggunaan dari phpMussel oleh pengguna adalah bagi aktual upload file pemindaian dan juga tidak direkomendasikan untuk menggunakan fungsi honeypot untuk tujuan selain bagi honeypot. Biasanya, opsi ini dinonaktifkan. False = Dinonaktifkan [Default]; True = Diaktifkan. - -##### "scan_cache_expiry" -- Untuk berapa lama harus phpMussel cache hasil-hasil? Nilai adalah jumlah detik untuk cache hasil-hasil untuk. Default adalah 21600 detik (6 jam); Nilai 0 akan menonaktifkan caching hasil-hasil. - -##### "disable_cli" -- Menonaktifkan modus CLI? Modus CLI diaktifkan secara default, tapi kadang-kadang dapat mengganggu alat pengujian tertentu (seperti PHPUnit, sebagai contoh) dan aplikasi CLI berbasis lainnya. Jika Anda tidak perlu menonaktifkan modus CLI, Anda harus mengabaikan direktif ini. False = Mengaktifkan modus CLI [Default]; True = Menonaktifkan modus CLI. - -##### "disable_frontend" -- Menonaktifkan akses bagian depan? Akses bagian depan dapat membuat phpMussel lebih mudah dikelola, tapi juga dapat menjadi potensial resiko keamanan. Itu direkomendasi untuk mengelola phpMussel melalui bagian belakang bila mungkin, tapi akses bagian depan yang disediakan untuk saat itu tidak mungkin. Memilikinya dinonaktifkan kecuali jika Anda membutuhkannya. False = Mengaktifkan akses bagian depan; True = Menonaktifkan akses bagian depan [Default]. - -##### "max_login_attempts" -- Jumlah maksimum upaya memasukkan ke bagian depan. Default = 5. - -##### "frontend_log" -- *v1: "FrontEndLog"* -- File untuk mencatat upaya masuk bagian depan. Spesifikasikan nama file, atau biarkan kosong untuk menonaktifkan. - -##### "disable_webfonts" -- Menonaktifkan webfonts? True = Ya [Default]; False = Tidak. - -##### "maintenance_mode" -- Aktifkan modus perawatan? True = Ya; False = Tidak [Default]. Nonaktifkan semuanya selain bagian depan. Terkadang berguna saat memperbarui CMS, kerangka kerja, dll. - -##### "default_algo" -- Mendefinisikan algoritma mana yang akan digunakan untuk semua kata sandi dan sesi di masa depan. Opsi: PASSWORD_DEFAULT (default), PASSWORD_BCRYPT, PASSWORD_ARGON2I (membutuhkan PHP >= 7.2.0), PASSWORD_ARGON2ID (membutuhkan PHP >= 7.3.0). - -##### "statistics" -- Lacak statistik penggunaan phpMussel? True = Ya; False = Tidak [Default]. - -##### "hide_version" -- Sembunyikan informasi versi dari log dan output halaman? True = Ya; False = Tidak [Default]. - -##### "disabled_channels" -- Ini dapat digunakan untuk mencegah phpMussel dari menggunakan saluran tertentu saat mengirim permintaan (misalnya, saat memperbarui, saat mengambil metadata komponen, dll). - -##### "default_timeout" -- Batas waktu default untuk digunakan untuk permintaan eksternal? Default = 12 detik. - -#### "signatures" (Kategori) -Konfigurasi untuk tanda tangan. - -##### "active" -- *v1: "Active"* -- Daftar file tanda tangan yang aktif, dipisahkan oleh koma. - -*Catat:* -- *File tanda tangan harus diinstal pertama-tama, sebelum Anda dapat mengaktifkannya.* -- *Agar file test berfungsi dengan benar, file tanda tangan harus diinstal dan diaktifkan.* -- *Nilai dari arahan ini di-cache. Setelah mengubahnya, agar perubahan diterapkan, Anda mungkin perlu menghapus cache.* - -##### "fail_silently" -- Seharusnya laporan phpMussel ketika file tanda tangan hilang atau dikorup? Jika `fail_silently` dinonaktifkan, file dikorup dan hilang akan dilaporkan ketika pemindaian, dan jika `fail_silently` diaktifkan, file dikorup dan hilang akan diabaikan, dengan pemindaian melaporkan untuk file-file ini bahwa tidak ada masalah. Harus ini dibiarkan sendirian jika Anda pernah mengalami crash atau masalah lain. False = Dinonaktifkan; True = Diaktifkan [Default]. - -##### "fail_extensions_silently" -- Seharusnya laporan phpMussel ketika ekstensi hilang? Jika `fail_extensions_silently` dinonaktifkan, ekstensi hilang akan dilaporkan ketika pemindaian, dan jika `fail_extensions_silently` diaktifkan, ekstensi hilang akan diabaikan, dengan pemindaian melaporkan untuk file-file ini bahwa tidak ada masalah. Menonaktifkan direktif ini berpotensi dapat meningkatkan keamanan Anda, tapi juga dapat menyebabkan peningkatan positif palsu. False = Dinonaktifkan; True = Diaktifkan [Default]. - -##### "detect_adware" -- Harus phpMussel menggunakan tanda tangan untuk mendeteksi adware? False = Tidak; True = Ya [Default]. - -##### "detect_joke_hoax" -- Harus phpMussel menggunakan tanda tangan untuk mendeteksi lelucon/kebohongan malware/virus? False = Tidak; True = Ya [Default]. - -##### "detect_pua_pup" -- Harus phpMussel menggunakan tanda tangan untuk mendeteksi PUAs/PUPs? False = Tidak; True = Ya [Default]. - -##### "detect_packer_packed" -- Harus phpMussel menggunakan tanda tangan untuk mendeteksi pengepakan dan file dikemas? False = Tidak; True = Ya [Default]. - -##### "detect_shell" -- Harus phpMussel menggunakan tanda tangan untuk mendeteksi skrip shell? False = Tidak; True = Ya [Default]. - -##### "detect_deface" -- Harus phpMussel menggunakan tanda tangan untuk mendeteksi perusakan dan perusak? False = Tidak; True = Ya [Default]. - -##### "detect_encryption" -- Harus phpMussel mendeteksi dan memblokir file terenkripsi? False = Tidak; True = Ya [Default]. - -#### "files" (Kategori) -Konfigurasi umum untuk mengambil alih file-file. - -##### "max_uploads" -- Maksimum jumla file-file yang diizinkan untuk dipindai selama pemindaian upload file sebelum menghentikan pemindaian dan menginformasikan pengguna bahwa pengguna mengupload terlalu banyak! Menyediakan perlindungan pada serangan teoritis dimana penyerang mencoba DDoS pada sistem Anda atau CMS ada dengan overloading phpMussel supaya berjalan lambat. Proses PHP ke penghentian keras. Recommendasi: 10. Anda dapat menaikkan atau menurunkan angka ini bergantung dari kecepatan hardware Anda. Catat itu nomor ini tidak mengakuntabilitas atau mengikutkan konten dari file terkompres. - -##### "filesize_limit" -- Batasan ukuran file dalam KB. 65536 = 64MB [Default]; 0 = Tidak ada batasa (selalu bertanda abu-abu), nilai angka positif apapun diterima. Ini dapat berguna ketika batasan konfigurasi PHP Anda membatasi jumah memori dari proses yang dapat ditampungnya atau jika konfigurasi PHP Anda membatasi jumlah ukuran upload Anda. - -##### "filesize_response" -- Apa yang Anda lakukan dengan file-file yang melebihi batasan ukuran (jika ada). False = Bertanda putih; True = Bertanda hitam [Default]. - -##### "filetype_whitelist", "filetype_blacklist", "filetype_greylist" -- Jika sistem Anda hanya mengizinkan tipe file spesifik menjadi diupload, atau jika sistem Anda secara eksplisit menolak tipe file-file tertentu, menspesifikasikan tipe file dalam bertanda putih, bertanda hitam dan bertanda abu-abu dapat menaikkan kecepatan dari pemindaian dilakukan dengan mengizinkan skrip untuk mengabaikan tipe file tertentu. Format adalah CSV (comma separated values). Jika Anda ingin memindai semuanya, daripada daftar putih, daftar hitam atau daftar abu-abu, tinggalkan variabel kosong; Melakukannya akan menonaktifkan daftar putih/hitam/abu-abu. -- Urutan logis dari pengolahan: - - Jika tipe file bertanda putih, tidak memindai dan tidak memblokir file, dan tidak memeriksa file terhadap daftar hitam atau daftar abu-abu. - - Jika tipe file bertanda hitem, tidak memindai file tapi memblokir bagaimanapun, dan tidak memeriksa file terhadap daftar abu-abu. - - Jika daftar abu-abu yang kosong atau jika daftar abu-abu tidak kosong dan tipe file bertanda abu-abu, memindai file seperti biasa dan menentukan apakah untuk memblokir berdasarkan hasil memindai, tapi jika daftar abu-abu tidak kosong dan tipe file tidak bertanda abu-abu, memperlakukan seolah olah bertanda hitam, demikian tidak memindai tapi memblokir itu bagaimanapun. - -##### "check_archives" -- Berusaha mencek isi file terkompress? False = Tidak (Tidak mencek); True = Ya (Mencek) [Default]. - -Format | Dapat membaca | Dapat membaca secara rekursif | Dapat mendeteksi enkripsi | Catatan ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | Membutuhkan [libzip](https://secure.php.net/manual/en/zip.requirements.php) (biasanya dibundel dengan PHP pula). Juga didukung (menggunakan format zip): ✔️ Deteksi objek OLE. ✔️ Deteksi makro Office. -Tar | ✔️ | ✔️ | ➖ | Tidak ada persyaratan khusus. Format tidak mendukung enkripsi. -Rar | ✔️ | ✔️ | ✔️ | Membutuhkan ekstensi [rar](https://pecl.php.net/package/rar) (ketika ekstensi ini tidak diinstal, phpMussel tidak dapat membaca file rar). -Phar | ❌ | ❌ | ❌ | Dukungan untuk membaca file phar telah dihapus di v1.6.0, dan tidak akan ditambahkan lagi, karena masalah keamanan. - -*Jika ada seseorang yang mampu dan bersedia membantu mengimplementasikan dukungan untuk membaca format arsip lain, bantuan ini akan disambut baik.* - -##### "filesize_archives" -- Memperlalaikan ukuran daftar hitam/putih dari isi file terkompress? False = Tidak (Bertanda abu-abu semua); True = Ya [Default]. - -##### "filetype_archives" -- Memperlalaikan jenis file daftar hitam/putih dari isi file terkompress? False = Tidak (Bertanda abu-abu semua) [Default]; True = Ya. - -##### "max_recursion" -- Batas kedalaman rekursi maksimum untuk arsip. Default = 3. - -##### "block_encrypted_archives" -- Mendeteksi dan memblokir dienkripsi arsip? Karena phpMussel tidak mampu memindai isi arsip dienkripsi, itu mungkin bahwa enkripsi arsip dapat digunakan oleh penyerang sebagai sarana mencoba untuk memotong phpMussel, anti-virus pemindai dan perlindungan mirip lainnya. Menginstruksikan phpMussel untuk memblokir setiap arsip dienkripsi ditemukan akan berpotensi membantu mengurangi risiko terkait dengan kemungkinan tersebut. False = Tidak; True = Ya [Default]. - -##### "max_files_in_archives" -- Jumlah maksimum file yang akan dipindai dari dalam arsip sebelum membatalkan pemindaian. Default = 0 (tidak ada maksimal). - -#### "attack_specific" (Kategori) -Direktif serangan spesifik. - -Deteksi chameleon serangan: False = Dinonaktifkan; True = Diaktifkan. - -##### "chameleon_from_php" -- Cari header PHP tidak di dalam file-file PHP atau file terkompress. - -##### "can_contain_php_file_extensions" -- Daftar ekstensi file diperbolehkan untuk berisi kode PHP, dipisahkan oleh koma. Jika deteksi serangan chameleon PHP diaktifkan, file yang berisi kode PHP, yang memiliki ekstensi yang tidak ada dalam daftar ini, akan terdeteksi sebagai serangan chameleon PHP. - -##### "chameleon_from_exe" -- Cari header yang dapat dieksekusi di dalam file-file yang dapat dieksekusi atau file terkompress yang dikenali dan untuk file dapat dieksekusi yang headernya tidak benar. - -##### "chameleon_to_archive" -- Mendeteksi header yang salah dalam arsip dan file terkompresi. Didukung: BZ/BZIP2, GZ/GZIP, LZF, RAR, ZIP. - -##### "chameleon_to_doc" -- Cari dokumen office yang header nya tidak benar (Didukung: DOC, DOT, PPS, PPT, XLA, XLS, WIZ). - -##### "chameleon_to_img" -- Cari gambar yang header nya tidak benar (Didukung: BMP, DIB, PNG, GIF, JPEG, JPG, XCF, PSD, PDD, WEBP). - -##### "chameleon_to_pdf" -- Cari file PDF yang headernya tidak benar. - -##### "archive_file_extensions" -- Ekstensi file terkompres yang dikenali (format nya CSV; seharusnya hanya menambah atau menghapus ketika masalah terjadi; Tidak cocok langsung menghapus karena dapat menyebabkan angka positif yang salah terjadi pada file terkompres, dimana juga menambahkan deteksi; memodifikasi dengan peringatan; Juga dicatat bahwa ini tidak memberi efek pada file terkompress apa yang dapat dan tidak dapat di analisa pada level isi). Daftar sebagaimana defaultnya, memberi daftar format-format yang digunakan yang paling umum melalui melalui mayoritas sistem dan CMS, tapi bermaksud tidak komprehensif. - -##### "block_control_characters" -- Memblokir file apapun yang berisi karakter pengendali (lain dari baris baru)? (`[\x00-\x08\x0b\x0c\x0e\x1f\x7f]`) Jika Anda hanya sedang mengupload file teks biasa, maka Anda dapat menghidupkan opsi ini untuk menyediakan perlindungan tambahan ke sistem Anda. Bagaimanapun jika Anda mengupload apapun lebih dari file teks biasa, menghidupkan opsi ini mungkin mengakibatkan angka positif salah. False = Jangan memblokirnya [Default]; True = Memblokirnya. - -##### "corrupted_exe" -- File korup dan diurai kesalahan. False = Mengabaikan; True = Memblokir [Default]. Mendeteksi dan memblokir file PE (Portable Executable) berpotensi korup? Sering (tapi tidak selalu), ketika aspek-aspek tertentu dari file PE yang korup atau tidak bisa diurai dengan benar, itu dapat menjadi indikasi dari infeksi virus. Proses yang digunakan oleh sebagian besar program anti-virus untuk mendeteksi virus dalam file PE memerlukan parsing file-file dengan cara tertentu, yang, jika programmer virus menyadari, secara khusus akan mencoba untuk mencegah, untuk memungkinkan virus mereka untuk tetap tidak terdeteksi. - -##### "decode_threshold" -- Ambang batas dengan panjang file mentah yang dalam decode perintah harus terdeteksi (dalam kasus ada masalah kinerja sementara pemindaian). Default = 512KB. Nol atau nilai null menonaktifkan ambang batas (menghapus apapun batasan berdasarkan ukuran file). - -##### "scannable_threshold" -- Ambang batas dengan panjang file mentah yang phpMussel diperbolehkan untuk membaca dan memindai (dalam kasus ada masalah kinerja sementara pemindaian). Default = 32MB. Nol atau nilai null menonaktifkan ambang batas. Umumnya, nilai ini tidak seharusnya kurang dari ukuran file rata-rata upload file yang Anda inginkan dan Anda harapkan untuk menerima ke server atau website, tidak seharusnya lebih dari direktif filesize_limit, dan tidak seharusnya lebih dari sekitar seperlima dari total alokasi memori yang diijinkan ke PHP melalui file konfigurasi `php.ini`. Direktif ini ada untuk mencegah phpMussel menggunakan terlalu banyak memori (yang bisa mencegah dari yang berhasil memindai file di atas tertentu ukuran file). - -##### "allow_leading_trailing_dots" -- Izinkan memimpin dan mengikuti titik-titik dalam nama file? Ini kadang-kadang dapat digunakan untuk menyembunyikan file, atau untuk mengelabui beberapa sistem agar memungkinkan direktori traversal. False = Jangan izinkan [Default]. True = Izinkan. - -##### "block_macros" -- Cobalah untuk memblokir semua file yang mengandung macro? Beberapa jenis dokumen dan spreadsheet mungkin berisi makro yang dapat dijalankan, sehingga menyediakan vektor berbahaya berpotensi. False = Jangan memblokirnya [Default]; True = Memblokirnya. - -#### "compatibility" (Kategori) -Direktif-direktif kompatibilitas pada phpMussel. - -##### "ignore_upload_errors" -- Direktif ini umumnya harus DINONAKTIFKAN kecuali diharuskan untuk fungsi yang benar dari phpMussel pada sistem tertentu. Biasanya, ketika DINONAKTIFKAN, ketika phpMussel mendeteksi adanya elemen dalam `$_FILES` array(), itu akan mencoba untuk memulai scan file yang mewakili elemen, dan, jika elemen yang kosong, phpMussel akan mengembalikan pesan kesalahan. Ini adalah perilaku yang tepat untuk phpMussel. Namun, untuk beberapa CMS, elemen kosong di `$_FILES` dapat terjadi sebagai akibat dari perilaku alami itu CMS, atau kesalahan dapat dilaporkan bila tidak ada, dalam kasus seperti itu, perilaku normal untuk phpMussel akan mengganggu untuk perilaku normal itu CMS. Jika situasi seperti itu terjadi untuk Anda, MENGAKTIFKAN direktif ini akan menginstruksikan phpMussel untuk tidak mencoba untuk memulai scan untuk elemen kosong, mengabaikan saat ditemui dan untuk tidak kembali terkait pesan kesalahan, sehingga memungkinkan kelanjutan dari halaman permintaan. False = DINONAKTIFKAN; True = DIAKTIFKAN. - -##### "only_allow_images" -- Bila diset ke true, file apapun ditemukan oleh pemindai yang bukan gambar akan segera ditandai, tanpa dipindai. Ini dapat membantu mengurangi waktu yang dibutuhkan untuk menyelesaikan pemindaian dalam beberapa kasus. Diset ke false secara default. - -#### "heuristic" (Kategori) -Direktif-direktif heuristik pada phpMussel. - -##### "threshold" -- Ada tanda tangan tertentu dari phpMussel yang dimaksudkan untuk mengidentifikasi kualitas yang mencurigakan dan berpotensi berbahaya pada file-file yang di-upload tanpa di diri mereka mengidentifikasi file-file yang di-upload spesifik sebagai berbahaya. Ini "threshold" nilai memberitahu phpMussel apa total berat maksimum untuk kualitas yang mencurigakan dan berpotensi berbahaya pada file-file yang di-upload yang diijinkan adalah sebelum file-file yang akan diidentifikasi sebagai berbahaya. Definisi berat dalam konteks ini adalah jumlah total kualitas mencurigakan dan berpotensi berbahaya diidentifikasi. Secara default, nilai ini akan ditetapkan sebagai 3. Sebuah nilai lebih rendah umumnya akan menghasilkan sebagai lebih tinggi positif palsu kejadian tapi sebuah jumlah lebih tinggi file berbahaya diidentifikasi, sedangkan sebuah nilai lebih tinggi umumnya akan menghasilkan sebagai lebih rendah positif palsu kejadian tapi sebuah jumlah lebih rendah pada file berbahaya yang diidentifikasi. Ini umumnya terbaik untuk meninggalkan nilai ini di default kecuali jika Anda mengalami masalah berhubungan dengan itu. - -#### "virustotal" (Kategori) -Konfigurasi untuk Virus Total integrasi. - -##### "vt_public_api_key" -- Secara fakultatif, phpMussel mampu memindai file menggunakan Virus Total API sebagai cara untuk memberikan tingkat sangat ditingkatkan perlindungan terhadap virus, trojan, malware dan ancaman lainnya. Secara default, file pemindaian menggunakan Virus Total API dinonaktifkan. Untuk mengaktifkannya, kunci API dari Virus Total diperlukan. Karena manfaat yang signifikan bahwa ini bisa memberikan kepada Anda, itu adalah sesuatu yang sangat direkomendasi mengaktifkan. Perlu diketahui, bagaimanapun, menggunakan Virus Total API, Anda _**HARUS**_ setuju untuk Terms of Service dan Anda _**HARUS**_ mematuhi semua pedoman terkait dijelaskan oleh Virus Total dokumentasi! Anda TIDAK diizinkan untuk menggunakan fungsi ini KECUALI KALAU: - - Anda membaca dan setuju untuk Terms of Service dari Virus Total dan API mereka. Terms of Service dari Virus Total dan API mereka dapat ditemukan di [Sini](https://www.virustotal.com/en/about/terms-of-service/). - - Anda membaca dan memahami, setidaknya, mukadimah dari Virus Total dokumentasi API (semuanya setelah "VirusTotal Public API v2.0" tapi sebelum "Contents"). Virus Total dokumentasi API umum dapat ditemukan di [Sini](https://www.virustotal.com/en/documentation/public-api/). - -Mencatat: Jika memindai file menggunakan Virus Total API dinonaktifkan, Anda tidak akan perlu meninjau salah di direktif-direktif dalam kategori ini (`virustotal`), karena tidak satupun dari mereka akan melakukan apapun jika ini dinonaktifkan. Untuk memperoleh Virus Total kunci API, dari dimanapun di website mereka, mengklik atas "Join our Community" link yang terletak ke arah kanan atas dari halaman, memasukkan informasi yang diminta, dan mengklik "Sign up" ketika dilakukan. Ikuti semua instruksi yang diberikan, dan ketika Anda punya kunci API umum Anda, menyalin/menempelkan bahwa kunci API umum untuk `vt_public_api_key` direktif dari `config.ini` file konfigurasi. - -##### "vt_suspicion_level" -- Secara default, phpMussel akan membatasi file dipindai menggunakan Virus Total API untuk file-file yang dianggap "mencurigakan". Anda dapat menyesuaikan pembatasan ini dengan mengubah nilai direktif `vt_suspicion_level`. -- `0`: File hanya dianggap mencurigakan jika, setelah dipindai oleh phpMussel menggunakan tanda tangan sendiri, mereka dianggap membawa berat heuristik. Ini akan efektif berarti bahwa penggunaan Virus Total API akan untuk pendapat kedua ketika phpMussel mencurigai bahwa file berpotensi menjadi berbahaya, tapi tidak dapat sepenuhnya mengesampingkan bahwa hal itu juga berpotensi menjadi jinak (atau tidak berbahaya) dan demikian akan dinyatakan biasanya tidak memblokir atau mengindikasi itu sebagai berbahaya. -- `1`: File dianggap mencurigakan jika, setelah dipindai oleh phpMussel menggunakan tanda tangan sendiri, mereka dianggap membawa berat heuristik, jika mereka diketahui executable (PE file, Mach-O file, ELF/Linux file, dll), atau jika mereka diketahui dari format yang berpotensi berisi file executable (seperti macro executable, DOC/DOCX file, arsip file seperti RAR, ZIP dan dll). Ini adalah default dan direkomendasikan tingkat kecurigaan untuk menerapkan, efektif berarti bahwa penggunaan Virus Total API akan untuk pendapat kedua ketika phpMussel tidak awalnya mendeteksi sesuatu yang berbahaya atau yang salah dengan file yang dianggap mencurigakan dan demikian akan dinyatakan biasanya tidak memblokir atau mengindikasi itu sebagai berbahaya. -- `2`: Semua file dianggap mencurigakan dan harus dipindai menggunakan Virus Total API. Saya biasanya tidak merekomendasikan menerapkan tingkat kecurigaan ini, karena risiko mencapai kuota API Anda lebih cepat daripada yang akan terjadi, tapi ada kondisi beberapa (seperti ketika webmaster atau hostmaster memiliki sedikit iman atau kepercayaan apakah gerangan dalam apapun diupload dari pengguna mereka) dimana tingkat kecurigaan ini dapat bisa sesuai. Dengan tingkat kecurigaan ini, semua file biasanya tidak diblokir atau ditandai sebagai berbahaya akan dipindai menggunakan Virus Total API. Mencatat, bagaimanapun, phpMussel akan berhenti menggunakan Virus Total API ketika kuota API Anda telah tercapai (terlepas dari tingkat kecurigaan), dan kuota Anda kemungkinan akan dicapai jauh lebih cepat bila menggunakan tingkat kecurigaan ini. - -Mencatat: Terlepas dari tingkat kecurigaan, setiap file yang masuk daftar hitam atau daftar putih oleh phpMussel tidak akan dipindai menggunakan Virus Total API, karena file seperti ini akan sudah dinyatakan sebagai jinak atau berbahaya oleh phpMussel pada saat itu mereka akan sudah dinyatakan telah dipindai oleh Virus Total API, dan demikian, memindai tambahan tidak akan diperlukan. Kemampuan phpMussel untuk memindai file menggunakan Virus Total API dimaksudkan untuk membangun kepercayaan lebih lanjut untuk apakah file yang berbahaya atau jinak pada mereka situasi dimana phpMussel sendiri tidak sepenuhnya yakin apakah file yang berbahaya atau jinak. - -##### "vt_weighting" -- Apakah Anda ingin phpMussel menerapkan hasil pemindaian menggunakan Virus Total API sebagai deteksi atau deteksi pembobotan? Direktif ini ada, karena, meskipun memindai file menggunakan mesin-mesin kelipatan (sebagai Virus Total melakukannya) harus menghasilkan tingkat deteksi meningkat (dan demikian lebih banyak file berbahaya tertangkap), juga dapat menghasilkan jumlah yang lebih banyak dari positif palsu, dan demikian, dalam kondisi beberapa, hasil pemindaian dapat digunakan lebih efektif sebagai nilai keyakinan daripada daripada sebagai kesimpulan definitif. Jika nilai 0 digunakan, hasil pemindaian menggunakan Virus Total API akan diaplikasikan sebagai pendeteksian, dan demikian, jika mesin-mesin digunakan oleh Virus Total menandai file dipindai sebagai berbahaya, phpMussel akan menganggap file yang berbahaya. Jika nilai lain yang digunakan, hasil pemindaian menggunakan Virus Total API akan diaplikasikan sebagai deteksi pembobotan, dan demikian, jumlah mesin digunakan oleh Virus Total menandai file dipindai sebagai berbahaya akan berfungsi sebagai nilai keyakinan (atau deteksi pembobotan) untuk jika file dipindai harus dianggap berbahaya oleh phpMussel (nilai digunakan akan mewakili nilai keyakinan minimum atau pembobotan minimum diperlukan untuk dianggap berbahaya). Nilai 0 digunakan secara default. - -##### "vt_quota_rate" dan "vt_quota_time" -- Menurut Virus Total dokumentasi API, itu terbatas untuk paling 4 permintaan dalam bentuk apapun dalam jangka waktu 1 menit diberikan. Jika Anda menjalankan sebuah honeyclient, honeypot atau otomatisasi lainnya yang akan menyediakan file untuk VirusTotal dan tidak hanya mengambil laporan Anda berhak untuk kuota permintaan lebih tinggi. Secara default, phpMussel ketat akan mematuhi keterbatasan ini, tapi karena kemungkinan kuota ini sedang meningkat, dua direktif ini yang disediakan sebagai sarana bagi Anda untuk menginstruksikan phpMussel tentang apa batas harus dipatuhi. Kecuali Anda telah diperintahkan untuk melakukannya, itu tidak direkomendasikan bagi Anda untuk meningkat nilai-nilai ini, tapi, jika Anda mengalami masalah berkaitan dengan mencapai kuota Anda, penurunan nilai-nilai ini kadang _**DAPAT**_ membantu Anda bagi berurusan dengan masalah-masalah ini. Batas Anda ditentukan sebagai `vt_quota_rate` permintaan dalam bentuk apapun dalam jangka waktu `vt_quota_time` menit. - -#### "urlscanner" (Kategori) -Scanner URL adalah disertakan dengan phpMussel, mampu mendeteksi URL berbahaya dari dalam data atau file dipindai. - -Mencatat: Jika scanner URL dinonaktifkan, Anda tidak perlu meninjaunya direktif-direktif dalam kategori ini (`urlscanner`), karena tidak satupun dari mereka akan melakukan apa-apa jika ini dinonaktifkan. - -Konfigurasi scanner URL memeriksa API. - -##### "google_api_key" -- Memungkinkan pemeriksaan API ke Google Safe Browsing API ketika kunci API diperlukan didefinisikan. Pemeriksaan Google Safe Browsing API memerlukan kunci API, diperoleh dari di [Sini](https://console.developers.google.com/). -- Mencatat: Ekstensi cURL diperlukan untuk menggunakan fitur ini. - -##### "maximum_api_lookups" -- Jumlah maksimum pemeriksaan API melakukan per iterasi memindai individual. Karena setiap API pemeriksaan akan menambah tambahan waktu total dibutuhkan untuk menyelesaikan setiap iterasi pemindaian, Anda mungkin ingin menetapkan batasan untuk mempercepat proses pemindaian secara keseluruhan. Bila diset untuk 0, sejumlah maksimum tidak akan diterapkan. Diset untuk 10 secara default. - -##### "maximum_api_lookups_response" -- Apa yang harus dilakukan jika jumlah maksimal pemeriksaan API dilampaui? False = Tidak melakukan apa-apa (melanjutkan pemrosesan) [Default]; True = Memblokir file. - -##### "cache_time" -- Berapa lama (dalam detik) harus hasil API untuk disimpan dalam cache? Default adalah 3600 detik (1 jam). - -#### "legal" (Kategori) -Konfigurasi yang berkaitan dengan persyaratan hukum. - -*Untuk informasi lebih lanjut tentang persyaratan hukum dan bagaimana ini dapat mempengaruhi persyaratan konfigurasi Anda, silahkan lihat bagian "[LEGAL INFORMATION](#SECTION11)" pada dokumentasi.* - -##### "pseudonymise_ip_addresses" -- Pseudonymise alamat IP saat menulis file log? True = Ya [Default]; False = Tidak. - -##### "privacy_policy" -- Alamat dari kebijakan privasi yang relevan untuk ditampilkan di footer dari setiap halaman yang dihasilkan. Spesifikasikan URL, atau biarkan kosong untuk menonaktifkan. - -#### "template_data" (Kategori) -Direktif-direktif dan variabel-variabel untuk template-template dan tema-tema. - -File template berkaitan untuk HTML diproduksi yang digunakan untuk menghasilkan pesan "Upload Ditolak" yang ditampilkan kepada pengguna-pengguna ketika file upload yang diblokir. Jika Anda menggunakan tema kustom untuk phpMussel, HTML diproduksi yang bersumber dari file `template_custom.html`, dan sebaliknya, HTML diproduksi yang bersumber dari file `template.html`. Variabel ditulis untuk file konfigurasi bagian ini yang diurai untuk HTML diproduksi dengan cara mengganti nama-nama variabel dikelilingi dengan kurung keriting ditemukan dalam HTML diproduksi dengan file variabel sesuai. Sebagai contoh, dimana `foo="bar"`, setiap terjadinya `

{foo}

` ditemukan dalam HTML diproduksi akan menjadi `

bar

`. - -##### "theme" -- Tema default untuk phpMussel. - -##### "magnification" -- *v1: "Magnification"* -- Perbesaran font. Default = 1. - -##### "css_url" -- File template untuk tema kustom menggunakan properti CSS eksternal, sedangkan file template untuk tema default menggunakan properti CSS internal. Untuk menginstruksikan phpMussel menggunakan file template untuk tema kustom, menentukan alamat HTTP publik file CSS tema kustom Anda menggunakan variable `css_url`. Jika Anda biarkan kosong variabel ini, phpMussel akan menggunakan file template untuk tema default. - -#### "PHPMailer" (Kategori) -Konfigurasi PHPMailer. - -Saat ini, phpMussel menggunakan PHPMailer hanya untuk otentikasi dua faktor untuk bagian depan. Jika Anda tidak menggunakan bagian depan, atau jika Anda tidak menggunakan otentikasi dua-faktor untuk bagian depan, Anda dapat mengabaikan direktif ini. - -##### "event_log" -- *v1: "EventLog"* -- File untuk mencatat semua kejadian yang terkait dengan PHPMailer. Spesifikasikan nama file, atau biarkan kosong untuk menonaktifkan. - -##### "skip_auth_process" -- *v1: "SkipAuthProcess"* -- Pengaturan direktif ini ke `true` menginstruksikan PHPMailer untuk melewati proses otentikasi normal yang biasanya terjadi ketika mengirim email melalui SMTP. Ini harus dihindari, karena melewatkan proses ini dapat mengekspos email keluar ke serangan MITM, tetapi mungkin diperlukan dalam kasus dimana proses ini mencegah PHPMailer menghubungkan ke server SMTP. - -##### "enable_two_factor" -- *v1: "Enable2FA"* -- Direktif ini menentukan apakah akan menggunakan 2FA untuk akun depan. - -##### "host" -- *v1: "Host"* -- Host SMTP yang digunakan untuk email keluar. - -##### "port" -- *v1: "Port"* -- Nomor port yang digunakan untuk email keluar. Default = 587. - -##### "smtp_secure" -- *v1: "SMTPSecure"* -- Protokol yang digunakan saat mengirim email melalui SMTP (TLS atau SSL). - -##### "smtp_auth" -- *v1: "SMTPAuth"* -- Direktif ini menentukan apakah akan mengotentikasi sesi SMTP (biasanya harus dibiarkan sendiri). - -##### "username" -- *v1: "Username"* -- Nama pengguna yang digunakan saat mengirim email melalui SMTP. - -##### "password" -- *v1: "Password"* -- Kata sandi yang digunakan saat mengirim email melalui SMTP. - -##### "set_from_address" -- *v1: "setFromAddress"* -- Alamat pengirim yang dikutip saat mengirim email melalui SMTP. - -##### "set_from_name" -- *v1: "setFromName"* -- Nama pengirim yang dikutip saat mengirim email melalui SMTP. - -##### "add_reply_to_address" -- *v1: "addReplyToAddress"* -- Alamat balasan yang dikutip saat mengirim email melalui SMTP. - -##### "add_reply_to_name" -- *v1: "addReplyToName"* -- Nama balasan yang dikutip saat mengirim email melalui SMTP. - -#### "supplementary_cache_options" (Kategori) -Opsi cache tambahan. - -##### "prefix" -- Nilai yang ditentukan disini akan ditambahkan ke awal kunci untuk semua entri di cache. Kosong secara default. Ketika beberapa instalasi ada di server, ini dapat berguna untuk menjaga cache mereka terpisah. - -##### "enable_apcu" -- Menentukan apakah akan mencoba menggunakan APCu untuk cache. Default = False. - -##### "enable_memcached" -- Menentukan apakah akan mencoba menggunakan Memcached untuk cache. Default = False. - -##### "enable_redis" -- Menentukan apakah akan mencoba menggunakan Redis untuk cache. Default = False. - -##### "enable_pdo" -- Menentukan apakah akan mencoba menggunakan PDO untuk cache. Default = False. - -##### "memcached_host" -- Nilai host Memcached. Default = "localhost". - -##### "memcached_port" -- Nilai port Memcached. Default = "11211". - -##### "redis_host" -- Nilai host Redis. Default = "localhost". - -##### "redis_port" -- Nilai port Redis. Default = "6379". - -##### "redis_timeout" -- Nilai batas waktu Redis. Default = "2.5". - -##### "pdo_dsn" -- Nilai DSN PDO. Default = "`mysql:dbname=phpmussel;host=localhost;port=3306`". - -*Lihat juga: [Apa itu "PDO DSN"? Bagaimana saya bisa menggunakan PDO dengan phpMussel?](#HOW_TO_USE_PDO)* - -##### "pdo_username" -- Nama pengguna PDO. - -##### "pdo_password" -- Kata sandi PDO. - ---- - - -### 8. FORMAT TANDA TANGAN - -*Lihat juga:* -- *[Apa yang "tanda tangan"?](#WHAT_IS_A_SIGNATURE)* - -9 byte pertama `[x0-x8]` dari file tanda tangan phpMussel adalah `phpMussel`, dan Bertindak sebagai "nomor ajaib" (magic number), untuk mengidentifikasi mereka sebagai file tanda tangan (ini membantu mencegah phpMussel secara tidak sengaja mencoba menggunakan file yang bukan file tanda tangan). Byte berikutnya `[x9]` mengidentifikasi jenis file tanda tangan, yang harus diketahui oleh phpMussel agar bisa menafsirkan file tanda tangan dengan benar. Jenis file tanda tangan berikut dikenali: - -Tipe | Byte | Deskripsi ----|---|--- -`General_Command_Detections` | `0?` | Untuk file tanda tangan CSV (comma separated values). Nilai (tanda tangan) adalah string yang dikodekan heksadesimal untuk dicari dalam file. Tanda tangan disini tidak memiliki nama atau rincian lainnya (hanya string yang bisa dideteksi). -`Filename` | `1?` | Untuk tanda tangan nama file. -`Hash` | `2?` | Untuk tanda tangan hash. -`Standard` | `3?` | Untuk file tanda tangan yang bekerja langsung dengan isi file. -`Standard_RegEx` | `4?` | Untuk file tanda tangan yang bekerja langsung dengan isi file. Tanda tangan dapat berisi ekspresi reguler. -`Normalised` | `5?` | Untuk file tanda tangan yang bekerja dengan isi file yang dibuat menjadi ANSI. -`Normalised_RegEx` | `6?` | Untuk file tanda tangan yang bekerja dengan isi file yang dibuat menjadi ANSI. Tanda tangan dapat berisi ekspresi reguler. -`HTML` | `7?` | Untuk file tanda tangan yang bekerja dengan isi file yang dibuat menjadi HTML. -`HTML_RegEx` | `8?` | Untuk file tanda tangan yang bekerja dengan isi file yang dibuat menjadi HTML. Tanda tangan dapat berisi ekspresi reguler. -`PE_Extended` | `9?` | Untuk file tanda tangan yang bekerja dengan metadata PE (selain metadata seksi PE). -`PE_Sectional` | `A?` | Untuk file tanda tangan yang bekerja dengan metadata seksi PE. -`Complex_Extended` | `B?` | Untuk file tanda tangan yang bekerja dengan berbagai peraturan berdasarkan metadata yang diperluas yang dihasilkan oleh phpMussel. -`URL_Scanner` | `C?` | Untuk file tanda tangan yang bekerja dengan URL. - -Byte berikutnya `[x10]` adalah baris baru `[0A]`, dan menyimpulkan header file tanda tangan phpMussel. - -Setiap baris yang tidak kosong setelah itu adalah tanda tangan atau peraturan. Setiap tanda tangan atau peraturan menempati satu baris. Format tanda tangan yang didukung dijelaskan dibawah ini. - -#### *TANDA TANGAN NAMA FILE* -Semua tanda tangan nama file mengikuti format ini: - -`NAMA:FNRX` - -Dimana NAMA adalah nama mengutip tanda tangan dan FNRX adalah pola regex untuk mencocokkan nama file (tidak ter-encode). - -#### *TANDA TANGAN HASH* -Semua tanda tangan HASH mengikuti format ini: - -`HASH:UKURAN:NAMA` - -Dimana HASH adalah hash (biasanya MD5) dari keseluruhan file, UKURAN adalah total ukuran file dan NAMA adalah nama untuk mengutip tanda tangan tersebut. - -#### *TANDA TANGAN SEKSIONAL PE* -Semua tanda tangan seksional PE mengikuti format ini: - -`UKURAN:HASH:NAMA` - -Dimana HASH adalah MD5 dari seksi PE, UKURAN adalah total ukuran dari seksi PE dan NAMA adalah nama untuk mengutip tanda tangan tersebut. - -#### *TANDA TANGAN DIPERPANJANG PE* -Semua tanda tangan diperpanjang PE mengikuti format ini: - -`$VAR:HASH:UKURAN:NAMA` - -Dimana $VAR adalah nama dari PE variabel untuk mencocokkan terhadap, HASH adalah MD5 dari variabel, UKURAN adalah ukuran total dari variabel dan NAMA adalah nama untuk mengutip tanda tangan tersebut. - -#### *TANDA TANGAN DIPERPANJANG KOMPLEKS* -Tanda tangan diperpanjang kompleks adalah berbeda dengan jenis lain dari tanda tangan phpMussel, melalui bahwa apa yang mencocokkan mereka ditentukan oleh tanda tangan sendiri dan mereka dapat mencocokkan terhadap beberapa kriteria. Kriteria mencocokkan yang dipisahkan oleh ";" dan pencocokan jenis dan pencocokan data masing-masing kriteria yang dipisahkan oleh ":" sebagai sehingga format untuk tanda tangan ini cenderung terlihat sedikit seperti: - -`$variabel1:DATA;$variabel:DATA;NamaTandaTangan` - -#### *YANG LAIN* -Semua tanda tangan yang lain mengikuti format ini: - -`NAMA:HEX:FROM:TO` - -Dimana NAMA adalah nama yang mengutip tanda tangan ini dan HEX adalah sebuah segmen heksadesimal-dikodekan dari data yang dimaksudkan untuk dicocokkan oleh tanda tangan yang diberikan. FROM dan TO adalah parameter opsional, mengindikasikan dari mana dan kemana posisi dari sumber file untuk cek. - -#### *REGEX (REGULAR EXPRESSIONS)* -Setiap bentuk dari regex mengerti dan dengan benar diproses oleh PHP seharusnya bisa dengan benar dimengerti dan diproses oleh phpMussel dan tanda tangannya. Bagaimanapun, saya menyarankan peringatan ekstrim ketika menuliskan tanda tangan berbasis regex baru karena, jika Anda tidak yakin apa yang Anda lakukan dapat menghasilkan hal yang tidak diinginkan. Coba lihat source-code phpMussel dan jika Anda tidak yakin tentang konteks dari statemen regex diparsing. Juga ingat bahwa semua pola (dengan pengecualian ke nama data, metadata terkompres dan pola MD5) harus diencode heksadesimal (sintaksis pola sebelumnya, tentu saja)! - ---- - - -### 9. MASALAH KOMPATIBILITAS DIKETAHUI - -#### PHP dan PCRE -- phpMussel memerlukan PHP dan PCRE untuk mengeksekusi dan berfungsi dengan baik. Tanpa PHP, atau tanpa ekstensi PCRE, phpMussel tidak akan mengeksekusi atau berfungsi dengan baik. Seharusnya memastikan sistem Anda terinstal PHP dan PCRE dan tersedia secara prioritas untuk mengunduh dan menginstal phpMussel. - -#### KOMPATIBILITAS SOFTWARE ANTI-VIRUS - -Masalah kompatibilitas antara phpMussel dan beberapa vendor anti-virus telah diketahui terjadi di masa lalu, jadi setiap beberapa bulan atau sekitar itu, saya memeriksa versi terbaru dari basis kode phpMussel terhadap Total Virus, untuk melihat apakah ada masalah dilaporkan disana. Ketika masalah dilaporkan disana, saya daftar masalah yang dilaporkan disini, dalam dokumentasi. - -Ketika saya baru-baru ini memeriksa (2022.05.12), tidak ada masalah dilaporkan. - -Saya tidak memeriksa file tanda tangan, dokumentasi, atau konten periferal lainnya. File tanda tangan selalu menyebabkan beberapa kesalahan positif ketika solusi anti-virus lain mendeteksi mereka, jadi saya akan sangat menyarankan, bahwa jika Anda berencana untuk menginstal phpMussel di mesin dimana solusi anti-virus lain sudah ada, untuk daftar file tanda tangan phpMussel di daftar putih Anda. - ---- - - -### 10. PERTANYAAN YANG SERING DIAJUKAN (FAQ) - -- [Apa yang "tanda tangan"?](#WHAT_IS_A_SIGNATURE) -- [Apa yang dimaksud dengan "positif palsu"?](#WHAT_IS_A_FALSE_POSITIVE) -- [Seberapa sering tanda tangan diperbarui?](#SIGNATURE_UPDATE_FREQUENCY) -- [Saya mengalami masalah ketika menggunakan phpMussel dan saya tidak tahu apa saya harus lakukan! Tolong bantu!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [Saya ingin menggunakan phpMussel (sebelum v2) dengan versi PHP yang lebih tua dari 5.4.0; Anda dapat membantu?](#MINIMUM_PHP_VERSION) -- [Saya ingin menggunakan phpMussel (v2) dengan versi PHP yang lebih tua dari 7.2.0; Anda dapat membantu?](#MINIMUM_PHP_VERSION_V2) -- [Dapatkah saya menggunakan satu instalasi phpMussel untuk melindungi beberapa domain?](#PROTECT_MULTIPLE_DOMAINS) -- [Saya tidak ingin membuang waktu dengan menginstal ini dan membuatnya bekerja dengan situs web saya; Bisakah saya membayar Anda untuk melakukan semuanya untuk saya?](#PAY_YOU_TO_DO_IT) -- [Dapatkah saya mempekerjakan Anda atau pengembang proyek ini untuk pekerjaan pribadi?](#HIRE_FOR_PRIVATE_WORK) -- [Saya perlu modifikasi khusus, customisasi, dll; Apakah kamu bisa membantu?](#SPECIALIST_MODIFICATIONS) -- [Saya seorang pengembang, perancang situs web, atau programmer. Dapatkah saya menerima atau menawarkan pekerjaan yang berkaitan dengan proyek ini?](#ACCEPT_OR_OFFER_WORK) -- [Saya ingin berkontribusi pada proyek ini; Dapatkah saya melakukan ini?](#WANT_TO_CONTRIBUTE) -- [Bagaimana cara mengakses rincian spesifik tentang file saat dipindai?](#SCAN_DEBUGGING) -- [Dapatkah saya menggunakan cron untuk mengupdate secara otomatis?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [Dapatkah phpMussel memindai file dengan nama yang tidak ANSI?](#SCAN_NON_ANSI) -- [Daftar hitam – Daftar putih – Daftar abu-abu – Apa itu mereka, dan bagaimana cara menggunakannya?](#BLACK_WHITE_GREY) -- [Ketika saya mengaktifkan atau menonaktifkan file tanda tangan melalui halaman pembaruan, itu memilah mereka secara alfanumerik dalam konfigurasi. Bisakah saya mengubah cara mereka disortir?](#CHANGE_COMPONENT_SORT_ORDER) -- [Apa itu "PDO DSN"? Bagaimana saya bisa menggunakan PDO dengan phpMussel?](#HOW_TO_USE_PDO) -- [Fasilitas upload saya tidak sinkron (misalnya, menggunakan ajax, ajaj, json, dll). Saya tidak melihat pesan atau peringatan khusus ketika upload diblokir. Apa yang sedang terjadi?](#AJAX_AJAJ_JSON) -- [Bisakah phpMussel mendeteksi EICAR?](#DETECT_EICAR) - -#### Apa yang "tanda tangan"? - -Dalam konteks phpMussel, "tanda tangan" mengacu pada data yang bertindak sebagai indikator/pengenal untuk sesuatu spesifik yang kita cari, biasanya dalam bentuk segmen yang sangat kecil, unik, tidak berbahaya dari sesuatu yang lebih besar dan biasanya, sebaliknya berbahaya, seperti virus atau trojan, atau dalam bentuk file checksum, hash, atau indikator yang mengidentifikasi lainnya, dan biasanya termasuk label, dan beberapa data lainnya, untuk membantu memberikan konteks tambahan yang bisa digunakan oleh phpMussel untuk menentukan cara terbaik untuk melanjutkan ketika menemukan apa yang kita cari. - -#### Apa yang dimaksud dengan "positif palsu"? - -Istilah "positif palsu" (*alternatif: "kesalahan positif palsu"; "alarm palsu"*; Bahasa Inggris: *false positive*; *false positive error*; *false alarm*), dijelaskan dengan sangat sederhana, dan dalam konteks umum, digunakan saat pengujian untuk kondisi, untuk merujuk pada hasil tes, ketika hasilnya positif (yaitu, kondisi adalah dianggap untuk menjadi "positif", atau "benar"), namun diharapkan (atau seharusnya) menjadi negatif (yaitu, kondisi ini, pada kenyataannya, adalah "negatif", atau "palsu"). Sebuah "positif palsu" bisa dianggap analog dengan "menangis serigala" (dimana kondisi dites adalah apakah ada serigala di dekat kawanan, kondisi adalah "palsu" di bahwa tidak ada serigala di dekat kawanan, dan kondisi ini dilaporkan sebagai "positif" oleh gembala dengan cara memanggil "serigala, serigala"), atau analog dengan situasi dalam pengujian medis dimana seorang pasien didiagnosis sebagai memiliki beberapa penyakit, ketika pada kenyataannya, mereka tidak memiliki penyakit tersebut. - -Hasil terkait ketika pengujian untuk kondisi dapat digambarkan menggunakan istilah "positif benar", "negatif benar" dan "negatif palsu". Sebuah "positif benar" mengacu pada saat hasil tes dan keadaan sebenarnya dari kondisi adalah keduanya benar (atau "positif"), dan sebuah "negatif benar" mengacu pada saat hasil tes dan keadaan sebenarnya dari kondisi adalah keduanya palsu (atau "negatif"); Sebuah "positif benar" atau "negatif benar" adalah dianggap untuk menjadi sebuah "inferensi benar". Antitesis dari "positif palsu" adalah sebuah "negatif palsu"; Sebuah "negatif palsu" mengacu pada saat hasil tes are negatif (yaitu, kondisi adalah dianggap untuk menjadi "negatif", atau "palsu"), namun diharapkan (atau seharusnya) menjadi positif (yaitu, kondisi ini, pada kenyataannya, adalah "positif", atau "benar"). - -Dalam konteks phpMussel, istilah-istilah ini mengacu pada tanda tangan dari phpMussel dan file yang mereka memblokir. Ketika phpMussel blok file karena buruk, usang atau salah tanda tangan, tapi seharusnya tidak melakukannya, atau ketika melakukannya untuk alasan salah, kita menyebut acara ini sebuah "positif palsu". Ketika phpMussel gagal untuk memblokir file yang seharusnya diblokir, karena ancaman tak terduga, hilang tanda tangan atau kekurangan dalam tanda tangan nya, kita menyebut acara ini sebuah "deteksi terjawab" atau "missing detection" (ini analog dengan sebuah "negatif palsu"). - -Ini dapat diringkas dengan tabel dibawah: - -  | phpMussel seharusnya *TIDAK* memblokir file | phpMussel *SEHARUSNYA* memblokir file ----|---|--- -phpMussel *TIDAK* memblokir file | Negatif benar (inferensi benar) | Deteksi terjawab (analog dengan negatif palsu) -phpMussel memblokir file | __Positif palsu__ | Positif benar (inferensi benar) - -#### Seberapa sering tanda tangan diperbarui? - -Frekuensi pembaruan bervariasi tergantung pada file tanda tangan. Semua penulis bagi file tanda tangan phpMussel umumnya mencoba untuk menjaga tanda tangan mereka sebagai diperbarui sebanyak mungkin, tapi karena semua dari kita memiliki komitmen lainnya, kehidupan kita di luar proyek, dan karena kita tidak dikompensasi finansial (yaitu, dibayar) untuk upaya kami pada proyek, jadwal pembaruan yang tepat tidak dapat dijamin. Umumnya, tanda tangan diperbarui ketika ada cukup waktu untuk memperbaruinya. Bantuan selalu dihargai jika Anda bersedia untuk menawarkan. - -#### Saya mengalami masalah ketika menggunakan phpMussel dan saya tidak tahu apa saya harus lakukan! Tolong bantu! - -- Apakah Anda menggunakan versi terbaru bagi perangkat lunak? Apakah Anda menggunakan versi terbaru bagi file tanda tangan Anda? Jika jawaban untuk salah satu dari dua pertanyaan ini adalah tidak, mencoba untuk memperbarui segala sesuatu pertama, dan memeriksa apakah masalah terus berlanjut. Jika terus berlanjut, lanjutkan membaca. -- Apakah Anda memeriksa semua dokumentasi? Jika tidak, silahkan melakukannya. Jika masalah tidak dapat diselesaikan dengan menggunakan dokumentasi, lanjutkan membaca. -- Apakah Anda memeriksa **[halaman issues](https://github.com/phpMussel/phpMussel/issues)**, untuk melihat apakah masalah telah disebutkan sebelumnya? Jika sudah disebutkan sebelumnya, memeriksa apakah ada saran, ide, dan/atau solusi yang tersedia, dan ikuti sesuai yang diperlukan untuk mencoba untuk menyelesaikan masalah. -- Jika masalah masih berlanjut, silahkan mencari bantuan dengan membuat issue baru di halaman issues. - -#### Saya ingin menggunakan phpMussel (sebelum v2) dengan versi PHP yang lebih tua dari 5.4.0; Anda dapat membantu? - -Tidak. PHP >= 5.4.0 adalah persyaratan minimum untuk phpMussel < v2. - -#### Saya ingin menggunakan phpMussel (v2) dengan versi PHP yang lebih tua dari 7.2.0; Anda dapat membantu? - -Tidak. PHP >= 7.2.0 adalah persyaratan minimum untuk phpMussel v2. - -*Lihat juga: [Bagan Kompatibilitas](https://maikuolan.github.io/Compatibility-Charts/).* - -#### Dapatkah saya menggunakan satu instalasi phpMussel untuk melindungi beberapa domain? - -Ya. Instalasi phpMussel tidak secara alami terkunci pada domain tertentu, dan dengan demikian dapat digunakan untuk melindungi beberapa domain. Umumnya, kami mengacu pada instalasi phpMussel yang hanya melindungi satu domain as "instalasi domain tunggal" ("single-domain installations"), dan kami mengacu pada instalasi phpMussel yang melindungi beberapa domain dan/atau sub-domain sebagai "instalasi domain beberapa" ("multi-domain installations"). Jika Anda mengoperasikan instalasi domain beberapa dan perlu menggunakan berbagai kumpulan file tanda tangan untuk berbagai domain, atau perlu phpMussel untuk dikonfigurasi secara berbeda untuk domain berbeda, kamu bisa melakukan ini. Setelah memuat file konfigurasi (`config.ini`), phpMussel akan memeriksa adanya "file untuk pengganti konfigurasi" spesifik untuk domain (atau sub-domain) yang diminta (`domain-yang-diminta.tld.config.ini`), dan jika ditemukan, setiap nilai konfigurasi yang ditentukan oleh file untuk pengganti konfigurasi akan digunakan untuk instance eksekusi daripada nilai konfigurasi yang ditentukan oleh file konfigurasi. File untuk pengganti konfigurasi identik dengan file konfigurasi, dan atas kebijaksanaan Anda, dapat berisi keseluruhan semua konfigurasi yang tersedia untuk phpMussel, atau apapun bagian kecil yang dibutuhkan yang berbeda dari nilai yang biasanya ditentukan oleh file konfigurasi. File untuk pengganti konfigurasi diberi nama sesuai dengan domain yang mereka inginkan (jadi, misalnya, jika Anda memerlukan file untuk pengganti konfigurasi untuk domain, `https://www.some-domain.tld/`, file untuk pengganti konfigurasi harus diberi nama sebagai `some-domain.tld.config.ini`, dan harus ditempatkan di dalam vault bersama file konfigurasi, `config.ini`). Nama domain untuk instance eksekusi berasal dari header permintaan `HTTP_HOST`; "www" diabaikan. - -#### Saya tidak ingin membuang waktu dengan menginstal ini dan membuatnya bekerja dengan situs web saya; Bisakah saya membayar Anda untuk melakukan semuanya untuk saya? - -Mungkin. Ini dipertimbangkan berdasarkan kasus per kasus. Beritahu kami apa yang Anda butuhkan, apa yang Anda tawarkan, dan kami akan memberitahu Anda jika kami dapat membantu. - -#### Dapatkah saya mempekerjakan Anda atau pengembang proyek ini untuk pekerjaan pribadi? - -*Lihat di atas.* - -#### Saya perlu modifikasi khusus, customisasi, dll; Apakah kamu bisa membantu? - -*Lihat di atas.* - -#### Saya seorang pengembang, perancang situs web, atau programmer. Dapatkah saya menerima atau menawarkan pekerjaan yang berkaitan dengan proyek ini? - -Ya. Lisensi kami tidak melarang hal ini. - -#### Saya ingin berkontribusi pada proyek ini; Dapatkah saya melakukan ini? - -Ya. Kontribusi untuk proyek ini sangat disambut baik. Silahkan lihat "CONTRIBUTING.md" untuk informasi lebih lanjut. - -#### Bagaimana cara mengakses rincian spesifik tentang file saat dipindai? - -Anda dapat mengakses rincian spesifik tentang file saat dipindai dengan menetapkan array yang akan digunakan untuk tujuan ini sebelum menginstruksikan phpMussel untuk memindai mereka. - -Pada contoh dibawah ini, `$Foo` ditugaskan untuk tujuan ini. Setelah memindai `/jalur/file/...`, informasi rinci tentang file yang dalam `/jalur/file/...` akan berada dalam `$Foo`. - -```PHP -Dapatkah saya menggunakan cron untuk mengupdate secara otomatis? - -Ya. API dibangun dalam bagian depan untuk berinteraksi dengan halaman pembaruan melalui skrip eksternal. Skrip terpisah, "[Cronable](https://github.com/Maikuolan/Cronable)", tersedia, dan dapat digunakan oleh cron manager atau cron scheduler untuk mengupdate paket ini dan paket didukung lainnya secara otomatis (script ini menyediakan dokumentasi sendiri). - -#### Dapatkah phpMussel memindai file dengan nama yang tidak ANSI? - -Misalkanlah ada direktori yang Anda ingin pindai. Di direktori ini, Anda memiliki beberapa file dengan nama non-ANSI. -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -Anggaplah Anda menggunakan mode CLI atau API phpMussel untuk memindai. - -Ketika menggunakan PHP < 7.1.0, pada beberapa sistem, phpMussel tidak akan melihat file-file ini ketika mencoba untuk memindai direktori, dan karenanya, tidak akan dapat memindai file-file ini. Anda mungkin akan melihat hasil yang sama seperti jika Anda memindai direktori kosong: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Dimulai. - Sun, 01 Apr 2018 22:27:41 +0800 Selesai. -``` - -Juga, ketika menggunakan PHP < 7.1.0, memindai file secara individual menghasilkan hasil seperti ini: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Dimulai. - > Memeriksa 'X:/directory/Пример.txt' (FN: b831eb8f): - -> File tidak valid! - Sun, 01 Apr 2018 22:27:41 +0800 Selesai. -``` - -Atau ini: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Dimulai. - > X:/directory/??????.txt bukan file atau direktori. - Sun, 01 Apr 2018 22:27:41 +0800 Selesai. -``` - -Ini karena cara PHP menangani nama file non-ANSI sebelum PHP 7.1.0. Jika Anda mengalami masalah ini, solusinya adalah memperbarui instalasi PHP Anda ke 7.1.0 atau yang lebih baru. Di PHP >= 7.1.0, nama file non-ANSI ditangani lebih baik, dan phpMussel harus dapat memindai file dengan benar. - -Sebagai perbandingan, hasil ketika mencoba untuk memindai direktori menggunakan PHP >= 7.1.0: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Dimulai. - -> Memeriksa '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> Tidak ada masalah yang diketahui. - -> Memeriksa '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> Tidak ada masalah yang diketahui. - -> Memeriksa '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> Tidak ada masalah yang diketahui. - Sun, 01 Apr 2018 22:27:41 +0800 Selesai. -``` - -Dan mencoba memindai file secara individual: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Dimulai. - > Memeriksa 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> Tidak ada masalah yang diketahui. - Sun, 01 Apr 2018 22:27:41 +0800 Selesai. -``` - -#### Daftar hitam – Daftar putih – Daftar abu-abu – Apa itu mereka, dan bagaimana cara menggunakannya? - -Istilah-istilah ini menyampaikan makna yang berbeda dalam konteks yang berbeda. Di phpMussel, ada tiga konteks dimana istilah-istilah ini digunakan: Respons ukuran file, respons jenis file, dan daftar abu-abu tanda tangan. - -Untuk mencapai hasil yang diinginkan dengan biaya minimal untuk diproses, ada beberapa hal sederhana yang dapat diperiksa oleh phpMussel sebelum benar-benar memindai file, seperti ukuran file, nama, dan ekstensi. Sebagai contoh; Jika file terlalu besar, atau jika ekstensi menunjukkan jenis file yang kami tidak ingin izinkan ke situs web kami, kami dapat segera menandai file, dan tidak perlu memindainya. - -Respons ukuran file adalah cara phpMussel merespons ketika file melebihi batas yang ditentukan. Meskipun tidak ada daftar terlibat, sebuah file dapat dianggap masuk daftar hitam, masuk daftar putih, atau masuk daftar abu-abu, berdasarkan ukurannya. Dua direktif konfigurasi opsional yang terpisah ada untuk menentukan batas dan respons yang diinginkan masing-masing. - -Respons jenis file adalah cara phpMussel merespons ekstensi file. Tiga direktif konfigurasi opsional tersedia untuk secara eksplisit menentukan ekstensi mana yang harus dimasukkan dalam daftar hitam, daftar putih, atau daftar abu-abu. Sebuah file dapat dianggap masuk daftar hitam, masuk daftar putih, atau masuk daftar abu-abu jika ekstensinya cocok dengan salah satu ekstensi yang ditentukan. - -Dalam dua konteks ini, menjadi masuk daftar putih berarti tidak boleh dipindai atau ditandai; masuk daftar hitam berarti harus ditandai (dan karena itu tidak perlu memindainya); dan menjadi masuk daftar abu-abu berarti analisis lebih lanjut diperlukan untuk menentukan apakah kita harus menandainya (yaitu, itu harus dipindai). - -Daftar abu-abu tanda tangan adalah daftar tanda tangan yang pada dasarnya harus diabaikan (ini secara singkat disebutkan sebelumnya dalam dokumentasi). Ketika tanda tangan di daftar abu-abu tanda tangan dipicu, phpMussel terus bekerja melalui tandatangannya dan tidak mengambil tindakan khusus dalam hal tanda tangan dalam daftar abu-abu. Tidak ada daftar hitam tanda tangan, karena perilaku tersirat adalah perilaku normal untuk tanda tangan yang dipicu, dan tidak ada daftar putih tanda tangan, karena perilaku tersirat tidak akan benar-benar masuk akal dengan pertimbangan bagaimana phpMussel bekerja normal dan kemampuan yang sudah dimiliki. - -Daftar abu-abu tanda tangan berguna jika Anda perlu menyelesaikan masalah yang disebabkan oleh tanda tangan tertentu tanpa menonaktifkan atau menghapus seluruh file tanda tangan. - -#### Ketika saya mengaktifkan atau menonaktifkan file tanda tangan melalui halaman pembaruan, itu memilah mereka secara alfanumerik dalam konfigurasi. Bisakah saya mengubah cara mereka disortir? - -Ya. Jika Anda perlu memaksa beberapa file untuk dieksekusikan dalam urutan tertentu, Anda dapat menambahkan beberapa data sewenang-wenang sebelum nama mereka di direktif konfigurasi dimana mereka terdaftar, dipisahkan oleh titik dua. Ketika halaman pembaruan selanjutnya mengurutkan file lagi, data tambahan ini akan mempengaruhi urutan, menyebabkan mereka secara konsekuen mengeksekusi dalam urutan yang Anda inginkan, tanpa perlu mengganti nama mereka. - -Misalnya, dengan asumsi direktif konfigurasi dengan file yang tercantum sebagai berikut: - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -Jika Anda ingin `file3.php` untuk mengeksekusi terlebih dahulu, Anda bisa menambahkan sesuatu seperti `aaa:` sebelum nama file: - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -Kemudian, jika file baru, `file6.php`, diaktifkan, ketika halaman pembaruan mengurutkan semuanya lagi, itu akan berakhir seperti ini: - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -Situasi adalah sama ketika file dinonaktifkan. Sebaliknya, jika Anda ingin file dieksekusi terakhir, Anda bisa menambahkan sesuatu seperti `zzz:` sebelum nama file. Dalam hal apapun, Anda tidak perlu mengganti nama file yang dimaksud. - -#### Apa itu "PDO DSN"? Bagaimana saya bisa menggunakan PDO dengan phpMussel? - -"PDO" adalah akronim dari "[PHP Data Objects](https://www.php.net/manual/en/intro.pdo.php)". Ini menyediakan antarmuka untuk PHP untuk dapat terhubung ke beberapa sistem database yang biasa digunakan oleh berbagai aplikasi PHP. - -"DSN" adalah akronim dari "[data source name](https://en.wikipedia.org/wiki/Data_source_name)" (nama sumber data). "PDO DSN" menjelaskan kepada PDO bagaimana seharusnya terhubung ke database. - -phpMussel menyediakan opsi untuk memanfaatkan PDO untuk tujuan caching. Agar ini berfungsi sebagaimana dimaksud, Anda harus mengkonfigurasi phpMussel yang sesuai, demikian mengaktifkan PDO, membuat basis data baru untuk digunakan oleh phpMussel (jika Anda belum memiliki basis data untuk digunakan oleh phpMussel), dan membuat tabel baru di database Anda sesuai dengan struktur yang dijelaskan dibawah. - -Ketika koneksi basis data berhasil, tapi tabel yang diperlukan tidak ada, akan berusaha membuatnya secara otomatis. Namun, perilaku ini belum diuji secara luas dan kesuksesan tidak dapat dijamin. - -Ini, tentu saja, hanya berlaku jika Anda ingin phpMussel menggunakan PDO. Jika Anda cukup senang untuk phpMussel untuk menggunakan caching flatfile (per konfigurasi default), atau salah satu dari berbagai opsi caching lain yang disediakan, Anda tidak perlu repot-repot menyusahkan diri Anda dengan mengatur database, tabel dan sebagainya. - -Struktur yang dijelaskan dibawah menggunakan "phpmussel" sebagai nama basis datanya, tetapi Anda dapat menggunakan nama yang Anda inginkan untuk basis data Anda, asalkan nama yang sama direplikasi pada konfigurasi DSN Anda. - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -Direktif konfigurasi `pdo_dsn` harus dikonfigurasi seperti dijelaskan dibawah. - -``` -Tergantung pada driver basis data yang digunakan... -├─4d (Peringatan: Eksperimental, belum diuji, tidak direkomendasikan!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └Host untuk terhubung dengan untuk menemukan database. -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └Nama basis data yang akan -│ │ │ digunakan. -│ │ │ -│ │ └Nomor port yang akan dihubungkan dengan host. -│ │ -│ └Host untuk terhubung dengan untuk menemukan database. -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └Nama basis data yang akan digunakan. -│ │ │ -│ │ └Host untuk terhubung dengan untuk menemukan database. -│ │ -│ └Nilai yang mungkin: "mssql", "sybase", "dblib". -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├Dapat menjadi jalur ke file database lokal. -│ │ -│ ├Dapat terhubung dengan nomor host dan port. -│ │ -│ └Anda harus merujuk pada dokumentasi Firebird jika Anda -│ ingin menggunakan ini. -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └Database yang di katalog untuk dihubungkan. -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └Database yang di katalog untuk dihubungkan. -├─mysql (Paling direkomendasikan!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └Nomor port yang akan dihubungkan -│ │ │ dengan host. -│ │ │ -│ │ └Host untuk terhubung dengan untuk menemukan -│ │ database. -│ │ -│ └Nama basis data yang akan digunakan. -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├Dapat merujuk ke database terkatalog spesifik. -│ │ -│ ├Dapat terhubung dengan nomor host dan port. -│ │ -│ └Anda harus merujuk pada dokumentasi Oracle jika Anda ingin -│ menggunakan ini. -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├Dapat merujuk ke database terkatalog spesifik. -│ │ -│ ├Dapat terhubung dengan nomor host dan port. -│ │ -│ └Anda harus merujuk pada dokumentasi ODBC/DB2 jika Anda ingin -│ menggunakan ini. -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └Nama basis data yang akan -│ │ │ digunakan. -│ │ │ -│ │ └Nomor port yang akan dihubungkan dengan host. -│ │ -│ └Host untuk terhubung dengan untuk menemukan database. -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └Jalur ke file database lokal untuk digunakan. -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └Nama basis data yang akan digunakan. - │ │ - │ └Nomor port yang akan dihubungkan dengan host. - │ - └Host untuk terhubung dengan untuk menemukan database. -``` - -Jika Anda tidak yakin tentang apa yang harus digunakan untuk beberapa bagian tertentu dari DSN Anda, coba lihat terlebih dahulu apakah itu berfungsi sebagaimana mestinya, tanpa mengubah apapun. - -Perhatikan bahwa `pdo_username` dan` pdo_password` harus sama dengan nama pengguna dan kata sandi yang Anda pilih untuk basis data Anda. - -#### Fasilitas upload saya tidak sinkron (misalnya, menggunakan ajax, ajaj, json, dll). Saya tidak melihat pesan atau peringatan khusus ketika upload diblokir. Apa yang sedang terjadi? - -Ini normal. Halaman "Upload Ditolak" standar phpMussel disajikan sebagai HTML, yang seharusnya cukup untuk permintaan sinkron biasa, tetapi yang mungkin tidak akan cukup jika fasilitas upload Anda mengharapkan sesuatu yang lain. Jika fasilitas upload Anda tidak sinkron, atau mengharapkan status upload akan dilayani secara tidak sinkron, ada beberapa hal yang Anda dapat coba lakukan agar phpMussel dapat melayani kebutuhan fasilitas upload Anda. - -1. Membuat templat keluaran dipersonalisasi untuk menyajikan sesuatu selain HTML. -2. Membuat plugin dipersonalisasi untuk memotong halaman "Upload Ditolak" standar seluruhnya dan suruh penangan upload melakukan hal lain saat upload diblokir (ada beberapa poin dalam kode yang disediakan oleh penangan upload yang dapat membantu untuk ini). -3. Menonaktifkan penangan upload seluruhnya dan alih-alih hanya memanggil phpMussel API dari dalam fasilitas upload Anda. - -#### Bisakah phpMussel mendeteksi EICAR? - -Ya. Tanda tangan untuk mendeteksi EICAR disertakan dalam "file tanda tangan ekspresi reguler standar phpMussel" (`phpmussel_regex.db`). Selama file tanda tangan tersebut diinstal dan diaktifkan, phpMussel seharusnya dapat mendeteksi EICAR. Karena database ClamAV juga menyertakan banyak tanda tangan khusus untuk mendeteksi EICAR, ClamAV dapat dengan mudah mendeteksi EICAR, tetapi karena phpMussel hanya menggunakan sebagian kecil dari total tanda tangan yang disediakan oleh ClamAV, mereka mungkin saja tidak cukup untuk phpMussel mendeteksi EICAR. Kemampuan untuk mendeteksinya mungkin juga bergantung pada konfigurasi Anda. - ---- - - -### 11. INFORMASI HUKUM - -#### 11.0 PENGANTAR BAGIAN - -Bagian dokumentasi ini dimaksudkan untuk menjelaskan kemungkinan pertimbangan hukum mengenai penggunaan dan implementasi paket, dan untuk memberikan beberapa informasi dasar terkait. Ini mungkin penting bagi beberapa pengguna sebagai sarana untuk memastikan kepatuhan dengan persyaratan hukum yang mungkin ada di negara tempat mereka beroperasi, dan beberapa pengguna mungkin perlu menyesuaikan kebijakan situs web mereka sesuai dengan informasi ini. - -Pertama dan terutama, harap menyadari bahwa saya (penulis paket) bukan seorang pengacara, atau profesional hukum yang berkualitas dalam bentuk apapun. Oleh karena itu, saya secara hukum tidak memenuhi syarat untuk memberikan nasihat hukum. Juga, dalam beberapa kasus, persyaratan hukum yang tepat dapat bervariasi antara negara dan yurisdiksi yang berbeda, dan berbagai persyaratan hukum ini terkadang dapat menimbulkan konflik (seperti, misalnya, dalam kasus negara-negara yang mendukung hak privasi dan hak untuk dilupakan, versus negara-negara yang mendukung retensi data diperpanjang). Pertimbangkan juga bahwa akses ke paket tidak terbatas pada negara atau yurisdiksi tertentu, dan oleh karena itu, pengguna paket cenderung ke geografis yang beragam. Poin-poin ini dianggap, saya tidak dalam posisi untuk menyatakan apa artinya "mematuhi hukum" untuk semua pengguna, dalam semua hal. Namun, saya berharap informasi disini akan membantu Anda untuk mengambil keputusan sendiri mengenai apa yang Anda harus lakukan agar tetap mematuhi hukum dalam konteks paket. Jika Anda memiliki keraguan atau kekhawatiran mengenai informasi disini, atau jika Anda membutuhkan bantuan dan saran tambahan dari perspektif hukum, saya merekomendasikan konsultasi dengan profesional hukum yang berkualitas. - -#### 11.1 TANGGUNG JAWAB DAN KEWAJIBAN HUKUM - -Seperti yang telah dinyatakan oleh lisensi paket, paket ini disediakan tanpa jaminan apapun. Ini termasuk (tetapi tidak terbatas pada) semua lingkup kewajiban hukum. Paket ini diberikan kepada Anda untuk kenyamanan Anda, dengan harapan itu akan berguna, dan itu akan memberikan beberapa manfaat bagi Anda. Namun, apakah Anda menggunakan atau mengimplementasikan paket ini, adalah pilihan Anda sendiri. Anda tidak dipaksa untuk menggunakan atau mengimplementasikan paket ini, tetapi ketika Anda melakukannya, Anda bertanggung jawab atas keputusan itu. Bukan saya, dan tidak ada kontributor lain untuk paket ini, bertanggung jawab secara hukum atas konsekuensi keputusan yang Anda buat, terlepas dari apakah langsung, tidak langsung, tersirat, atau sebaliknya. - -#### 11.2 PIHAK KETIGA - -Tergantung pada konfigurasi dan implementasinya yang tepat, paket dapat berkomunikasi dan berbagi informasi dengan pihak ketiga dalam beberapa kasus. Informasi ini dapat didefinisikan sebagai "informasi identitas pribadi" (PII) dalam beberapa konteks, oleh beberapa yurisdiksi. - -Bagaimana informasi ini dapat digunakan oleh pihak ketiga ini, tunduk pada berbagai kebijakan yang ditetapkan oleh pihak ketiga ini, dan berada di luar ruang lingkup dokumentasi ini. Namun, dalam semua kasus tersebut, berbagi informasi dengan pihak ketiga ini dapat dinonaktifkan. Dalam semua kasus semacam itu, jika Anda memilih untuk mengaktifkannya, Anda bertanggung jawab untuk meneliti setiap kekhawatiran yang mungkin Anda miliki tentang privasi, keamanan, dan penggunaan PII oleh pihak ketiga ini. Jika ada keraguan, atau jika Anda tidak puas dengan perilaku pihak ketiga ini sehubungan dengan PII, mungkin terbaik adalah menonaktifkan semua pembagian informasi dengan pihak ketiga ini. - -Untuk tujuan transparansi, jenis informasi yang dibagikan, dan dengan siapa, dijelaskan dibawah ini. - -##### 11.2.0 FONT WEB - -Beberapa tema kustom, serta UI standar ("antarmuka pengguna") untuk halaman bagian depan phpMussel dan halaman "Upload Ditolak", dapat menggunakan font web untuk alasan estetika. Font web dinonaktifkan secara default, tetapi ketika diaktifkan, komunikasi langsung antara browser pengguna dan layanan hosting font web terjadi. Ini mungkin melibatkan informasi komunikasi seperti alamat IP pengguna, agen pengguna, sistem operasi, dan detail lainnya yang tersedia untuk permintaan tersebut. Sebagian besar font web ini dihosting oleh layanan [Google Fonts](https://fonts.google.com/). - -*Direktif konfigurasi yang relevan:* -- `general` -> `disable_webfonts` - -##### 11.2.1 SCANNER URL - -URL ditemukan dalam upload file dapat dibagikan dengan API Google Safe Browsing, tergantung bagaimana paket dikonfigurasi. API Google Safe Browsing memerlukan kunci API agar berfungsi dengan benar, dan karenanya dinonaktifkan secara default. - -*Direktif konfigurasi yang relevan:* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -Ketika phpMussel memindai upload file, hash dari file-file tersebut dapat dibagikan dengan API Virus Total, tergantung bagaimana paket dikonfigurasi. Ada rencana untuk dapat membagikan seluruh file di beberapa titik di masa depan juga, tetapi fitur ini tidak didukung oleh paket saat ini. API Virus Total membutuhkan kunci API agar berfungsi dengan benar, dan karenanya dinonaktifkan secara default. - -Informasi (termasuk file dan metadata file terkait) yang dibagikan dengan Virus Total, juga dapat dibagikan dengan mitra mereka, afiliasi mereka, dan berbagai lainnya untuk tujuan penelitian. Ini dijelaskan lebih detail oleh kebijakan privasi mereka. - -*Lihat: [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*Direktif konfigurasi yang relevan:* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 PENCATATAN - -Pencatatan adalah bagian penting dari phpMussel karena sejumlah alasan. Tanpa mencatat kejadian blokir, mungkin sulit untuk mendiagnosis kesalahan positif, untuk memastikan secara akurat seberapa baik kinerja phpMussel dalam konteks tertentu, dan untuk menentukan dimana kekurangannya, dan perubahan apa yang mungkin diperlukan untuk konfigurasi atau tanda tangan yang sesuai, agar terus berfungsi sebagaimana dimaksud. Apapun, pencatatan mungkin tidak diinginkan untuk semua pengguna, dan tetap sepenuhnya opsional. Di phpMussel, pencatatan dinonaktifkan secara default. Untuk mengaktifkannya, phpMussel harus dikonfigurasi dengan benar. - -Juga, apakah pencatatan diizinkan secara hukum, dan sejauh diizinkan secara hukum (misalnya, jenis informasi yang dapat dicatat, untuk berapa lama, dan dalam keadaan apa), dapat bervariasi, tergantung pada yurisdiksi dan pada konteks dimana phpMussel diimplementasikan (misalnya, apakah Anda beroperasi sebagai individu, sebagai entitas perusahaan, dan apakah secara komersial atau non-komersial). Jadi, mungkin berguna bagi Anda untuk membaca bagian ini dengan seksama. - -Ada beberapa jenis pencatatan yang dapat dilakukan oleh phpMussel. Berbagai jenis pencatatan melibatkan berbagai jenis informasi, untuk berbagai alasan. - -##### 11.3.0 LOG PEMINDAIAN - -Ketika diaktifkan dalam konfigurasi paket, phpMussel menyimpan log dari file yang dipindainya. Jenis pencatatan ini tersedia dalam dua format berbeda: -- File log yang dapat dibaca oleh manusia. -- File log dalam format serial. - -Entri ke log yang dapat dibaca oleh manusia biasanya terlihat seperti ini (sebagai contoh): - -``` -Mon, 21 May 2018 00:47:58 +0800 Dimulai. -> Memeriksa 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> Terdeteksi phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 Selesai. -``` - -Entri log pemindaian biasanya mencakup informasi berikut: -- Tanggal dan waktu file dipindai. -- Nama file yang dipindai. -- CRC32b hash dari nama dan isi file. -- Apa yang terdeteksi dalam file (jika ada apapun yang terdeteksi). - -*Direktif konfigurasi yang relevan:* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -Ketika direktif ini dibiarkan kosong, jenis pencatatan ini akan tetap dinonaktifkan. - -##### 11.3.1 DIBLOKIR OLEH PEMINDAI - -Ketika diaktifkan dalam konfigurasi paket, phpMussel menyimpan log dari upload yang telah diblokir. - -Entri ke log untuk file yang diblokir oleh pemindai biasanya terlihat seperti ini (sebagai contoh): - -``` -Tanggal: Mon, 21 May 2018 00:47:56 +0800 -Alamat IP: 127.0.0.1 -== Hasil pindai (mengapa ditandai) == -Terdeteksi phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)! -== Rekonstruksi tanda tangan hash == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -Dikarantina sebagai "/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu". -``` - -Entri ke log untuk file yang diblokir oleh pemindai biasanya mencakup informasi berikut: -- Tanggal dan waktu saat upload diblokir. -- Alamat IP tempat upload berasal. -- Alasan mengapa file diblokir (apa yang terdeteksi). -- Nama file diblokir. -- MD5 dan ukuran file diblokir. -- Apakah file adalah dikarantina, dan dibawah nama internal apa. - -*Direktif konfigurasi yang relevan:* -- `general` -> `scan_kills` - -##### 11.3.2 LOG BAGIAN DEPAN - -Jenis pencatatan ini berhubungan dengan upaya masuk bagian depan, dan hanya terjadi ketika pengguna mencoba masuk ke bagian depan (dengan asumsi akses bagian depan diaktifkan). - -Entri log untuk bagian depan berisi alamat IP pengguna yang mencoba masuk, tanggal dan waktu ketika itu terjadi, dan hasil dari upaya tersebut (berhasil masuk, atau gagal masuk). Entri log untuk bagian depan biasanya terlihat seperti ini (sebagai contoh): - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - Dimasuk. -``` - -*Direktif konfigurasi yang relevan:* -- `general` -> `frontend_log` - -##### 11.3.3 ROTASI LOG - -Anda mungkin ingin membersihkan log setelah jangka waktu tertentu, atau mungkin diminta untuk melakukannya oleh hukum (yaitu, jumlah waktu yang diizinkan secara hukum bagi Anda untuk mempertahankan log mungkin dibatasi oleh hukum). Anda dapat mencapai ini dengan menyertakan penanda tanggal/waktu dalam nama-nama file log Anda sesuai yang ditentukan oleh konfigurasi paket Anda (misalnya, `{yyyy}-{mm}-{dd}.log`), dan kemudian mengaktifkan rotasi log (rotasi log memungkinkan Anda untuk melakukan beberapa tindakan pada file log ketika batas yang ditentukan terlampaui). - -Sebagai contoh: Jika saya secara hukum diminta untuk menghapus log setelah 30 hari, saya bisa menentukan `{dd}.log` dalam nama file log saya (`{dd}` represents days), atur nilai `log_rotation_limit` ke 30, dan atur nilai `log_rotation_action` ke `Delete`. - -Sebaliknya, jika Anda diminta untuk menyimpan log untuk jangka waktu yang panjang, Anda bisa memilih untuk tidak menggunakan rotasi log sama sekali, atau Anda bisa mengatur nilai `log_rotation_action` ke `Archive`, untuk mengompres file log, sehingga mengurangi jumlah total ruang disk yang mereka tempati. - -*Direktif konfigurasi yang relevan:* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 PEMOTONGAN LOG - -Ini juga memungkinkan untuk memotong file log individu ketika mereka melebihi ukuran tertentu, jika ini adalah sesuatu yang mungkin Anda butuhkan atau ingin lakukan. - -*Direktif konfigurasi yang relevan:* -- `general` -> `truncate` - -##### 11.3.5 PSEUDONIMISASI ALAMAT IP - -Pertama, jika Anda tidak akrab dengan istilah ini, "pseudonimisasi" mengacu pada memproses data pribadi sedemikian rupa sehingga tidak dapat diidentifikasi ke subjek data tertentu lagi tanpa beberapa informasi tambahan, dan dengan ketentuan bahwa informasi tambahan tersebut dipelihara secara terpisah dan tunduk pada tindakan teknis dan organisasi untuk memastikan bahwa data pribadi tidak dapat diidentifikasi kepada orang alami. - -Dalam beberapa keadaan, Anda mungkin diperlukan secara hukum untuk membuat dianonimisasi atau dipseudonimisasi setiap PII dikumpulkan, diproses, atau disimpan. Meskipun konsep ini telah ada untuk beberapa waktu sekarang, GDPR/DSGVO terutama menyebutkan, dan secara khusus mendorong "pseudonimisasi". - -phpMussel mampu mem-pseudonimisasi alamat IP ketika melakukan pencatatan, jika ini adalah sesuatu yang mungkin Anda butuhkan atau ingin lakukan. Ketika phpMussel mem-pseudonimkan alamat IP, saat dicatat, oktet terakhir dari alamat IPv4, dan semuanya setelah bagian kedua dari alamat IPv6 diwakili oleh "x" (efektif membulatkan alamat IPv4 ke alamat awal dari subnet ke-24 dari faktor dimana mereka dimasukkan, dan alamat IPv6 ke alamat awal dari subnet ke-32 dari faktor dimana mereka dimasukkan). - -*Direktif konfigurasi yang relevan:* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 STATISTIK - -phpMussel secara opsional dapat melacak statistik seperti jumlah total file yang dipindai dan diblokir sejak beberapa titik waktu tertentu. Fitur ini dinonaktifkan secara default, tetapi dapat diaktifkan melalui konfigurasi paket. Fitur ini hanya melacak jumlah total kejadian yang terjadi, dan tidak termasuk informasi apapun tentang kejadian tertentu (dan dengan demikian, tidak boleh dianggap sebagai PII). - -*Direktif konfigurasi yang relevan:* -- `general` -> `statistics` - -##### 11.3.7 ENKRIPSI - -phpMussel tidak mengenkripsi cache atau informasi log apapun. [Enkripsi](https://id.wikipedia.org/wiki/Enkripsi) cache dan log dapat diperkenalkan di masa depan, tetapi tidak ada rencana khusus untuk itu saat ini. Jika Anda khawatir tentang pihak ketiga yang tidak sah mendapatkan akses ke bagian depan dari phpMussel yang mungkin berisi PII atau informasi sensitif seperti cache atau log-nya, saya akan merekomendasikan bahwa phpMussel tidak diinstal di lokasi yang dapat diakses publik (misalnya, instal phpMussel di luar direktori `public_html` standar atau yang setara dengan yang tersedia untuk sebagian besar web server standar) dan bahwa perizinan restriktif yang tepat diberlakukan untuk direktori tempat ia tinggal (khususnya, untuk direktori vault). Jika itu tidak cukup untuk mengatasi masalah Anda, konfigurasikan phpMussel sedemikian rupa sehingga jenis informasi yang menyebabkan kekhawatiran Anda tidak akan dikumpulkan atau dicatat di tempat pertama (seperti, dengan menonaktifkan pencatatan). - -#### 11.4 COOKIE - -Ketika pengguna berhasil masuk ke akses bagian depan, phpMussel menetapkan [cookie](https://id.wikipedia.org/wiki/Kuki_HTTP) agar dapat mengingat pengguna untuk permintaan berikutnya (yaitu, cookie digunakan untuk mengotentikasi pengguna ke sesi masuk). Pada halaman masuk, peringatan cookie ditampilkan dengan jelas, memperingatkan pengguna bahwa cookie akan diatur jika mereka terlibat dalam tindakan yang relevan. Cookie tidak diatur dalam titik lain di basis kode. - -*Direktif konfigurasi yang relevan:* -- `general` -> `disable_frontend` - -#### 11.5 PEMASARAN DAN PERIKLANAN - -phpMussel tidak mengumpulkan atau memproses informasi apapun untuk tujuan pemasaran atau periklanan, dan tidak menjual atau memperoleh keuntungan dari informasi yang dikumpulkan atau dicatat. phpMussel bukan perusahaan komersial, juga tidak terkait dengan kepentingan komersial, sehingga melakukan hal-hal ini tidak akan masuk akal. Ini telah terjadi sejak awal proyek, dan terus menjadi kasus hari ini. Juga, melakukan hal-hal ini akan menjadi kontra-produktif terhadap semangat dan tujuan yang dimaksudkan dari proyek secara keseluruhan, dan selama saya terus mempertahankan proyek, tidak akan pernah terjadi. - -#### 11.6 KEBIJAKAN PRIVASI - -Dalam beberapa keadaan, Anda mungkin diharuskan secara hukum untuk secara jelas menampilkan tautan ke kebijakan privasi Anda pada semua halaman dan bagian dari situs web Anda. Ini mungkin penting sebagai sarana untuk memastikan bahwa pengguna mendapat informasi yang jelas tentang praktik privasi Anda, jenis PII yang Anda kumpulkan, dan bagaimana Anda akan menggunakannya. Agar dapat menyertakan tautan di halaman "Upload Ditolak" phpMussel, direktif konfigurasi disediakan untuk menentukan URL ke kebijakan privasi Anda. - -*Direktif konfigurasi yang relevan:* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -Regulasi Perlindungan Data Umum (GDPR) adalah regulasi dari Uni Eropa, yang mulai berlaku pada 25 Mei 2018. Tujuan utama dari regulasi ini adalah untuk memberikan kontrol kepada warga dan penduduk negara Uni Eropa mengenai data pribadi mereka sendiri, dan untuk menyatukan regulasi di Uni Eropa terkait privasi dan data pribadi. - -Regulasi ini tersebut berisi ketentuan khusus yang berkaitan dengan pemrosesan "informasi identitas pribadi" (PII) dari setiap "subjek data" (setiap orang alami yang teridentifikasi atau dapat diidentifikasi) dari atau di dalam Uni Eropa. Agar sesuai dengan regulasi, "perusahaan" atau "enterprise" (sesuai yang didefinisikan oleh regulasi), dan sistem dan proses yang relevan harus mengimplementasikan "privasi berdasarkan desain" secara default, harus menggunakan pengaturan privasi setinggi mungkin, harus mengimplementasikan pengamanan yang diperlukan untuk informasi yang disimpan atau diproses (termasuk, tetapi tidak terbatas pada, mengimplementasikan pseudonimisasi atau anonimisasi yang penuh untuk data), harus jelas dan tidak ambigu menyatakan jenis data yang mereka kumpulkan, bagaimana mereka memprosesnya, untuk alasan apa, untuk berapa lama mereka menyimpannya, dan apakah mereka membagikan data ini dengan pihak ketiga manapun, jenis data yang dibagikan dengan pihak ketiga, bagaimana, mengapa, dan sebagainya. - -Data tidak dapat diproses kecuali jika ada dasar yang sah untuk melakukannya, sesuai yang didefinisikan oleh regulasi. Umumnya, ini berarti bahwa untuk memproses data data subjek secara sah, itu harus dilakukan sesuai dengan kewajiban hukum, atau dilakukan hanya setelah persetujuan eksplisit, terinformasi dengan baik, dan tidak ambigu diperoleh dari subjek data. - -Karena aspek regulasi dapat berevolusi dalam waktu, untuk menghindari penyebaran informasi yang ketinggalan jaman, mungkin lebih baik untuk belajar tentang regulasi dari sumber yang berwenang, dibandingkan dengan hanya memasukkan informasi yang relevan disini dalam dokumentasi paket (yang akhirnya bisa menjadi usang seiring berkembangnya regulasi). - -Beberapa sumber bacaan yang direkomendasikan untuk mempelajari informasi lebih lanjut: -- [REGULATION (EU) 2016/679 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex:32016R0679) -- [Regulasi Perlindungan Data](https://id.wikipedia.org/wiki/Regulasi_Perlindungan_Data) - ---- - - -Terakhir Diperbarui: 30 Juni 2022 (2022.06.30). diff --git a/v2-and-earlier/readme.it.md b/v2-and-earlier/readme.it.md deleted file mode 100644 index f9fcd83..0000000 --- a/v2-and-earlier/readme.it.md +++ /dev/null @@ -1,1715 +0,0 @@ -## Documentazione per phpMussel v2 (Italiano). - -### Contenuti -- 1. [PREAMBOLO](#SECTION1) -- 2. [COME INSTALLARE](#SECTION2) -- 3. [COME USARE](#SECTION3) -- 4. [GESTIONE FRONT-END](#SECTION4) -- 5. [CLI (INTERFACCIA A RIGA DI COMANDO)](#SECTION5) -- 6. [FILE INCLUSI IN QUESTO PACCHETTO](#SECTION6) -- 7. [OPZIONI DI CONFIGURAZIONE](#SECTION7) -- 8. [FIRMA FORMATO](#SECTION8) -- 9. [CONOSCIUTI COMPATIBILITÀ PROBLEMI](#SECTION9) -- 10. [DOMANDE FREQUENTI (FAQ)](#SECTION10) -- 11. [INFORMAZIONE LEGALE](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. PREAMBOLO - -Grazie per aver scelto phpMussel, un programma in PHP progettato per rilevare trojan, virus, malware ed altre minacce nei file caricati sul tuo sistema dovunque il programma stesso è collegato, basato sulle firme di ClamAV ed altri. - -[PHPMUSSEL](https://phpmussel.github.io/) COPYRIGHT 2013 e oltre GNU/GPLv2 [Caleb M (Maikuolan)](https://github.com/Maikuolan). - -Questo script è un software "libero"; è possibile ridistribuirlo e/o modificarlo sotto i termini della GNU General Public License come pubblicato dalla Free Software Foundation; o la versione 2 della licenza, o (a propria scelta) una versione successiva. Questo script è distribuito nella speranza che possa essere utile, ma SENZA ALCUNA GARANZIA; senza neppure la implicita garanzia di COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedere la GNU General Public License per ulteriori dettagli, situato nella `LICENSE.txt` file e disponibili anche da: -- . -- . - -Uno speciale grazie a [ClamAV](https://www.clamav.net/) per l'ispirazione del progetto e per le firme che questo script usi, senza la quale, lo script sarebbe probabilmente non esisterebbe, o nel migliore, avrebbe un molto limitato valore. - -Uno speciale grazie a SourceForge, Bitbucket e GitHub per ospitare i progetto file, e le risorse di un certo numero di firme utilizzata da phpMussel: [PhishTank](https://www.phishtank.com/), [NLNetLabs](https://nlnetlabs.nl/), [Malware.Expert](https://malware.expert/) e altri, e un grazie a tutti coloro che sostengono il progetto, a chiunque altro che io possa avere altrimenti dimenticato di menzionare, e per voi, per l'utilizzo dello script. - -Questo documento ed il pacchetto associato ad esso possono essere scaricati liberamente da: -- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -### 2. COME INSTALLARE - -#### 2.0 INSTALLAZIONE MANUALMENTE (PER WEB SERVER) - -1) Continuando la lettura, si suppone che hai già scaricato una copia dello script, decompresso il contenuto e lo hai collocato da qualche parte sul tuo terminale. Da qui, ti consigliamo di determinare dove sulla macchina o CMS si desidera inserire quei contenuti. Una cartella come `/public_html/phpmussel/` o simile (sebbene, non è importante quale si sceglie, purché sia qualcosa di sicuro e che ti soddisfi) sarà sufficiente. *Prima di iniziare il caricamento, continua a leggere..* - -2) Rinomina `config.ini.RenameMe` a `config.ini` (situato della `vault`), e facoltativamente (fortemente consigliata per gli avanzati utenti, ma non è consigliata per i principianti o per gli inesperti), aprirlo (questo file contiene tutte le direttive disponibili per phpMussel; sopra ogni opzione dovrebbe essere un breve commento che descrive ciò che fa e ciò che è per). Regolare queste opzioni come meglio credi, come per ciò che è appropriato per la vostre particolare configurazione. Salvare il file, chiudere. - -3) Carica i contenuti (phpMussel e le sue file) nella cartella che ci deciso in precedenza (non è necessario includere i `*.txt`/`*.md` file, ma altrimenti, si dovrebbe caricare tutto). - -4) CHMOD la cartella `vault` a "755" (se ci sono problemi, si può provare "777", ma questo è meno sicura). La principale cartella che memorizzare il contenuti (quello scelto in precedenza), solitamente, può essere lasciato solo, ma lo CHMOD stato dovrebbe essere controllato se hai avuto problemi di autorizzazioni in passato sul vostro sistema (per predefinita, dovrebbe essere qualcosa simile a "755"). In breve: Perché il pacchetto funzioni correttamente, PHP deve essere in grado di leggere e scrivere file all'interno della cartella `vault`. Molte cose (aggiornamento, registrazione, ecc) non saranno possibili, se PHP non può scrivere nella cartella `vault`, e il pacchetto non funzionerà affatto se PHP non può leggere dalla cartella `vault`. Tuttavia, per una sicurezza ottimale, la cartella `vault` NON deve essere accessibile al pubblico (informazioni sensibili, come le informazioni contenute da `config.ini` o `frontend.dat`, potrebbero essere esposte a potenziali aggressori se la cartella `vault` è pubblicamente accessibile). - -5) Installare tutte le firme necessarie. *Vedere: [INSTALLAZIONE DI FIRME](#INSTALLING_SIGNATURES).* - -6) Successivamente, sarà necessario collegare phpMussel al vostro sistema o CMS. Ci sono diversi modi in cui è possibile collegare script come phpMussel al vostre sistema o CMS, ma il più semplice è di inserire lo script all'inizio di un file del vostre sistema o CMS (quello che sarà generalmente sempre essere caricato quando qualcuno accede a una pagina attraverso il vostro sito) utilizzando un `require` o `include` comando. Solitamente, questo sarà qualcosa memorizzate in una cartella, ad esempio `/includes`, `/assets` o `/functions`, e spesso essere chiamato qualcosa come `init.php`, `common_functions.php`, `functions.php` o simili. Avrete bisogno determinare quale file è per la vostra situazione; In caso di difficoltà nel determinare questo per te, per assistenza, visitare la pagina di problemi/issues per phpMussel a GitHub o il forum di supporto per phpMussel; È possibile che io o un altro utente possono avere esperienza con il CMS che si sta utilizzando (avrete bisogno di fateci sapere quale CMS si sta utilizzando), e quindi, può essere in grado di fornire assistenza in questo settore. Per fare questo [utilizzare `require` o `include`], inserire la seguente linea di codice all'inizio di quel core file, sostituendo la stringa contenuta all'interno delle virgolette con l'indirizzo esatto del file `loader.php` (l'indirizzo locale, non l'indirizzo HTTP; sarà simile all'indirizzo citato in precedenza). - -`` - -Salvare il file, chiudere, caricare di nuovo. - --- IN ALTERNATIVA -- - -Se stai usando un Apache web server e se si ha accesso a `php.ini`, è possibile utilizzare il `auto_prepend_file` direttiva per precarico phpMussel ogni volta che qualsiasi richiesta di PHP è fatto. Qualcosa come: - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -O questo nel `.htaccess` file: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) A questo punto, il gioco è fatto! Ma, si dovrebbe probabilmente verificare il lavoro svolto per assicurarsi che funzioni correttamente. Per testare le protezioni di file caricamente, tentare di caricare i test file inclusi nella pacchetto all'interno `.tests/samples` al vostro web sito via i vostri soliti metodi di browser basato file caricamento. (Assicurati di aver incluso i file di firma `phpmussel*.*db` nella direttiva di configurazione `active` per i file di test da attivare). Se tutto funziona, un messaggio dovrebbe apparire da phpMussel conferma che il caricamento è stato bloccato con successo. Se nulla appare, qualcosa non funziona correttamente. Se si sta utilizzando qualsiasi l'avanzate funzioni o se si sta utilizzando qualsiasi altri tipi di scansione possibili con lo strumento, mi piacerebbe suggerisco di provarlo quelli per assicurarsi che funzioni come previsto, anche. - -#### 2.1 INSTALLAZIONE MANUALMENTE (PER CLI) - -1) Con la vostra lettura di questo, sto supponendo che hai già scaricato una archiviata copia dello script, decompresso il contenuto e lo hanno seduto da qualche parte sul tuo locale macchina. Quando hai stabilito che sei felice con il luogo scelto per phpMussel, continuare. - -2) phpMussel richiede PHP essere installato sulla macchina per eseguire. Se non lo avete PHP installato sul vostra macchina, prego installare PHP sul vostra macchina seguendo le istruzioni fornite dal PHP installazione programma. - -3) Facoltativamente (fortemente consigliata per gli avanzati utenti, ma non è consigliata per i principianti o per gli inesperti), apri `config.ini` (situato della `vault`) – Questo file contiene tutte le direttive disponibili per phpMussel. Sopra ogni opzione dovrebbe essere un breve commento che descrive ciò che fa e ciò che è per. Regolare queste opzioni come meglio credi, come per ciò che è appropriato per la vostre particolare configurazione. Salvare il file, chiudere. - -4) Facoltativamente, si può rendere utilizzando di phpMussel in modalità CLI facile per voi stessi per creando un batch file ai fini della automaticamente caricare PHP e phpMussel. Per fare questo, aprire un testo editor come Notepad o Notepad++, digitare il completo percorso della `php.exe` file nella cartella della vostra installazione di PHP, seguito da uno spazio, seguito dal completo percorso della `loader.php` file nella cartella della vostra installazione di phpMussel, salvare il file con un `.bat` estensione qualche parte che lo troverete facilmente, e fare doppio clic su tale file per eseguire phpMussel in futuro. - -5) Installare tutte le firme necessarie. *Vedere: [INSTALLAZIONE DI FIRME](#INSTALLING_SIGNATURES).* - -6) A questo punto, il gioco è fatto! Ma, si dovrebbe probabilmente verificare il lavoro svolto per assicurarsi che funzioni correttamente. Per testare phpMussel, eseguire phpMussel e prova scansionare la `.tests/samples` cartella fornito con il pacchetto. - -#### 2.2 INSTALLARE CON IL COMPOSER - -[phpMussel è quotata a Packagist](https://packagist.org/packages/phpmussel/phpmussel), e così, se si ha familiarità con Composer, è possibile utilizzare Composer per l'installazione di phpMussel (è comunque necessario per preparare la configurazione, impostare i permessi, preparare le firme e includere `loader.php` però; vedere "installazione manualmente (per web server)" passi 2, 4, 5, e 6). - -`composer require phpmussel/phpmussel` - -#### 2.3 INSTALLAZIONE DI FIRME - -Dal v1.0.0, le firme non sono incluse nel pacchetto phpMussel. Le firme sono richieste da phpMussel per rilevare minacce specifiche. Esistono 3 metodi principali per installare le firme: - -1. Installare automaticamente utilizzando il front-end pagina degli aggiornamenti. -2. Genera firme usando "SigTool" e installa manualmente. -3. Scaricare le firme da "phpMussel/Signatures" e installare manualmente. - -##### 2.3.1 Installare automaticamente utilizzando il front-end pagina degli aggiornamenti. - -In primo luogo, è necessario assicurarsi che il front-end sia abilitato. *Vedere: [GESTIONE FRONT-END](#SECTION4).* - -Allora, tutto quello che dovrai fare è andare a il front-end pagina degli aggiornamenti, trovare i file di firma necessari, e utilizzare le opzioni fornite nella pagina, installarle, e attivarle. - -##### 2.3.2 Genera firme usando "SigTool" e installa manualmente. - -*Vedere: [Documentazione SigTool](https://github.com/phpMussel/SigTool#documentation).* - -*Nota anche: SigTool elabora le firme da ClamAV solo. Per ottenere firme da altre fonti, come quelle scritte appositamente per phpMussel, che include le firme necessarie per rilevare i campioni di test di phpMussel, questo metodo dovrà essere integrato da uno degli altri metodi qui menzionati.* - -##### 2.3.3 Scaricare le firme da "phpMussel/Signatures" e installare manualmente. - -In primo luogo, vai a [phpMussel/Signatures](https://github.com/phpMussel/Signatures). Il repository contiene vari file di firma compressi GZ. Scarica i file necessari, decomprimere e copiare i file decompressi nella cartella `/vault/signatures` per installarli. Elencare i nomi dei file copiati nella direttiva `active` nella configurazione di phpMussel per attivarli. - ---- - - -### 3. COME USARE - -#### 3.0 COME USARE (PER WEB SERVER) - -phpMussel dovrebbe essere in grado di funzionare correttamente con requisiti minimi da parte vostra: Dopo l'installazione, dovrebbe funzionare immediatamente ed essere immediatamente utilizzabile. - -Scansionare di file caricamenti è automatizzato e abilitato per predefinita, perciò nulla è richiesto a vostro nome per questa particolare funzione. - -Ma, si è anche in grado di istruire phpMussel per la scansione per i specifici file, cartelle o archivi. Per fare questo, in primo luogo, è necessario assicurarsi che l'appropriata configurazione è impostato nella `config.ini` file (`cleanup` deve essere disattivato), e quando fatto, in un PHP file che è collegato allo phpMussel, utilizzare la seguente funzione nelle codice: - -`$phpMussel['Scan']($cosa_a_scansione, $tipi_di_output, $output_pianura);` - -- `$cosa_a_scansione` può essere una stringa, un array o un array di array multipli, e indica quale d'il file, cartella e/o cartelle a scansiona. -- `$tipi_di_output` è un valore booleano, indicanti il formato per i risultati della scansione a essere restituire come. `false` istruisce la funzione a restituire i risultati come un intero. `true` istruisce la funzione a restituire i risultati come testo leggibile. In aggiunta, in ogni caso, i risultati sono accessibili tramite variabili globali dopo la scansione è stata completata. Questa variabile è facoltativa, inadempiente su `false`. Di seguito vengono descritti i risultati interi: - -| Risultati | Descrizioni | -|---|---| -| -4 | Indica che i dati non possono essere scansionati a causa della crittografia. | -| -3 | Indica che sono stati incontrati problemi con i file di firme phpMussel. | -| -2 | Indica che i corrotto dato è stato rilevato durante la scansione e quindi la scansione non abbia completato. | -| -1 | Indica che estensioni o addon richiesti per PHP a eseguire la scansione erano assente e quindi la scansione non abbia completato. | -| 0 | Indica che l'obiettivo di scansione non esiste e quindi non c'era nulla a scansione. | -| 1 | Indica che l'obiettivo è stato scansionata correttamente e non problemi stati rilevati. | -| 2 | Indica che l'obiettivo è stato scansionata correttamente e problemi stati rilevati. | - -- `$output_pianura` è un valore booleano, indicanti alla funzione se restituire i risultati della scansione (quando ci sono multipli obiettivi di scansione) come un array o una stringa. `false` restituirà i risultati come un array. `true` restituirà i risultati come una stringa. Questa variabile è facoltativa, inadempiente su `false`. - -Esempi: - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -Restituisce qualcosa come (in forma di una stringa): - -``` - Wed, 16 Sep 2013 02:49:46 +0000 Iniziato. - > Verifica '/user_name/public_html/my_file.html': - -> Nessun problema rilevato. - Wed, 16 Sep 2013 02:49:47 +0000 Finito. -``` - -Per una dettagliata spiegazione del tipo di firme di cui phpMussel usa durante le sue scansioni e come le sue gestisce queste firme, fare riferimento alla [FIRMA FORMATO](#SECTION8) sezione di questo file README. - -Se si incontrano qualsiasi falsi positivi, se si incontrano qualcosa nuova che si pensa dovrebbe essere bloccato, o per qualsiasi altri scopi o materia a riguardo delle firme, si prega di contattare me a riguardo esso così che io possa apportare le necessarie modifiche, di cui, se si non contatto me, io non necessariamente essere consapevole ne. *(Vedere: [Che cosa è un "falso positivo"?](#WHAT_IS_A_FALSE_POSITIVE)).* - -Per disabilita firme incluso con phpMussel (come se stai sperimentando falsi positivi specifico alle vostri scopi di cui non dovrebbero normalmente essere rimosso dalla mainline), aggiungere i nomi delle firme specifiche da disabilitare al file greylist (`/vault/greylist.csv`), separati da virgole. - -*Guarda anche: [Come accedere a dettagli specifici sui file quando vengono scansionati?](#SCAN_DEBUGGING)* - -#### 3.1 COME USARE (PER CLI) - -Si prega di fare riferimento alla "INSTALLAZIONE MANUALMENTE (PER CLI)" sezione di questo file README. - -Anche essere consapevoli che phpMussel è uno scanner *on-demand* (cioè, su richiesta); *NON* è uno scanner *on-access* (cioè, in accesso; ad eccezione di caricamenti di file, al momento del caricamento), e diverso dai convenzionali anti-virus suite, non protegge la memoria attiva! Essa solo rileva virus contenuti dai caricamenti di file, e contenuti da quei file specifici che si esplicitamente dica per scansione. - ---- - - -### 4. GESTIONE FRONT-END - -#### 4.0 QUAL È IL FRONT-END. - -Il front-end fornisce un modo conveniente e facile da mantenere, gestire e aggiornare l'installazione phpMussel. È possibile visualizzare, condividere e scaricare file di log attraverso la pagina di log, è possibile modificare la configurazione attraverso la pagina di configurazione, è possibile installare e disinstallare i componenti attraverso la pagina degli aggiornamenti, e si può caricare, scaricare e modificare i file nel vault tramite il file manager. - -Il front-end è disabilitato per impostazione predefinita al fine di prevenire l'accesso non autorizzato (l'accesso non autorizzato potrebbe avere conseguenze significative per il vostro sito e la sua sicurezza). Istruzioni per l'abilitazione si sono compresi sotto di questo paragrafo. - -#### 4.1 COME ATTIVARE IL FRONT-END. - -1) Trova la direttiva `disable_frontend` dentro `config.ini`, e impostarlo su `false` (sarà `true` per impostazione predefinita). - -2) Accedi `loader.php` dal browser (per esempio, `http://localhost/phpmussel/loader.php`). - -3) Accedi con il nome utente e la password predefinita (admin/password). - -Nota: Dopo aver effettuato l'accesso per la prima volta, al fine di impedire l'accesso non autorizzato al front-end, si dovrebbe cambiare immediatamente il nome utente e la password! Questo è molto importante, perché è possibile caricare codice PHP arbitrario al suo sito web attraverso il front-end. - -Inoltre, per una sicurezza ottimale, si consiglia vivamente di abilitare "l'autenticazione a due fattori" per tutti i conti front-end (istruzioni fornite di seguito). - -#### 4.2 COME UTILIZZARE IL FRONT-END. - -Le istruzioni sono fornite su ciascuna pagina del front-end, per spiegare il modo corretto di usarlo e la sua destinazione. Se avete bisogno di ulteriori spiegazioni o qualsiasi assistenza speciale, si prega di contattare il supporto. In alternativa, ci sono alcuni video disponibili su YouTube, che potrebbero aiutare per mezzo di dimostrazione. - -#### 4.3 AUTENTICAZIONE A DUE FATTORI - -È possibile rendere il front-end più sicuro attivando l'autenticazione a due fattori ("2FA"). Quando si accede a un account attivato per 2FA, viene inviata una posta elettronica all'indirizzo di posta elettronica associato a tale account. Questo indirizzo di posta elettronica contiene un "codice 2FA", che l'utente deve quindi inserire, inoltre al nome utente e alla password, per poter accedere utilizzando tale account. Ciò significa che l'ottenimento di una password dell'account non sarebbe sufficiente per consentire a qualsiasi hacker o potenziale utente malintenzionato di accedere a tale account, in quanto avrebbe anche bisogno di avere accesso all'indirizzo di posta elettronica associato a tale account per poter ricevere e utilizzare il codice 2FA associato alla sessione, rendendo così il front-end più sicuro. - -Innanzitutto, per attivare l'autenticazione a due fattori, utilizzando la pagina degli aggiornamenti front-end, installare il componente PHPMailer. phpMussel utilizza PHPMailer per l'invio di posta elettronica. Va notato che sebbene phpMussel, di per sé, sia compatibile con PHP >= 5.4.0, PHPMailer richiede PHP >= 5.5.0, e pertanto, l'attivazione dell'autenticazione a due fattori per il front-end phpMussel non sarà possibile per gli utenti di PHP 5.4. - -Dopo aver installato PHPMailer, dovrai compilare le direttive di configurazione per PHPMailer tramite la pagina di configurazione phpMussel o il file di configurazione. Ulteriori informazioni su queste direttive di configurazione sono incluse nella sezione di configurazione di questo documento. Dopo aver compilato le direttive di configurazione di PHPMailer, imposta da `enable_two_factor` x `true`. L'autenticazione a due fattori dovrebbe ora essere attivata. - -Successivamente, dovrai associare un indirizzo di posta elettronica a un account, in modo che phpMussel sappia dove inviare i codici 2FA quando accede con quell'account. Per fare ciò, usa l'indirizzo di posta elettronica come nome utente per l'account (come `foo@bar.tld`), o includere l'indirizzo di posta elettronica come parte del nome utente nello stesso modo in cui si farebbe quando si invia una posta elettronica normalmente (come `Foo Bar `). - -Nota: Proteggere il tuo vault dall'accesso non autorizzato (per esempio, per mezzo di rafforzando le autorizzazioni di sicurezza e di accesso pubblico del tuo server), è particolarmente importante qui, a causa di tale accesso non autorizzato al file di configurazione (che è memorizzato nel vault), potrebbe rischiare di esporre le impostazioni SMTP in uscita (incluso il nome utente e la password per il tuo SMTP). È meglio assicurarsi che il vault sia correttamente protetto prima di attivare l'autenticazione a due fattori. Se non sei in grado di farlo, almeno, dovresti creare un nuovo account di posta elettronica, dedicato a questo scopo, in quanto tale per ridurre i rischi associati alle impostazioni SMTP esposte. - ---- - - -### 5. CLI (INTERFACCIA A RIGA DI COMANDO) - -phpMussel può essere eseguito come uno interattivo file scanner in modalità CLI da Windows. Fare riferimento alla "COME INSTALLARE (PER CLI)" sezione di questo file README per maggiori dettagli. - -Per un elenco di comandi disponibili all'interno CLI, al CLI prompt, tipo 'c', e premere Enter. - -Inoltre, per chi fosse interessato, un video tutorial su come utilizzare phpMussel in modalità CLI è disponibile qui: -- - ---- - - -### 6. FILE INCLUSI IN QUESTO PACCHETTO - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. OPZIONI DI CONFIGURAZIONE - -Il seguente è un elenco di variabili trovate nelle `config.ini` file di configurazione di phpMussel, insieme con una descrizione del loro scopo e funzione. - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### "general" (Categoria) -Generale configurazione per phpMussel. - -##### "cleanup" -- Disimpostare le script variabili e la cache dopo l'esecuzione? False = No; True = Sì [Predefinito]. Se non stai usando lo script per qualcosa di diverso dalla scansione dei caricamenti, dovresti impostarlo su `true`, per ridurre al minimo l'utilizzo della memoria. Altrimenti, dovresti impostarlo su `false`, al fine di conservare in memoria i dati necessari per eseguire phpMussel senza ricaricarlo inutilmente. -- Non ha alcuna influenza in modalità CLI. - -##### "scan_log" -- Il nome del file per registrare tutti i risultati di la scansione. Specificare un nome del file, o lasciare vuoto per disattivarlo. - -##### "scan_log_serialized" -- Il nome del file per registrare tutti i risultati di la scansione (utilizzando un formato serializzato). Specificare un nome del file, o lasciare vuoto per disattivarlo. - -##### "scan_kills" -- Il nome del file per registrare tutti i record di bloccato o ucciso caricamenti. Specificare un nome del file, o lasciare vuoto per disattivarlo. - -*Consiglio utile: Se vuoi, è possibile aggiungere data/ora informazioni per i nomi dei file per la registrazione par includendo queste nel nome: `{yyyy}` per l'anno completo, `{yy}` per l'anno abbreviato, `{mm}` per mese, `{dd}` per giorno, `{hh}` per ora.* - -*Esempi:* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### "error_log" -- Un file per la registrazione di eventuali errori non fatali rilevati. Specificare un nome di file, o lasciare vuoto per disabilitare. - -##### "truncate" -- Troncare i file di log quando raggiungono una determinata dimensione? Il valore è la dimensione massima in B/KB/MB/GB/TB che un file di log può crescere prima di essere troncato. Il valore predefinito di 0KB disattiva il troncamento (i file di log possono crescere indefinitamente). Nota: Si applica ai singoli file di log! La dimensione dei file di log non viene considerata collettivamente. - -##### "log_rotation_limit" -- La rotazione dei log limita il numero di file di log che dovrebbero esistere in qualsiasi momento. Quando vengono creati nuovi file di log, se il numero totale di file di log supera il limite specificato, verrà eseguita l'azione specificata. Qui puoi specificare il limite desiderato. Un valore di 0 disabiliterà la rotazione dei log. - -##### "log_rotation_action" -- La rotazione dei log limita il numero di file di log che dovrebbero esistere in qualsiasi momento. Quando vengono creati nuovi file di log, se il numero totale di file di log supera il limite specificato, verrà eseguita l'azione specificata. Qui puoi specificare l'azione desiderato. Delete = Elimina i file di log più vecchi, finché il limite non viene più superato. Archive = In primo luogo archiviare e quindi, eliminare i file di log più vecchi, finché il limite non viene più superato. - -*Chiarimento tecnico: In questo contesto, "più vecchi" significa modificato meno di recente.* - -##### "timezone" -- Questo è usato per specificare quale fuso orario phpMussel dovrebbe usare per le operazioni di data/ora. Se non ne hai bisogno, ignoralo. I valori possibili sono determinati da PHP. È generalmente raccomandato invece, regolare à la direttiva fuso orario nel file `php.ini`, ma a volte (come ad esempio quando si lavora con i fornitori di hosting condiviso limitati) questo non è sempre possibile fare, e così, questa opzione è fornito qui. - -##### "time_offset" -- *v1: "timeOffset"* -- Se il tempo del server non corrisponde l'ora locale, è possibile specificare un offset qui per regolare le informazioni di data/tempo generato da phpMussel in base alle proprie esigenze. È generalmente raccomandato invece, regolare à la direttiva fuso orario nel file `php.ini`, ma a volte (come ad esempio quando si lavora con i fornitori di hosting condiviso limitati) questo non è sempre possibile fare, e così, questa opzione è fornito qui. Offset è in minuti. -- Esempio (per aggiungere un'ora): `time_offset=60` - -##### "time_format" -- *v1: "timeFormat"* -- Il formato della data/ora di notazione usata da phpMussel. Predefinito = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`. - -##### "ipaddr" -- Dove trovare l'indirizzo IP di collegamento richiesta? (Utile per servizi come Cloudflare e simili) Predefinito = REMOTE_ADDR. AVVISO: Non modificare questa se non sai quello che stai facendo! - -Valori consigliati per "ipaddr": - -Valore | Utilizzando ----|--- -`HTTP_INCAP_CLIENT_IP` | Proxy inverso Incapsula. -`HTTP_CF_CONNECTING_IP` | Proxy inverso Cloudflare. -`CF-Connecting-IP` | Proxy inverso Cloudflare (alternativa; se il precedente non funziona). -`HTTP_X_FORWARDED_FOR` | Proxy inverso Cloudbric. -`X-Forwarded-For` | [Proxy inverso Squid](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*Definito dalla configurazione del server.* | [Proxy inverso Nginx](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` | Nessun proxy inverso (valore predefinito). - -##### "enable_plugins" -- Attiva il supporto per i plugin di phpMussel? False = No; True = Sì [Predefinito]. - -##### "forbid_on_block" -- phpMussel dovrebbe rispondere con 403 header con il file caricamente bloccato messaggio, o rimanere con il solito 200 OK? False = No (200); True = Sì (403) [Predefinito]. - -##### "unsupported_media_type_header" -- phpMussel dovrebbe inviare 415 header quando i caricamenti sono bloccati a causa del tipo di file nella lista nera? Se true, questa impostazione sostituisce `forbid_on_block`. False = No [Predefinito]; True = Sì. - -##### "delete_on_sight" -- Abilitando questa opzione sarà istruirà lo script per tentare immediatamente eliminare qualsiasi file trovato durante scansioni che corrisponde a qualsiasi i criteri di rilevazione, attraverso le firme o altrimenti. I file determinati ad essere "pulito" non verranno toccati. Nel caso degli archivi, l'intero archivio verrà eliminato (indipendentemente se il file all'origine è soltanto uno dei vari file contenuti all'interno dell'archivio o non). Nel caso di file caricamente scansione, solitamente, non è necessario attivare questa opzione, perché solitamente, PHP sarà automaticamente eliminerà il contenuto della cache quando l'esecuzione è terminata, il che significa che lo farà solitamente eliminare tutti i file caricati tramite al server tranne ciò che già è spostato, copiato o cancellato. L'opzione viene aggiunto qui come ulteriore misura di sicurezza per coloro le cui copie di PHP non sempre comportarsi nel previsto modo. False = Dopo la scansione, lasciare il file solo [Predefinito]; True = Dopo la scansione, se non pulite, immediatamente eliminarlo. - -##### "lang" -- Specifica la lingua predefinita per phpMussel. - -##### "lang_override" -- Localizzare secondo HTTP_ACCEPT_LANGUAGE quando possibile? True = Sì [Predefinito]; False = No. - -##### "numbers" -- Specifica come visualizzare i numeri. - -Valori attualmente supportati: - -Valore | Produce | Descrizione ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | Il valore predefinito. -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*Nota: Questi valori non sono standardizzati dovunque, e probabilmente non saranno rilevanti oltre il pacchetto. Inoltre, i valori supportati potrebbero cambiare in futuro.* - -##### "quarantine_key" -- phpMussel è capace di mettere in quarantena contrassegnati tentati file caricamenti in isolamento all'interno della phpMussel vault, se questo è qualcosa che si vuole fare. L'ordinario utenti di phpMussel che semplicemente desiderano proteggere i loro website o hosting environment senza avendo profondo interesse ad analizzare qualsiasi contrassegnati tentati file caricamenti dovrebbe lasciare questa funzionalità disattivata, ma tutti gli utenti interessati ad ulteriori analisi di contrassegnati tentati file caricamenti per la ricerca di malware o per simili cose dovrebbe attivare questa funzionalità. Quarantena di contrassegnati tentati file caricamenti a volte può aiutare anche in debug falsi positivi, se questo è qualcosa che si accade di frequente per voi. Per disattivare la funzionalità di quarantena, lasciare vuota la direttiva `quarantine_key`, o cancellare i contenuti di tale direttiva, se non già è vuoto. Per abilita la funzionalità di quarantena, immettere alcun valore nella direttiva. Il `quarantine_key` è un importante aspetto di sicurezza della funzionalità di quarantena richiesto come un mezzo per prevenire la funzionalità di quarantena di essere sfruttati da potenziali aggressori e come mezzo per prevenire potenziale esecuzione di dati memorizzati all'interno della quarantena. Il `quarantine_key` dovrebbe essere trattato nello stesso modo come le password: Più lunga è la migliore, e proteggila ermeticamente. Per la migliore effetto, utilizzare in combinazione con `delete_on_sight`. - -##### "quarantine_max_filesize" -- La massima permesso dimensione del file dei file essere quarantena. File di dimensioni superiori a questo valore NON verranno quarantena. Questa direttiva è importante per rendere più difficile per qualsiasi potenziali aggressori di inondare la vostra quarantena con indesiderati dati potenzialmente causare un eccessivo utilizzo dei dati sul vostro servizio di hosting. Predefinito = 2MB. - -##### "quarantine_max_usage" -- La massima permesso utilizzo della memoria per la quarantena. Se la totale memoria utilizzata dalla quarantena raggiunge questo valore, i più vecchi file in quarantena vengono eliminati fino a quando la totale memoria utilizzata non raggiunge questo valore. Questa direttiva è importante per rendere più difficile per qualsiasi potenziali aggressori di inondare la tua quarantena con indesiderati dati potenzialmente causare un eccessivo utilizzo dei dati sul vostro servizio di hosting. Predefinito = 64MB. - -##### "quarantine_max_files" -- Il numero massimo di file che possono esistere nella quarantena. Quando vengono aggiunti nuovi file alla quarantena, se questo numero viene superato, i file precedenti verranno eliminati fino a quando il resto non supererà più questo numero. Predefinito = 100. - -##### "honeypot_mode" -- Quando la honeypot modalità è abilitata, phpMussel tenterà di mettere in quarantena ogni file caricamenti che esso incontra, indipendentemente di se il file che essere caricato corrisponde d'alcuna incluso firma, e zero reale scansionare o analisi di quei tentati file caricati sarà avvenire. Questa funzionalità dovrebbe essere utile per coloro che desiderano utilizzare phpMussel a fini di virus/malware ricerca, ma non si raccomandato di abilitare questa funzionalità se l'uso previsto de phpMussel da parte dell'utente è per l'effettivo scansione dei file caricamenti né raccomandato di utilizzare la funzionalità di honeypot per fini diversi da l'uso de honeypot. Da predefinita, questo opzione è disattivato. False = Disattivato [Predefinito]; True = Attivato. - -##### "scan_cache_expiry" -- Per quanto tempo deve phpMussel cache i risultati della scansione? Il valore è il numero di secondi per memorizzare nella cache i risultati della scansione per. Predefinito valore è 21600 secondi (6 ore); Un valore pari a 0 disabilita il caching dei risultati di scansione. - -##### "disable_cli" -- Disabilita CLI? Modalità CLI è abilitato per predefinito, ma a volte può interferire con alcuni strumenti di test (come PHPUnit, per esempio) e altre applicazioni basate su CLI. Se non è necessario disattivare la modalità CLI, si dovrebbe ignorare questa direttiva. False = Abilita CLI [Predefinito]; True = Disabilita CLI. - -##### "disable_frontend" -- Disabilita l'accesso front-end? L'accesso front-end può rendere phpMussel più gestibile, ma può anche essere un potenziale rischio per la sicurezza. Si consiglia di gestire phpMussel attraverso il back-end, quando possibile, ma l'accesso front-end è previsto per quando non è possibile. Mantenerlo disabilitato tranne se hai bisogno. False = Abilita l'accesso front-end; True = Disabilita l'accesso front-end [Predefinito]. - -##### "max_login_attempts" -- Numero massimo di tentativi di accesso al front-end. Predefinito = 5. - -##### "frontend_log" -- *v1: "FrontEndLog"* -- File per la registrazione di tentativi di accesso al front-end. Specificare un nome di file, o lasciare vuoto per disabilitare. - -##### "disable_webfonts" -- Disabilita webfonts? True = Sì [Predefinito]; False = No. - -##### "maintenance_mode" -- Abilita la modalità di manutenzione? True = Sì; False = No [Predefinito]. Disattiva tutto tranne il front-end. A volte utile per l'aggiornamento del CMS, dei framework, ecc. - -##### "default_algo" -- Definisce quale algoritmo da utilizzare per tutte le password e le sessioni in futuro. Opzioni: PASSWORD_DEFAULT (predefinito), PASSWORD_BCRYPT, PASSWORD_ARGON2I (richiede PHP >= 7.2.0), PASSWORD_ARGON2ID (richiede PHP >= 7.3.0). - -##### "statistics" -- Monitorare le statistiche di utilizzo di phpMussel? True = Sì; False = No [Predefinito]. - -##### "hide_version" -- Nascondi informazioni sulla versione dai registri e l'output della pagina? True = Sì; False = No [Predefinito]. - -##### "disabled_channels" -- Questo può essere usato per impedire a phpMussel di usare canali particolari quando si inviano richieste (ad esempio, quando si aggiorna, quando si recuperano i metadati del componente, ecc). - -##### "default_timeout" -- Il tempo scaduto predefinito da utilizzare per le richieste esterne? Predefinito = 12 secondi. - -#### "signatures" (Categoria) -Configurazione per firme. - -##### "active" -- *v1: "Active"* -- Un elenco dei file di firme attivi, delimitati da virgole. - -*Nota:* -- *Prima di poter essere attivati, è necessario installare i file delle firme.* -- *Affinché i file di test funzionino correttamente, i file delle firme devono essere installati e attivati.* -- *Il valore di questa direttiva è memorizzato nella cache. Dopo averlo modificato, affinché le modifiche abbiano effetto, potrebbe essere necessario eliminare la cache.* - -##### "fail_silently" -- Dovrebbe phpMussel rapporto quando le file di firme sono mancanti o danneggiati? Se `fail_silently` è disattivato, mancanti e danneggiati file saranno riportato sulla scansione, e se `fail_silently` è abilitato, mancanti e danneggiati file saranno ignorato, con scansione riportando per quei file che non ha sono problemi. Questo dovrebbe essere generalmente lasciata sola a meno che sperimentando inaspettate terminazioni o simili problemi. False = Disattivato; True = Attivato [Predefinito]. - -##### "fail_extensions_silently" -- Dovrebbe phpMussel rapporto quando le estensioni sono mancanti? Se `fail_extensions_silently` è disattivato, mancanti estensioni saranno riportato sulla scansione, e se `fail_extensions_silently` è abilitato, mancanti estensioni saranno ignorato, con scansione riportando per quei file che non ha sono problemi. La disattivazione di questa direttiva potrebbe potenzialmente aumentare la sicurezza, ma può anche portare ad un aumento di falsi positivi. False = Disattivato; True = Attivato [Predefinito]. - -##### "detect_adware" -- Dovrebbe phpMussel utilizzare le firme per il rilevamento di adware? False = No; True = Sì [Predefinito]. - -##### "detect_joke_hoax" -- Dovrebbe phpMussel utilizzare le firme per il rilevamento di scherzo/inganno malware/virus? False = No; True = Sì [Predefinito]. - -##### "detect_pua_pup" -- Dovrebbe phpMussel utilizzare le firme per il rilevamento di PUAs/PUPs? False = No; True = Sì [Predefinito]. - -##### "detect_packer_packed" -- Dovrebbe phpMussel utilizzare le firme per il rilevamento di confezionatori e dati confezionati? False = No; True = Sì [Predefinito]. - -##### "detect_shell" -- Dovrebbe phpMussel utilizzare le firme per il rilevamento di shell script? False = No; True = Sì [Predefinito]. - -##### "detect_deface" -- Dovrebbe phpMussel utilizzare le firme per il rilevamento di sfiguramenti e sfiguratori? False = No; True = Sì [Predefinito]. - -##### "detect_encryption" -- Dovrebbe phpMussel rilevare e bloccare i file crittografati? False = No; True = Sì [Predefinito]. - -#### "files" (Categoria) -Generale configurazione per la gestione dei file. - -##### "max_uploads" -- Massimo numero di file per analizzare durante il file caricamenti scansione prima le terminazione del scansione e d'informare dell'utente che essi stai caricando troppo in una volta! Fornisce protezione contro un teorico attacco per cui un malintenzionato utente tenta per DDoS vostra sistema o CMS da sovraccaricamento phpMussel rallentare il PHP processo ad un brusco stop. Raccomandato: 10. Si potrebbe desiderare di aumentare o diminuire che numero basato sulla velocità del vostra sistema e hardware. Si noti che questo numero non tiene conto o includere il contenuti degli archivi. - -##### "filesize_limit" -- File dimensione limite in KB. 65536 = 64MB [Predefinito]; 0 = Nessun limite (sempre sul greylist), qualsiasi (positivo) numerico valore accettato. Questo può essere utile quando la configurazione di PHP limita la quantità di memoria che un processo può contenere o se i configurazione ha limitato la dimensione dei file caricamenti. - -##### "filesize_response" -- Cosa fare con i file che superano il file dimensione limite (se esistente). False = Whitelist; True = Blacklist [Predefinito]. - -##### "filetype_whitelist", "filetype_blacklist", "filetype_greylist" -- Se il vostro sistema permette solo determinati tipi di file per caricamenti, o se il vostra sistema esplicitamente negare determinati tipi di file, specificando i tipi di file nel whitelist, blacklist e/o greylist può aumentare la velocità a cui la scansione viene eseguita da permettendo lo script da ignora alcuni tipi di file. Il formato è CSV (valori separati da virgola). Se si desidera eseguire la scansione tutti, invece del whitelist, el blacklist o el greylist, lasciare le variabili vuoti; Fare questo sarà disabilitali. -- Logico ordine del trattamento è: - - Se il tipo di file è nel whitelist, non scansiona e non blocca il file, e non verificare il file contra la blacklist o la greylist. - - Se il tipo di file è nel blacklist, non scansiona il file ma bloccarlo comunque, e non verificar il file contra la greylist. - - Se il greylist è vuoto o se il greylist non è vuota e il tipo di file è nel greylist, scansiona il file come per normale e determinare se bloccarlo sulla base dei risultati della scansione, ma se il greylist non è vuoto e il tipo di file non è nel greylist, trattare il file come se è nel blacklist, quindi non scansionarlo ma bloccarlo comunque. - -##### "check_archives" -- Tenta per verifica il contenuti degli archivi? False = No (no verifica); True = Sì (fare verifica) [Predefinito]. - -Formato | Può leggere | Può leggere in modo ricorsivo | Può rilevare la crittografia | Note ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | Richiede [libzip](https://secure.php.net/manual/en/zip.requirements.php) (normalmente in bundle con PHP comunque). Supporta anche (usa il formato zip): ✔️ Rilevazione oggetti OLE. ✔️ Rilevamento di macro di Office. -Tar | ✔️ | ✔️ | ➖ | Nessun requisito speciale. Il formato non supporta la crittografia. -Rar | ✔️ | ✔️ | ✔️ | Richiede l'estensione [rar](https://pecl.php.net/package/rar) (quando questa estensione non è installata, phpMussel non può leggere i file rar). -Phar | ❌ | ❌ | ❌ | Il supporto per la lettura dei file phar è stato rimosso nella v1.6.0, e non verrà aggiunto di nuovo, a causa di problemi di sicurezza. - -*Se qualcuno è in grado e disposto ad aiutare a implementare il supporto per la lettura di altri formati di archivio, tale aiuto sarebbe gradito.* - -##### "filesize_archives" -- Eredita file dimensione limite blacklist/whitelist al contenuti degli archivi? False = No (appena greylist tutto); True = Sì [Predefinito]. - -##### "filetype_archives" -- Eredita file tipi blacklist/whitelist al contenuti degli archivi? False = No (appena greylist tutto) [Predefinito]; True = Sì. - -##### "max_recursion" -- Massimo ricorsione profondità limite per gli archivi. Predefinito = 3. - -##### "block_encrypted_archives" -- Rilevi e blocchi archivi criptati? Perché phpMussel non è in grado di verifica del contenuto degli archivi criptati, è possibile che la archivi criptati può essere usato da un attaccante verifieracome mezzo di tenta di bypassare phpMussel, verificatore anti-virus e altri tali protezioni. Istruire phpMussel di bloccare qualsiasi archivi criptati che si trovato potrebbe potenzialmente contribuire a ridurre il rischio associato a questi tali possibilità. False = No; True = Sì [Predefinito]. - -##### "max_files_in_archives" -- Numero massimo di file da scansionare dagli archivi prima di interrompere la scansione. Predefinito = 0 (nessun massimo). - -#### "attack_specific" (Categoria) -Configurazione per specifiche attacco rilevazioni. - -Chameleon attacco rilevamento: False = Disattivato; True = Attivato. - -##### "chameleon_from_php" -- Cercare per PHP magici numeri che non sono riconosciuti PHP file né archivi. - -##### "can_contain_php_file_extensions" -- Un elenco di estensioni di file consentito contenere codice PHP, separato da virgole. Se PHP chameleon attacco rilevamento è abilitato, i file che contengono codice PHP, che hanno estensioni non presenti in questo elenco, saranno rilevati come attacchi chameleon di PHP. - -##### "chameleon_from_exe" -- Cercare per eseguibili magici numeri che non sono riconosciuti eseguibili né archivi e per eseguibili cui non sono corrette. - -##### "chameleon_to_archive" -- Rileva le header errate negli archivi e nei file compressi. Supportato: BZ/BZIP2, GZ/GZIP, LZF, RAR, ZIP. - -##### "chameleon_to_doc" -- Cercare per office documenti di cui non sono corrette (Supportato: DOC, DOT, PPS, PPT, XLA, XLS, WIZ). - -##### "chameleon_to_img" -- Cercare per immagini file di cui non sono corrette (Supportato: BMP, DIB, PNG, GIF, JPEG, JPG, XCF, PSD, PDD, WEBP). - -##### "chameleon_to_pdf" -- Cercare per PDF file di cui non sono corrette. - -##### "archive_file_extensions" -- Riconosciute archivio file estensioni (formato è CSV; deve solo aggiungere o rimuovere quando problemi apparire; rimozione inutilmente può causare falsi positivi per archivio file, mentre aggiungendo inutilmente saranno essenzialmente whitelist quello che si sta aggiungendo dall'attacco specifico rilevamento; modificare con cautela; anche notare che questo non ha qualsiasi effetto su cui gli archivi possono e non possono essere analizzati dal contenuti livello). La lista, come da predefinito, è i formati utilizzati più comunemente attraverso la maggior parte dei sistemi e CMS, ma apposta non è necessariamente completo. - -##### "block_control_characters" -- Bloccare tutti i file contenenti i controlli caratteri (eccetto per nuove linee)? (`[\x00-\x08\x0b\x0c\x0e\x1f\x7f]`) Se si sta caricando solo normale testo, quindi si puó attivare questa opzione a fornire additionale protezione al vostro sistema. Ma, se si carica qualcosa di diverso da normale testo, abilitando questo opzione può causare falsi positivi. False = Non bloccare [Predefinito]; True = Bloccare. - -##### "corrupted_exe" -- Corrotto file e parsare errori. False = Ignorarli; True = Bloccarli [Predefinito]. Rilevare e bloccare i potenzialmente corrotti PE (portatile eseguibili) file? Spesso (ma non sempre), quando alcuni aspetti di un PE file sono corrotto o non può essere parsato correttamente, tale può essere indicativo di una virale infezione. I processi utilizzati dalla maggior parte dei antivirus programmi per rilevare i virus all'intero PE file richiedono parsare quei file in certi modi, di cui, se il programmatore di un virus è consapevole di, sarà specificamente provare di prevenire, al fine di abilita loro virus di rimanere inosservato. - -##### "decode_threshold" -- Soglia per la lunghezza dei grezzi dati dove decodificare comandi dovrebbe essere rilevati (nel caso in cui vi siano notevoli problemi di prestazioni durante la scansione). Predefinito = 512KB. Un zero o un nullo valore disabilita la soglia (rimuovere tale limitazione basata sulla dimensione dei file). - -##### "scannable_threshold" -- Soglia per la lunghezza dei dati grezzi dove phpMussel è permesso di leggere e scansione (nel caso in cui vi siano notevoli problemi di prestazioni durante la scansione). Predefinito = 32MB. Un zero o un nullo valore disabilita la soglia. In generale, questo valore non dovrebbe essere meno quella media dimensione dei file che si desidera e si aspettano di ricevere al vostro server o al vostro web sito, non dovrebbe essere più di la filesize_limit direttiva, e non dovrebbe essere più di circa un quinto del totale ammissibile allocazione della memoria concesso al PHP tramite il file di configurazione `php.ini`. Questa direttiva esiste per tenta di evitare avendo phpMussel utilizzare troppa memoria (di cui sarebbe impedirebbe di essere capace di completare la file scansione correttamente per i file piú d'una certa dimensione). - -##### "allow_leading_trailing_dots" -- Consenti punti iniziali e finali nei nomi dei file? Questo a volte può essere usato per nascondere file, o per ingannare alcuni sistemi per consentire l'attraversamento di cartella. False = Non permettere [Predefinito]. True = Permettere. - -##### "block_macros" -- Prova a bloccare qualsiasi file contenente macro? Alcuni tipi di documenti e fogli di calcolo possono contenere macro eseguibili, fornendo così un pericoloso vettore potenziale di malware. False = Ignorarli; True = Bloccarli [Predefinito]. - -#### "compatibility" (Categoria) -Compatibilità direttive per phpMussel. - -##### "ignore_upload_errors" -- Questa direttiva dovrebbe generalmente essere SPENTO meno se necessario per la corretta funzionalità del phpMussel sul vostra sistema. Normalmente, quando spento, quando phpMussel rileva la presenza di elementi nella `$_FILES` array(), è tenterà di avviare una scansione dei file che tali elementi rappresentano, e, se tali elementi sono vuoti, phpMussel restituirà un errore messaggio. Questo è un comportamento adeguato per phpMussel. Tuttavia, per alcuni CMS, vuoti elementi nel `$_FILES` può avvenire come conseguenza del naturale comportamento di questi CMS, o errori possono essere segnalati quando non ce ne sono, nel qual caso, il normale comportamento per phpMussel sarà interferire con il normale comportamento di questi CMS. Se una tale situazione avvenire per voi, attivazione di questa opzione SU sarà istruirà phpMussel a non tenta avviare scansioni per tali vuoti elementi, ignorarli quando si trova ea non ritorno qualsiasi errore correlato messaggi, così permettendo proseguimento della pagina richiesta. False = SPENTO/OFF; True = SU/ON. - -##### "only_allow_images" -- Se impostato su true, tutti i file rilevati dallo scanner, che non sono immagini, verranno contrassegnati immediatamente, senza essere scansionati. Ciò può aiutare a ridurre il tempo necessario per completare una scansione in alcuni casi. Impostato su false per predefinita. - -#### "heuristic" (Categoria) -Euristici direttive per phpMussel. - -##### "threshold" -- Ci sono particolare firme di phpMussel che sono destinato a identificare sospetti e potenzialmente maligno qualità dei file che vengono essere caricati senza in sé identificando i file che vengono essere caricati in particolare ad essere maligno. Questo "threshold" (soglia) valore dice phpMussel cosa che il totale massimo peso di sospetti e potenzialmente maligno qualità dei file che vengono essere caricati che è ammissibile è prima che quei file devono essere contrassegnati come maligno. La definizione di peso in questo contesto è il totale numero di sospetti e potenzialmente maligno qualità identificato. Per predefinito, questo valore viene impostato su 3. Un inferiore valore generalmente sarà risultare di una maggiore presenza di falsi positivi ma una maggior numero di file essere contrassegnato come maligno, mentre una maggiore valore generalmente sarà risultare di un inferiore presenza di falsi positivi ma un inferiore numero di file essere contrassegnato come maligno. È generalmente meglio di lasciare questo valore a suo predefinito a meno che si incontrare problemi ad esso correlati. - -#### "virustotal" (Categoria) -Configurazione per Virus Total integrazione. - -##### "vt_public_api_key" -- Facoltativamente, phpMussel è in grado di scansionare dei file utilizzando il Virus Total API come un modo per fornire un notevolmente migliorato livello di protezione contro virus, trojan, malware e altre minacce. Per predefinita, la scansionare dei file utilizzando il Virus Total API è disattivato. Per abilitarlo, una API chiave da Virus Total è richiesta. A causa del significativo vantaggio che questo potrebbe fornire a voi, è qualcosa che consiglio vivamente di attivare. Tuttavia, si prega di notare che per utilizzare il Virus Total API, è necessario d'accettare i Termini di Servizio (Terms of Service) e rispettare tutte le orientamenti descritto nella documentazione di Virus Total! Tu NON sei autorizzato a utilizzare questa funzionalità TRANNE SE: - - Hai letto e accettato i Termini di Servizio (Terms of Service) di Virus Total e le sue API. I Termini di Servizio di Virus Total e le sue API può essere trovato [Qui](https://www.virustotal.com/en/about/terms-of-service/). - - Hai letto e si capisce, come minimo, il preambolo del Virus Total Pubblica API documentazione (tutto dopo "VirusTotal Public API v2.0" ma prima "Contents"). La Virus Total Pubblica API documentazione può essere trovato [Qui](https://www.virustotal.com/en/documentation/public-api/). - -Notare: Se scansionare dei file utilizzando il Virus Total API è disattivato, non avrete bisogno di rivedere qualsiasi delle direttive in questa categoria (`virustotal`), perché nessuno di loro farà una cosa se questo è disattivato. Per acquisire un Virus Total API chiave, dal ovunque sul loro website, clicca il "Join our Community" link situato in alto destra della pagina, immettere le informazioni richieste, e clicca "Sign up" quando hai finito. Seguite tutte le istruzioni fornite, e quando hai la tua pubblica API chiave, copia/incolla la pubblica API chiave per la `vt_public_api_key` direttiva del file di configurazione `config.ini`. - -##### "vt_suspicion_level" -- Per predefinita, phpMussel limiterà quali file ciò scansiona utilizzando il Virus Total API ai quei file che considera "sospettose". Facoltativamente, è possibile modificare questa restrizione per mezzo di modificando il valore del `vt_suspicion_level` direttiva. -- `0`: File vengono solo considerati sospetti se, dopo essere sottoposto a scansione da phpMussel utilizzando i propri firme, essi sono considerati avere un peso euristica. Questo potrebbe effettivamente indicare che l'uso del Virus Total API sarebbe per un secondo parere per quando phpMussel sospetta che un file può essere potenzialmente maligno, ma non può escludere del possibilità che essa può essere benigno (non maligno) e quindi sarebbe altrimenti non normalmente bloccarlo o segnalarlo come maligno. -- `1`: File vengono considerati sospetti se, dopo essere sottoposto a scansione da phpMussel utilizzando i propri firme, essi sono considerati avere un peso euristica, se sono noti per essere eseguibile (PE file, Mach-O file, ELF/Linux file, ecc), o se sono noti per essere di un formato che potrebbe contenere dati eseguibile (come le macro eseguibili, DOC/DOCX file, archivio file come RAR, ZIP ed ecc). Questa è l'impostazione predefinita e il livello di sospetto consigliato di applicare, indicando effettivamente che l'uso del Virus Total API sarebbe per un secondo parere per quando phpMussel inizialmente non trova nulla maligno o sbagliato in un file che ritiene di essere sospettosi e quindi sarebbe altrimenti non normalmente bloccarlo o segnalarlo come maligno. -- `2`: Tutti i file vengono considerati sospetti e devono essere sottoposti a scansione utilizzando il Virus Total API. Generalmente, io non raccomando di applicarla questo livello di sospetti, a causa del rischio di raggiungere il vostro API quota molto più rapidamente di quanto sarebbe altrimenti essere il caso, ma ci sono certe circostanze (ad esempio quando il webmaster o hostmaster ha molto poca fede o fiducia in qualsiasi contenuto caricato dei loro utenti) per cui questo livello di sospetto potrebbe essere appropriato. Con questo livello di sospetto, tutti i file normalmente non bloccato o contrassegnato come maligno sarebbero sottoposti a scansione utilizzando il Virus Total API. Notare, tuttavia, che phpMussel cesserà utilizzando la Virus Total API quando il vostro API quota è raggiunto (indipendentemente dal livello di sospetto), e che la quota sarà probabilmente essere raggiunto molto più velocemente quando utilizzando questo livello di sospetto. - -Notare: Indipendentemente dal livello di sospetto, qualsiasi file che sono nella blacklist o nella whitelist per mezzo di phpMussel non verrà soggetta di scansione utilizzando il Virus Total API, perché quelle tali file sarebbero hai già stati dichiarati come maligno o benigno per phpMussel per il momento in cui avrebbero altrimenti hai stati scansionati dal Virus Total API, e quindi, scansionare supplementare non sarebbe necessaria. La capacità di phpMussel a scansioni file utilizzando il Virus Total API è destinato a sviluppare fiducia ulteriormente per se un file è maligno o benigno in quelle circostanze in cui phpMussel sé non è interamente certo se un file è maligno o benigno. - -##### "vt_weighting" -- Dovrebbe phpMussel applica i risultati della scansione utilizzando il Virus Total API come rilevamenti o il ponderazione rilevamenti? Questa direttiva esiste, perché, sebbene scansione di un file utilizzando più motori (come Virus Total fa) dovrebbe risulta in un maggiore tasso di rilevamenti (e quindi in un maggiore numero di maligni file essere catturati), può anche risulta in un maggiore numero di falsi positivi, e quindi, in certe circostanze, i risultati della scansione possono essere meglio utilizzato come un punteggio di confidenza anziché come una conclusione definitiva. Se viene utilizzato un valore di 0, i risultati della scansione utilizzando il Virus Total API saranno applicati come rilevamenti, e quindi, se qualsiasi motori utilizzati da Virus Total che marca il file sottoposto a scansione come maligno, phpMussel considererà il file come maligno. Se qualsiasi altro valore è utilizzato, i risultati della scansione utilizzando il Virus Total API saranno applicati come ponderazione rilevamenti, e quindi, il numero di motori utilizzati da Virus Total marcando il file sottoposto a scansione come maligno servirà come un punteggio di confidenza (o ponderazione rilevamenti) per se il file sottoposto a scansione deve essere considerato maligno per phpMussel (il valore utilizzato rappresenterà il minimo punteggio di confidenza o ponderazione richiesto per essere considerato maligno). Un valore di 0 è utilizzato per predefinita. - -##### "vt_quota_rate" e "vt_quota_time" -- Secondo a la Virus Total API documentazione, è limitato a un massimo di 4 richieste di qualsiasi natura in un dato 1 minuto tempo periodo. Se tu esegue una honeyclient, honeypot o qualsiasi altro automazione che sta fornire risorse a VirusTotal e non solo recuperare rapporti si ha diritto a un più alto tasso di richiesta quota. Per predefinita, phpMussel rigorosamente rispetti questi limiti, ma a causa della possibilità di tali tassi quote essere aumentati, questi due direttivi sono forniti come un mezzo per voi per istruire phpMussel da quale limite si deve rispettare. A meno che sei stato richiesto di farlo, non è raccomandato per voi per aumentare questi valori, ma, se hai incontrati problemi relativi a raggiungere il vostro tasso quota, diminuendo questi valori _**POTREBBE**_ a volte aiutare nel lavoro attraverso questi problemi. Il vostro tasso limite è determinato come `vt_quota_rate` richieste di qualsiasi natura in un dato `vt_quota_time` minuto tempo periodo. - -#### "urlscanner" (Categoria) -Uno scanner URL è incluso in phpMussel, in grado di rilevare URL malevoli all'interno di dati ei file scansionati. - -Notare: Se l'URL scanner è disabilitato, non sarà necessario rivedere nessuna delle direttive in questa categoria (`urlscanner`), perché nessuno di loro farà nulla se questo è disabilitato. - -API configurazione per l'URL scanner. - -##### "google_api_key" -- Abilita API richieste per l'API di Google Safe Browsing quando le API chiave necessarie è definito. L'API di Google Safe Browsing richiede un API chiave, che può essere ottenuto da [Qui](https://console.developers.google.com/). -- Notare: L'estensione cURL è necessaria al fine di utilizzare questa funzione. - -##### "maximum_api_lookups" -- Numero massimo di richieste per l'API di eseguire per iterazione di scansione individuo. Perché ogni richiesta supplementare per l'API farà aggiungere al tempo totale necessario per completare ogni iterazione di scansione, si potrebbe desiderare di stipulare una limitazione al fine di accelerare il processo di scansione. Quando è impostato su 0, no tale ammissibile numero massimo sarà applicata. Impostato su 10 per impostazione predefinite. - -##### "maximum_api_lookups_response" -- Cosa fare se il ammissibile numero massimo di richieste per l'API è superato? False = Fare nulla (continuare il processo) [Predefinito]; True = Segnare/bloccare il file. - -##### "cache_time" -- Per quanto tempo (in secondi) dovrebbe i risultati delle API richieste essere memorizzati nella cache per? Predefinito è 3600 secondi (1 ora). - -#### "legal" (Categoria) -Configurazione relativa ai requisiti legali. - -*Per ulteriori informazioni sui requisiti legali e su come ciò potrebbe influire sui requisiti di configurazione, si prega di fare riferimento alla sezione "[INFORMAZIONE LEGALE](#SECTION11)" della documentazione.* - -##### "pseudonymise_ip_addresses" -- Pseudonimizzare gli indirizzi IP durante la scrivono i file di registro? True = Sì [Predefinito]; False = No. - -##### "privacy_policy" -- L'indirizzo di una politica sulla privacy pertinente da visualizzare nel piè di pagina delle pagine generate. Specificare un URL, o lasciare vuoto per disabilitare. - -#### "template_data" (Categoria) -Direttive/Variabili per modelli e temi. - -Modelli dati riferisce alla prodotti HTML utilizzato per generare il "Caricamento Negato" messaggio visualizzati agli utenti quando file caricamenti sono bloccati. Se stai usando temi personalizzati per phpMussel, prodotti HTML è provenienti da file `template_custom.html`, e altrimenti, prodotti HTML è provenienti da file `template.html`. Variabili scritte a questa sezione del file di configurazione sono parsato per il prodotti HTML per mezzo di sostituendo tutti i nomi di variabili circondati da parentesi graffe trovato all'interno il prodotti HTML con la corrispondente dati di quelli variabili. Per esempio, dove `foo="bar"`, qualsiasi istanza di `

{foo}

` trovato all'interno il prodotti HTML diventerà `

bar

`. - -##### "theme" -- Tema predefinito da utilizzare per phpMussel. - -##### "magnification" -- *v1: "Magnification"* -- Ingrandimento del carattere. Predefinito = 1. - -##### "css_url" -- Il modello file per i temi personalizzati utilizzi esterni CSS proprietà, mentre il modello file per i temi personalizzati utilizzi interni CSS proprietà. Per istruire phpMussel di utilizzare il modello file per i temi personalizzati, specificare l'indirizzo pubblico HTTP dei CSS file dei suoi tema personalizzato utilizzando la variabile `css_url`. Se si lascia questo variabile come vuoto, phpMussel utilizzerà il modello file per il predefinito tema. - -#### "PHPMailer" (Categoria) -Configurazione PHPMailer. - -Attualmente, phpMussel utilizza PHPMailer solo per l'autenticazione a due fattori del front-end. Se non si utilizza il front-end, o se non si utilizza l'autenticazione a due fattori per il front-end, è possibile ignorare queste direttive. - -##### "event_log" -- *v1: "EventLog"* -- Un file per registrare tutti gli eventi in relazione a PHPMailer. Specificare un nome di file, o lasciare vuoto per disabilitare. - -##### "skip_auth_process" -- *v1: "SkipAuthProcess"* -- Impostando questa direttiva su `true`, PHPMailer salta il normale processo di autenticazione che normalmente si verifica quando si invia una posta elettronica via SMTP. Questo dovrebbe essere evitato, perché saltare questo processo potrebbe esporre la posta elettronica in uscita agli attacchi MITM, ma potrebbe essere necessario nei casi in cui questo processo impedisce a PHPMailer di connettersi a un server SMTP. - -##### "enable_two_factor" -- *v1: "Enable2FA"* -- Questa direttiva determina se utilizzare 2FA per gli account front-end. - -##### "host" -- *v1: "Host"* -- L'host SMTP per utilizzare per la posta elettronica in uscita. - -##### "port" -- *v1: "Port"* -- Il numero di porta per utilizzare per la posta elettronica in uscita. Predefinito = 587. - -##### "smtp_secure" -- *v1: "SMTPSecure"* -- Il protocollo per utilizzare per l'invio di posta elettronica tramite SMTP (TLS o SSL). - -##### "smtp_auth" -- *v1: "SMTPAuth"* -- Questa direttiva determina se autenticare le sessioni SMTP (di solito dovrebbe essere lasciato solo). - -##### "username" -- *v1: "Username"* -- Il nome utente per utilizzare per l'invio di posta elettronica tramite SMTP. - -##### "password" -- *v1: "Password"* -- La password per utilizzare per l'invio di posta elettronica tramite SMTP. - -##### "set_from_address" -- *v1: "setFromAddress"* -- L'indirizzo del mittente per citare quando si invia una posta elettronica tramite SMTP. - -##### "set_from_name" -- *v1: "setFromName"* -- Il nome del mittente per citare quando si invia una posta elettronica tramite SMTP. - -##### "add_reply_to_address" -- *v1: "addReplyToAddress"* -- L'indirizzo di risposta per citare quando si invia una posta elettronica tramite SMTP. - -##### "add_reply_to_name" -- *v1: "addReplyToName"* -- Il nome per la risposta per citare quando si invia una posta elettronica tramite SMTP. - -#### "supplementary_cache_options" (Categoria) -Opzioni di cache supplementari. - -##### "prefix" -- Il valore specificato qui verrà anteposto a tutte le chiavi di ingresso della cache. Vuoto per impostazione predefinita. Quando esistono più installazioni sullo stesso server, questo può essere utile per mantenere le loro cache separate l'una dall'altra. - -##### "enable_apcu" -- Specifica se provare a utilizzare APCu per la memorizzazione nella cache. Predefinito = False. - -##### "enable_memcached" -- Specifica se provare a utilizzare Memcached per la memorizzazione nella cache. Predefinito = False. - -##### "enable_redis" -- Specifica se provare a utilizzare Redis per la memorizzazione nella cache. Predefinito = False. - -##### "enable_pdo" -- Specifica se provare a utilizzare PDO per la memorizzazione nella cache. Predefinito = False. - -##### "memcached_host" -- Il valore dell'host Memcached. Predefinito = "localhost". - -##### "memcached_port" -- Il valore della porta Memcached. Predefinito = "11211". - -##### "redis_host" -- Il valore dell'host Redis. Predefinito = "localhost". - -##### "redis_port" -- Il valore della porta Redis. Predefinito = "6379". - -##### "redis_timeout" -- Il valore del tempo scaduto per Redis. Predefinito = "2.5". - -##### "pdo_dsn" -- Il valore della DSN per PDO. Predefinito = "`mysql:dbname=phpmussel;host=localhost;port=3306`". - -*Guarda anche: [Che cos'è un "DSN PDO"? Come posso usare PDO con phpMussel?](#HOW_TO_USE_PDO)* - -##### "pdo_username" -- Il nome utente per PDO. - -##### "pdo_password" -- La password per PDO. - ---- - - -### 8. FIRMA FORMATO - -*Guarda anche:* -- *[Che cosa è una "firma"?](#WHAT_IS_A_SIGNATURE)* - -I primi 9 byte `[x0-x8]` di un file di firma per phpMussel sono `phpMussel`, e agire come un "numero magico" (magic number), per identificarli come file di firma (questo aiuta a impedire phpMussel di tentare accidentalmente di utilizzare file che non sono file di firma). Il byte successivo `[x9]` identifica il tipo di file di firma, che phpMussel deve conoscere per poter interpretare correttamente il file di firma. Sono riconosciuti i seguenti tipi di file di firma: - -Tipo | Byte | Descrizione ----|---|--- -`General_Command_Detections` | `0?` | Per i file di firma CSV (valori separati da virgole). I valori (firme) sono stringhe esadecimali codificate per cercare all'interno di file. Le firme qui non hanno nomi o altri dettagli (solo la stringa da rilevare). -`Filename` | `1?` | Per le firme dei nomi di file. -`Hash` | `2?` | Per firme di hash. -`Standard` | `3?` | Per i file di firma che lavorano direttamente con il contenuto del file. -`Standard_RegEx` | `4?` | Per i file di firma che lavorano direttamente con il contenuto del file. Le firme possono contenere espressioni regolari. -`Normalised` | `5?` | Per i file di firma che funzionano con il contenuto di file normalizzato a ANSI. -`Normalised_RegEx` | `6?` | Per i file di firma che funzionano con il contenuto di file normalizzato a ANSI. Le firme possono contenere espressioni regolari. -`HTML` | `7?` | Per i file di firma che funzionano con il contenuto di file normalizzato a HTML. -`HTML_RegEx` | `8?` | Per i file di firma che funzionano con il contenuto di file normalizzato a HTML. Le firme possono contenere espressioni regolari. -`PE_Extended` | `9?` | Per i file di firma che funzionano con metadati PE (tranne i metadati sezione PE). -`PE_Sectional` | `A?` | Per i file di firma che funzionano con i metadati di sezione PE. -`Complex_Extended` | `B?` | Per i file di firma che funzionano con diverse regole basate su metadati estesi generati da phpMussel. -`URL_Scanner` | `C?` | Per i file di firma che funzionano con gli URL. - -Il byte successivo `[x10]` è una nuova linea `[0A]`, e conclude l'intestazione del file di firma per phpMussel. - -Ogni linea non vuota in seguito è una firma o una regola. Ogni firma o regola occupa una linea. I formati di firma supportati sono descritti di seguito. - -#### *FIRME DEI NOMI DI FILE* -Tutte le firme dei nomi di file seguono il formato: - -`NOME:FNRX` - -Dove NOME è il nome per citare per quella firma e FNRX è la regolare espressione a verifica file nomi firme (non codificata) contra. - -#### *FIRME HASH* -Tutte le firme hash seguono il formato: - -`HASH:DIMENSIONE:NOME` - -Dove HASH è l'hash (di solito MD5) dell'intero file, DIMENSIONE è la totale dimensione del file e NOME è il nome per citare per quella firma. - -#### *FIRME PE SEZIONALI* -Tutte le firme PE sezionali seguono il formato: - -`DIMENSIONE:HASH:NOME` - -Dove HASH è l'MD5 hash di una sezione del PE file, DIMENSIONE è la totale dimensioni della sezione e NOME è il nome per citare per quella firma. - -#### *FIRME PE ESTESO* -Tutte le firme PE esteso seguono il formato: - -`$VAR:HASH:DIMENSIONE:NOME` - -Dove $VAR è il nome della PE variabile per corrispondere contro, HASH è l'MD5 hash di quella variabile, DIMENSIONE è la dimensione totale di quella variabile e NOME è il nome per citare per quella firma. - -#### *COMPLESSO ESTESO FIRME* -Complesso esteso firme sono piuttosto diverso da altri tipi di firme possibili con phpMussel, in quanto ciò che essi sono corrispondenti contro è specificato dalle firme stesse e possono corrispondere contro più criteri. Criteri sono delimitati da ";" e il tipo e dati di ogni criterio è delimitato da ":" come tale che il formato per queste firme sembra come: - -`$variabile1:DATI;$variabile2:DATI;FirmeNome` - -#### *TUTTO IL RESTO* -Tutte le altre firme seguono il formato: - -`NOME:HEX:FROM:TO` - -Dove NOME è il nome per citare per quella firma e HEX è un esadecimale codificato segmento del file destinato essere verificato dal pertinente firma. FROM e TO sono opzionali parametri, indicando da cui ea cui posizioni nei sorgenti dati per verificare contra. - -#### *REGEX (REGULAR EXPRESSIONS)* -Ogni forma di regex correttamente capito da PHP anche dovrebbe essere correttamente capito da phpMussel el sue firme. Ma, io suggerirei di prendere estrema cautela quando scrittura nuove regex basato firme, perché, se non sei certo quello stai facendo, ci possono essere molto irregolari e/o inaspettati risultati. Occhiata al sorgente codice di phpMussel se non sei certo sul contesto in cui le regolari espressioni dichiarazioni vengono parsato. Anche, ricordare che tutti i espressioni (ad eccezione per i file nomi, archivio metadati e l'MD5 espressioni) deve essere esadecimale codificato (tranne sintassi, naturalmente)! - ---- - - -### 9. CONOSCIUTI COMPATIBILITÀ PROBLEMI - -#### PHP e PCRE -- phpMussel richiede PHP e PCRE a eseguire ea funzionare correttamente. Senza PHP, o senza il PCRE estensione di PHP, phpMussel non sarà eseguirà o funzionare correttamente. Dovrebbe assicurarsi che il vostra sistema ha sia PHP e PCRE installati e disponibili prima di scaricare e installare phpMussel. - -#### ANTI-VIRUS SOFTWARE COMPATIBILITÀ - -Problemi di compatibilità tra phpMussel e alcuni fornitori di antivirus si sono verificati a volte in passato, così ogni pochi mesi o giù di lì, controllo le ultime versioni disponibili della base di codice phpMussel contro Virus Total, per vedere se vi sono segnalati problemi. Quando vengono segnalati problemi, elencherò qui i problemi riportati, nella documentazione. - -Quando ho controllato più di recente (2022.05.12), non sono stati segnalati problemi. - -Non controllo i file di firma, la documentazione o altri contenuti periferici. I file di firma causano sempre alcuni falsi positivi quando vengono rilevati da altre soluzioni antivirus. Pertanto, consigliamo vivamente, se si prevede di installare phpMussel su una macchina in cui esiste già un'altra soluzione antivirus, di mettere i file delle firme phpMussel nella tua lista bianca. - ---- - - -### 10. DOMANDE FREQUENTI (FAQ) - -- [Che cosa è una "firma"?](#WHAT_IS_A_SIGNATURE) -- [Che cosa è un "falso positivo"?](#WHAT_IS_A_FALSE_POSITIVE) -- [Con quale frequenza vengono aggiornate le firme?](#SIGNATURE_UPDATE_FREQUENCY) -- [Ho incontrato un problema durante l'utilizzo phpMussel e non so che cosa fare al riguardo! Aiutami!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [Voglio usare phpMussel (prima della v2) con una versione di PHP più vecchio di 5.4.0; Puoi aiutami?](#MINIMUM_PHP_VERSION) -- [Voglio usare phpMussel (v2) con una versione di PHP più vecchio di 7.2.0; Puoi aiutami?](#MINIMUM_PHP_VERSION_V2) -- [Posso utilizzare un'installazione singola di phpMussel per proteggere più domini?](#PROTECT_MULTIPLE_DOMAINS) -- [Non voglio perdere tempo con l'installazione di questo e farlo funzionare con il mio sito web; Posso pagarti per farlo per me?](#PAY_YOU_TO_DO_IT) -- [Posso assumere voi o uno degli sviluppatori di questo progetto per lavori privati?](#HIRE_FOR_PRIVATE_WORK) -- [Ho bisogno di modifiche specialistiche, personalizzazioni, ecc; Puoi aiutare?](#SPECIALIST_MODIFICATIONS) -- [Sono uno sviluppatore, un designer di siti web o un programmatore. Posso accettare o offrire lavori relativi a questo progetto?](#ACCEPT_OR_OFFER_WORK) -- [Voglio contribuire al progetto; Posso farlo?](#WANT_TO_CONTRIBUTE) -- [Come accedere a dettagli specifici sui file quando vengono scansionati?](#SCAN_DEBUGGING) -- [Posso utilizzare il cron per aggiornare automaticamente?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [phpMussel può eseguire la scansione di file con nomi non ANSI?](#SCAN_NON_ANSI) -- [Blacklists (liste nere) – Whitelists (liste bianche) – Greylists (liste grigie) – Cosa sono e come li uso?](#BLACK_WHITE_GREY) -- [Quando si attivano o disattivano file di firma tramite la pagina degli aggiornamenti, li ordina in ordine alfanumerico nella configurazione. Posso cambiare il modo in cui vengono ordinati?](#CHANGE_COMPONENT_SORT_ORDER) -- [Che cos'è un "DSN PDO"? Come posso usare PDO con phpMussel?](#HOW_TO_USE_PDO) -- [Mia funzionalità di caricamento è asincrona (ad esempio, utilizza ajax, ajaj, json, ecc). Non vedo alcun messaggio o avviso speciale quando un caricamento è bloccato. Cosa sta succedendo?](#AJAX_AJAJ_JSON) -- [phpMussel può rilevare EICAR?](#DETECT_EICAR) - -#### Che cosa è una "firma"? - -Nel contesto di phpMussel, una "firma" si riferisce a dati che fungono da indicatore/identificatore per qualcosa di specifico che stiamo cercando, di solito sotto forma di un segmento molto piccolo, distinto, e innocuo di qualcosa di più grande e altrimenti dannose, come un virus o un trojan, o sotto forma di un checksum di file, un hash, o altro identificando indicatore, e di solito include un'etichetta, e alcuni altri dati per fornire un contesto aggiuntivo che può essere utilizzato da phpMussel per determinare il modo migliore per procedere quando incontra quello che stiamo cercando. - -#### Che cosa è un "falso positivo"? - -Il termine "falso positivo" (*in alternativa: "errore di falso positivo"; "falso allarme"*; Inglese: *false positive*; *false positive error*; *false alarm*), descritto molto semplicemente, e in un contesto generalizzato, viene utilizzato quando si analizza una condizione, per riferirsi ai risultati di tale analisi, quando i risultati sono positivi (cioè, la condizione è determinata a essere "positivo", o "vero"), ma dovrebbero essere (o avrebbe dovuto essere) negativo (cioè, la condizione, in realtà, è "negativo", o "falso"). Un "falso positivo" potrebbe essere considerato analogo a "piangendo lupo" (dove la condizione di essere analizzato è se c'è un lupo nei pressi della mandria, la condizione è "falso" in che non c'è nessun lupo nei pressi della mandria, e la condizione viene segnalato come "positivo" dal pastore per mezzo di chiamando "lupo, lupo"), o analogo a situazioni di test medici dove un paziente viene diagnosticato una malattia, quando in realtà, non hanno qualsiasi malattia. - -Risultati correlati quando si analizza una condizione può essere descritto utilizzando i termini "vero positivo", "vero negativo" e "falso negativo". Un "vero positivo" si riferisce a quando i risultati dell'analisi e lo stato attuale della condizione sono entrambi vero (o "positivo"), e un "vero negativo" si riferisce a quando i risultati dell'analisi e lo stato attuale della condizione sono entrambe falso (o "negativo"); Un "vero positivo" o un "vero negativo" è considerato una "inferenza corretta". L'antitesi di un "falso positivo" è un "falso negativo"; Un "falso negativo" si riferisce a quando i risultati dell'analisi sono negativo (cioè, la condizione è determinata a essere "negativo", o "falso"), ma dovrebbero essere (o avrebbe dovuto essere) positivo (cioè, la condizione, in realtà, è "positivo", o "vero"). - -Nel contesto di phpMussel, questi termini si riferiscono alle firme di phpMussel e le file che si bloccano. Quando phpMussel si blocca un file a causa di firme male, obsoleti o errati, ma non avrebbe dovuto fare così, o quando lo fa per le ragioni sbagliate, ci riferiamo a questo evento come un "falso positivo". Quando phpMussel non riesce a bloccare un file che avrebbe dovuto essere bloccato, a causa delle minacce impreviste, firme mancante o carenze nelle sue firme, ci riferiamo a questo evento come una "rivelazione mancante" o "missed detection" (che è analoga ad un "falso negativo"). - -Questo può essere riassunta dalla seguente tabella: - -  | phpMussel *NON* dovrebbe bloccare un file | phpMussel *DOVREBBE* bloccare un file ----|---|--- -phpMussel *NON* bloccare un file | Vero negativo (inferenza corretta) | Rivelazione mancante (analogous to falso negativo) -phpMussel *FA* bloccare un file | __Falso positivo__ | Vero positivo (inferenza corretta) - -#### Con quale frequenza vengono aggiornate le firme? - -Frequenza di aggiornamento varia a seconda delle file di firma in questione. Tutti i manutentori per i file di firma per phpMussel in genere cercano di mantenere i loro firme aggiornato il più possibile, ma a causa di tutti noi abbiamo diversi altri impegni, la nostra vita al di fuori del progetto, e a causa di nessuno di noi sono finanziariamente compensato (o pagato) per i nostri sforzi sul progetto, un calendario di aggiornamento preciso non può essere garantita. In genere, le firme vengono aggiornati ogni volta che c'è abbastanza tempo per aggiornarli. L'assistenza è sempre apprezzato se siete disposti a offrire qualsiasi. - -#### Ho incontrato un problema durante l'utilizzo phpMussel e non so che cosa fare al riguardo! Aiutami! - -- Si sta utilizzando la versione più recente del software? Si sta utilizzando le ultime versioni dei file di firma? Se la risposta a una di queste due domande è no, provare ad aggiornare tutto prima, e verificare se il problema persiste. Se persiste, continuare a leggere. -- Hai controllato attraverso tutta la documentazione? In caso non fatto, si prega di farlo. Se il problema non può essere risolto utilizzando la documentazione, continuare a leggere. -- Hai controllato la **[pagina dei issues](https://github.com/phpMussel/phpMussel/issues)**, per vedere se il problema è stato accennato prima? Se è stato accennato prima, verificare se sono stati forniti qualsiasi suggerimenti, idee, e/o soluzioni, e seguire come necessario per cercare di risolvere il problema. -- Se il problema persiste, si prega di cercare aiuto su di esso per mezzo di creando un nuovo issue nella pagina dei issues. - -#### Voglio usare phpMussel (prima della v2) con una versione di PHP più vecchio di 5.4.0; Puoi aiutami? - -No. PHP >= 5.4.0 è un requisito minimo per phpMussel < v2. - -#### Voglio usare phpMussel (v2) con una versione di PHP più vecchio di 7.2.0; Puoi aiutami? - -No. PHP >= 7.2.0 è un requisito minimo per phpMussel v2. - -*Guarda anche: [Grafici di Compatibilità](https://maikuolan.github.io/Compatibility-Charts/).* - -#### Posso utilizzare un'installazione singola di phpMussel per proteggere più domini? - -Sì. Le installazioni di phpMussel non sono naturalmente legato a domini specifici, e quindi possono essere utilizzati per proteggere più domini. Generalmente, ci riferiamo alle installazioni di phpMussel che proteggono un solo dominio come "installazioni per singolo dominio", e ci riferiamo a installazioni di phpMussel che proteggono più domini e/o sottodomini come "installazioni per più domini". Se si esegue un'installazione per più domini e bisogno utilizzare diversi set di file di firma per diversi domini, o bisogno che phpMussel essere configurato in modo diverso per diversi domini, è possibile farlo. Dopo aver caricato il file di configurazione (`config.ini`), phpMussel verifica l'esistenza di un "file di sovrascrittura per la configurazione" specifico del dominio (o sottodominio) che viene richiesto (`il-dominio-che-viene-richiesto.tld.config.ini`), e se trovati, tutti i valori di configurazione definiti dal file di sovrascrittura per la configurazione verranno utilizzati per l'istanza di esecuzione invece dei valori di configurazione definiti dal file di configurazione. I file di sovrascrittura per la configurazione sono identiche al file di configurazione, e a vostra discrezione, può contenere l'insieme di tutte le direttive di configurazione disponibili a phpMussel, o qualsiasi piccola sottosezione richiesta che differisca dai valori normalmente definiti dal file di configurazione. I file di sovrascrittura per la configurazione sono chiamati in base al dominio a cui sono destinati (così, per esempio, se hai bisogno di un file di sovrascrittura per la configurazione per il dominio, `https://www.some-domain.tld/`, la sua file di sovrascrittura per la configurazione deve essere denominato come `some-domain.tld.config.ini`, e deve essere collocato all'interno della vault insieme al file di configurazione, `config.ini`). Il nome di dominio per l'istanza di esecuzione è derivato dall'intestazione `HTTP_HOST` della richiesta; "www" viene ignorato. - -#### Non voglio perdere tempo con l'installazione di questo e farlo funzionare con il mio sito web; Posso pagarti per farlo per me? - -Forse. Ciò è considerato caso per caso. Dicci cosa hai bisogno, quello che stai offrendo, e ti dirà se possiamo aiutare. - -#### Posso assumere voi o uno degli sviluppatori di questo progetto per lavori privati? - -*Vedi sopra.* - -#### Ho bisogno di modifiche specialistiche, personalizzazioni, ecc; Puoi aiutare? - -*Vedi sopra.* - -#### Sono uno sviluppatore, un designer di siti web o un programmatore. Posso accettare o offrire lavori relativi a questo progetto? - -Sì. La nostra licenza non vieta questo. - -#### Voglio contribuire al progetto; Posso farlo? - -Sì. I contributi al progetto sono molto graditi. Per ulteriori informazioni, vedere "CONTRIBUTING.md". - -#### Come accedere a dettagli specifici sui file quando vengono scansionati? - -È possibile accedere a dettagli specifici sui file quando vengono scansionati da assegnando un'array da utilizzare a tale scopo prima di istruire phpMussel per eseguire la scansione. - -Nell'esempio qui sotto, a questo scopo viene utilizzato `$Foo`. Dopo la scansione di `/percorso/del/file/...`, le informazioni dettagliate sui file contenute da `/percorso/del/file/...` verranno contenute da `$Foo`. - -```PHP -Posso utilizzare il cron per aggiornare automaticamente? - -Sì. Una API è incorporata nel front-end per interagire con la pagina degli aggiornamenti tramite script esterni. È disponibile uno script separato, "[Cronable](https://github.com/Maikuolan/Cronable)", e può essere utilizzato dal tuo cron manager o cron scheduler per aggiornare automaticamente questo e altri pacchetti supportati (questo script fornisce la propria documentazione). - -#### phpMussel può eseguire la scansione di file con nomi non ANSI? - -Diciamo che c'è una cartella che vuoi scansionare. In questa cartella, hai alcuni file con nomi non ANSI. -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -Supponiamo che tu stia utilizzando la modalità CLI o l'API phpMussel per la scansione. - -Quando si utilizza PHP < 7.1.0, su alcuni sistemi, phpMussel non vedrà questi file quando si tenta di eseguire la scansione della cartella e, quindi, non sarà in grado di eseguire la scansione di questi file. Probabilmente vedrai gli stessi risultati come se dovessi eseguire la scansione di una cartella vuota: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Iniziato. - Sun, 01 Apr 2018 22:27:41 +0800 Finito. -``` - -Inoltre, quando si utilizza PHP < 7.1.0, la scansione dei file individualmente produce risultati come questi: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Iniziato. - > Verifica 'X:/directory/Пример.txt' (FN: b831eb8f): - -> File non valido! - Sun, 01 Apr 2018 22:27:41 +0800 Finito. -``` - -O questi: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Iniziato. - > X:/directory/??????.txt non è né un file né una cartella. - Sun, 01 Apr 2018 22:27:41 +0800 Finito. -``` - -Questo è dovuto al modo in cui PHP gestiva i nomi di file non ANSI prima di PHP 7.1.0. Se riscontri questo problema, la soluzione è aggiornare la tua installazione PHP a 7.1.0 o più recente. In PHP >= 7.1.0, i nomi dei file non ANSI vengono gestiti meglio e phpMussel dovrebbe essere in grado di eseguire correttamente la scansione dei file. - -Per confronto, i risultati quando si tenta di eseguire la scansione della cartella utilizzando PHP >= 7.1.0: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Iniziato. - -> Verifica '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> Nessun problema rilevato. - -> Verifica '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> Nessun problema rilevato. - -> Verifica '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> Nessun problema rilevato. - Sun, 01 Apr 2018 22:27:41 +0800 Finito. -``` - -E tentando di scansionare i file individualmente: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Iniziato. - > Verifica 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> Nessun problema rilevato. - Sun, 01 Apr 2018 22:27:41 +0800 Finito. -``` - -#### Blacklists (liste nere) – Whitelists (liste bianche) – Greylists (liste grigie) – Cosa sono e come li uso? - -I termini hanno significati diversi in diversi contesti. In phpMussel, ci sono tre contesti in cui vengono utilizzati questi termini: Risposta alla dimensione del file, risposta al tipo di file e, greylist delle firme. - -Al fine di ottenere un risultato desiderato con un costo minimo per l'elaborazione, ci sono alcune cose semplici che phpMussel può controllare prima di eseguire effettivamente la scansione dei file, come la dimensione, il nome e l'estensione di un file. Per esempio; Se un file è troppo grande, o se la sua estensione indica un tipo di file che non vogliamo autorizzare sui nostri siti web, possiamo immediatamente contrassegnare il file e non è necessario eseguirne la scansione. - -La risposta alle dimensioni del file è il modo in cui phpMussel risponde quando un file supera un limite specificato. Sebbene non siano presenti elenchi effettivi, un file può essere considerato efficacemente nella blacklist, nella whitelist, o nella greylist, in base alle sue dimensioni. Esistono due direttive di configurazione opzionali per specificare rispettivamente un limite e una risposta desiderata. - -La risposta del tipo di file è il modo in cui phpMussel risponde all'estensione del file. Esistono tre direttive di configurazione opzionali per specificare esplicitamente quali estensioni dovrebbero essere inserite nella blacklist, nella whitelist, o nella greylist. Un file può essere considerato effettivamente nella blacklist, nella whitelist, o nella greylist se la sua estensione corrisponde rispettivamente a una delle estensioni specificate. - -In questi due contesti, essere nella whitelist significa che non dovrebbe essere scansionato o contrassegnato; essere nella blacklist significa che dovrebbe essere contrassegnato (e quindi non è necessario scansionarlo); ed essere nella greylist significa che è necessaria un'ulteriore analisi per determinare se dovremmo contrassegnarlo (cioè, dovrebbe essere scansionato). - -La greylist delle firme è una lista di firme che dovrebbe essere essenzialmente ignorata (questo è brevemente menzionato prima nella documentazione). Quando viene innescata una firma nella greylist delle firme, phpMussel continua a lavorare attraverso le sue firme e non intraprende alcuna azione particolare riguardo alla firma nella greylist. Non esiste una blacklist delle firme, perché il comportamento implicito è comunque un comportamento normale per le firme innescate, e non esiste una whitelist delle firme, perché il comportamento implicito non avrebbe davvero senso in considerazione di come funziona phpMussel normal e delle funzionalità che già possiede. - -La greylist delle firme è utile se è necessario risolvere i problemi causati da una particolare firma senza disabilitare o disinstallare l'intero file di firme. - -#### Quando si attivano o disattivano file di firma tramite la pagina degli aggiornamenti, li ordina in ordine alfanumerico nella configurazione. Posso cambiare il modo in cui vengono ordinati? - -Sì. Se è necessario forzare alcuni file per l'esecuzione in un ordinamento specifico, è possibile aggiungere alcuni dati arbitrari prima dei loro nomi nella direttiva di configurazione in cui sono elencati, separati da due punti. Quando la pagina degli aggiornamenti ordina di nuovo i file, questi dati arbitrari aggiunti influenzeranno l'ordinamento, causandoli di conseguenza nell'ordinamento che si desidera, senza dover rinominare nessuno di essi. - -Ad esempio, assumendo una direttiva di configurazione con file elencati come segue: - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -Se si desidera che `file3.php` esegua prima, potresti aggiungere qualcosa come `aaa:` prima del nome del file: - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -Quindi, se un nuovo file, `file6.php`, viene attivato, quando la pagina degli aggiornamenti li ordina di nuovo tutti, dovrebbe finire in questo modo: - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -Stessa situazione quando un file è disattivato. Al contrario, se si desidera che il file venga eseguito per ultimo, è possibile aggiungere qualcosa come `zzz:` prima del nome del file. In ogni caso, non sarà necessario rinominare il file in questione. - -#### Che cos'è un "DSN PDO"? Come posso usare PDO con phpMussel? - -"PDO" è l'acronimo di "[PHP Data Objects](https://www.php.net/manual/en/intro.pdo.php)" (oggetti dati PHP). Fornisce un'interfaccia affinché PHP sia in grado di connettersi ad alcuni sistemi di database comunemente utilizzati da varie applicazioni PHP. - -"DSN" è l'acronimo di "[data source name](https://it.wikipedia.org/wiki/Database_Source_Name)" (nome dell'origine dati). Il "PDO DSN" descrive al PDO come dovrebbe connettersi a un database. - -phpMussel offre la possibilità di utilizzare PDO per scopi di memorizzazione nella cache. Affinché ciò funzioni correttamente, dovrai configurare phpMussel di conseguenza, abilitando PDO, creare un nuovo database da utilizzare per phpMussel (se non hai già in mente un database da utilizzare per phpMussel) e creare un nuovo tabella nel database in base alla struttura descritta di seguito. - -Quando una connessione al database ha esito positivo, ma la tabella necessaria non esiste, tenterà di crearla automaticamente. Tuttavia, questo comportamento non è stato ampiamente testato e il successo non può essere garantito. - -Questo, ovviamente, si applica solo se si desidera che phpMussel utilizzi PDO. Se sei abbastanza felice per phpMussel di utilizzare la memorizzazione nella cache dei file flat (in base alla sua configurazione predefinita) o una qualsiasi delle altre opzioni di memorizzazione nella cache fornite, non dovrai preoccuparti di creare database, tabelle e così via. - -La struttura descritta di seguito utilizza "phpmussel" come nome del database, ma è possibile utilizzare qualunque nome tu voglia per il database, purché lo stesso nome venga replicato nella configurazione DSN. - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -La direttiva di configurazione `pdo_dsn` di phpMussel dovrebbe essere configurata come descritto di seguito. - -``` -A seconda del driver del database utilizzato... -├─4d (Avvertimento: Sperimentale, non testato, non raccomandato!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └L'host con cui connettersi per trovare il database. -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └Il nome del database da -│ │ │ utilizzare. -│ │ │ -│ │ └Il numero di porta con cui connettersi -│ │ all'host. -│ │ -│ └L'host con cui connettersi per trovare il database. -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └Il nome del database da utilizzare. -│ │ │ -│ │ └L'host con cui connettersi per trovare il database. -│ │ -│ └Valori possibili: "mssql", "sybase", "dblib". -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├Può essere un percorso per un file di database locale. -│ │ -│ ├Può connettersi con un host e un numero di porta. -│ │ -│ └Dovresti leggi la documentazione di Firebird se si -│ desidera utilizzare questo. -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └Il database catalogato con cui connettersi. -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └Il database catalogato con cui connettersi. -├─mysql (Più raccomandato!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └Il numero di porta con cui -│ │ │ connettersi all'host. -│ │ │ -│ │ └L'host con cui connettersi per trovare il -│ │ database. -│ │ -│ └Il nome del database da utilizzare. -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├Può fare riferimento al database catalogato specifico. -│ │ -│ ├Può connettersi con un host e un numero di porta. -│ │ -│ └Dovresti leggi la documentazione di Oracle se si desidera -│ utilizzare questo. -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├Può fare riferimento al database catalogato specifico. -│ │ -│ ├Può connettersi con un host e un numero di porta. -│ │ -│ └Dovresti leggi la documentazione di ODBC/DB2 se si desidera -│ utilizzare questo. -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └Il nome del database da utilizzare. -│ │ │ -│ │ └Il numero di porta con cui connettersi -│ │ all'host. -│ │ -│ └L'host con cui connettersi per trovare il database. -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └Il percorso del file di database locale da utilizzare. -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └Il nome del database da utilizzare. - │ │ - │ └Il numero di porta con cui connettersi all'host. - │ - └L'host con cui connettersi per trovare il database. -``` - -Se non sei sicuro di cosa utilizzare per una parte particolare del tuo DSN, prova innanzitutto a vedere se funziona così com'è, senza cambiare nulla. - -Nota che `pdo_username` e `pdo_password` dovrebbero essere gli stessi del nome utente e della password che hai scelto per il tuo database. - -#### Mia funzionalità di caricamento è asincrona (ad esempio, utilizza ajax, ajaj, json, ecc). Non vedo alcun messaggio o avviso speciale quando un caricamento è bloccato. Cosa sta succedendo? - -Questa è normale. La pagina standard "Caricamento Negato" di phpMussel è servita come HTML, che dovrebbe essere sufficiente per le richieste sincrone tipiche, ma che probabilmente non sarà sufficiente se la tua funzionalità di caricamento si aspetta qualcos'altro. Se la tua funzionalità di caricamento è asincrona o si aspetta che uno stato di caricamento venga offerto in modo asincrono, ci sono alcune cose che potresti provare a fare affinché phpMussel soddisfi le esigenze della tua funzionalità di caricamento. - -1. Creazione di un modello di output personalizzato per servire qualcosa di diverso dall'HTML. -2. Creazione di un plug-in personalizzato per ignorare completamente la pagina standard "Caricamento Negato" e chiedi al gestore del caricamento di fare qualcos'altro quando un caricamento è bloccato (ci sono alcuni hook di plugin forniti dal gestore di caricamento che potrebbero essere utili per questo). -3. Disabilitare completamente il gestore di caricamento e invece chiamare semplicemente l'API phpMussel dalla funzionalità di caricamento. - -#### phpMussel può rilevare EICAR? - -Sì. Una firma per rilevare EICAR è inclusa nel "file di firma delle espressioni regolari standard phpMussel" (`phpmussel_regex.db`). Finché il file di firma è installato e attivato, phpMussel dovrebbe essere in grado di rilevare EICAR. Poiché il database ClamAV include anche numerose firme specifiche per il rilevamento di EICAR, ClamAV può facilmente rilevare EICAR, ma poiché phpMussel utilizza solo un sottoinsieme ridotto delle firme totali fornite da ClamAV, potrebbero non essere da sole sufficienti a phpMussel per rilevare EICAR. La capacità di rilevarlo può anche dipendere dalla tua configurazione esatta. - ---- - - -### 11. INFORMAZIONE LEGALE - -#### 11.0 SEZIONE PREAMBOLO - -Questa sezione della documentazione ha lo scopo di descrivere possibili considerazioni legali riguardanti l'uso e l'implementazione del pacchetto, e fornire alcune informazioni di base relative. Questo può essere importante per alcuni utenti come mezzo per garantire la conformità con eventuali requisiti legali che possono esistere nei paesi in cui operano, e alcuni utenti potrebbero aver bisogno di modificare le loro politiche del sito web in conformità con queste informazioni. - -Innanzitutto per favore, renditi conto che io (l'autore del pacchetto) non sono un avvocato, né un professionista legale qualificato di alcun tipo. Pertanto, non sono legalmente qualificato per fornire consulenza legale. Inoltre, in alcuni casi, i requisiti legali esatti possono variare a seconda dei paesi e delle giurisdizioni, e questi varie requisiti legali possono a volte entrare in conflitto (come, per esempio, nel caso di paesi che favoriscono i [diritti alla privacy](https://it.wikipedia.org/wiki/Privacy) e il [diritto all'oblio](https://it.wikipedia.org/wiki/Diritto_all%27oblio), contro paesi che favoriscono la [conservazione estesa dei dati](https://it.wikipedia.org/wiki/Direttiva_sulla_conservazione_dei_dati)). Considera inoltre che l'accesso al pacchetto non è limitato a specifici paesi o giurisdizioni, e quindi, la base utente del pacchetto è probabilmente geograficamente diversa. Considerando questi punti, non sono in grado di affermare cosa significa essere "legalmente conformi" per tutti gli utenti, in ogni aspetto. Tuttavia, spero che le informazioni qui contenute ti aiutino a prendere una decisione autonomamente riguardo a ciò che devi fare per rimanere legalmente conforme nel contesto del pacchetto. In caso di dubbi o preoccupazioni in merito alle informazioni qui contenute, o se hai bisogno di aiuto e consigli aggiuntivi da un punto di vista legale, consiglierei di consultare un professionista legale qualificato. - -#### 11.1 RESPONSABILITÀ - -Come già indicato dalla licenza del pacchetto, il pacchetto è fornito senza alcuna garanzia. Questo include (ma non è limitato a) tutti gli ambiti di responsabilità. Il pacchetto ti è stato fornito per vostra comodità, nella speranza che sia utile e che ti fornisca alcuni vantaggi. Tuttavia, se si utilizza o si implementa il pacchetto, è una scelta personale. Non sei obbligato a utilizzare o implementare il pacchetto, ma quando lo fai, sei responsabile di tale decisione. Né io né alcun altro contributore al pacchetto siamo legalmente responsabili delle conseguenze delle decisioni che prendete, indipendentemente dal fatto che siano dirette, indirette, implicite, o meno. - -#### 11.2 TERZE PARTI - -A seconda della sua esatta configurazione e implementazione, in alcuni casi il pacchetto può comunicare e condividere informazioni con terze parti. Questa informazione può essere definita come "[dati personali](https://it.wikipedia.org/wiki/Dati_personali)" (PII) in alcuni contesti, da alcune giurisdizioni. - -Il modo in cui queste informazioni possono essere utilizzate da queste terze parti, è soggetto alle varie politiche stabilite da queste terze parti e non rientra nell'ambito di questa documentazione. Tuttavia, in tutti questi casi, la condivisione di informazioni con queste terze parti può essere disabilitata. In tutti questi casi, se si sceglie di abilitarlo, è vostra responsabilità ricercare eventuali eventuali dubbi relativi alla privacy, alla sicurezza e all'utilizzo delle PII da parte di queste terze parti. In caso di dubbi, o se non sei soddisfatto della condotta di queste terze parti in merito alle PII, è meglio disabilitare tutte le informazioni condivise con queste terze parti. - -Ai fini della trasparenza, il tipo di informazioni condivise e con chi è descritto di seguito. - -##### 11.2.0 WEBFONTS - -Alcuni temi personalizzati, nonché l'interfaccia utente standard ("UI") per il front-end phpMussel, e la pagina "Caricamento Negato", possono utilizzare i webfonts per motivi estetici. I webfonts sono disabilitati per impostazione predefinita, ma quando abilitati, avviene una comunicazione diretta tra il browser dell'utente e il servizio che ospita i webfonts. Ciò potrebbe implicare la comunicazione di informazioni quali l'indirizzo IP dell'utente, l'agente utente, il sistema operativo, e altri dettagli disponibili per la richiesta. La maggior parte di questi webfonts è ospitata dal servizio [Google Fonts](https://fonts.google.com/). - -*Direttive di configurazione rilevanti:* -- `general` -> `disable_webfonts` - -##### 11.2.1 URL SCANNER - -Gli URL trovati nei caricamenti dei file possono essere condivisi con l'API Navigazione Sicura di Google, a seconda di come è configurato il pacchetto. L'API Navigazione sicura di Google richiede le chiavi API per funzionare correttamente, ed è quindi disabilitata per impostazione predefinita. - -*Direttive di configurazione rilevanti:* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -Quando phpMussel esegue la scansione di un caricamento di file, gli hash di tali file possono essere condivisi con l'API Virus Total, a seconda di come è configurato il pacchetto. Ci sono piani per poter condividere interi file ad un certo punto anche in futuro, ma questa funzionalità non è supportata dal pacchetto in questo momento. L'API Virus Total richiede una chiave API per funzionare correttamente, ed è quindi disabilitata per impostazione predefinita. - -Le informazioni (inclusi i file e i relativi metadati di file) condivisi con Virus Total, possono anche essere condivise con i loro partner, affiliati, e vari altri a fini di ricerca. Questo è descritto in modo più dettagliato dalla loro politica sulla privacy. - -*Vedere: [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*Direttive di configurazione rilevanti:* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 REGISTRAZIONE - -La registrazione è una parte importante di phpMussel per una serie di motivi. Potrebbe essere difficile diagnosticare e risolvere i falsi positivi quando gli eventi di blocco che li causano non vengono registrati. Senza registrare gli eventi di blocco, potrebbe essere difficile accertare esattamente quanto è performante phpMussel in un particolare contesto, e potrebbe essere difficile determinare dove potrebbero essere le sue carenze, e quali modifiche potrebbero essere richieste alla sua configurazione o alle sue firme di conseguenza, affinché possa continuare a funzionare come previsto. Ciò nonostante, la registrazione potrebbe non essere auspicabile per tutti gli utenti, e rimane del tutto facoltativa. In phpMussel, la registrazione è disabilitata per impostazione predefinita. Per abilitarlo, phpMussel deve essere configurato di conseguenza. - -Inoltre, se la registrazione è legalmente ammissibile, e nella misura in cui è legalmente ammissibile (ad esempio, i tipi di informazioni che possono essere registrati, per quanto tempo, e in quali circostanze), può variare, a seconda della giurisdizione e del contesto in cui è implementata la phpMussel (ad esempio, se stai operando come individuo, come entità aziendale, e se commerciale o non commerciale). Potrebbe quindi essere utile leggere attentamente questa sezione. - -Esistono diversi tipi di registrazione che phpMussel può eseguire. Diversi tipi di registrazione coinvolgono diversi tipi di informazioni, per diversi motivi. - -##### 11.3.0 REGISTRI DI SCANSIONE - -Quando abilitato nella configurazione del pacchetto, phpMussel conserva i registri dei file che sottopone a scansione. Questi tipi di log sono disponibili in due formati diversi: -- File di log leggibili dall'uomo. -- File di log serializzati. - -Le voci di un file di log leggibile in genere assomiglia a qualcosa come questo (ad esempio): - -``` -Mon, 21 May 2018 00:47:58 +0800 Iniziato. -> Verifica 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> Rilevato phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 Finito. -``` - -Una voce del registro di scansione include in genere le seguenti informazioni: -- La data e l'ora in cui il file è stato scansionato. -- Il nome del file scansionato. -- Hash CRC32b del nome e del contenuto del file. -- Cosa è stato rilevato nel file (se è stato rilevato qualcosa). - -*Direttive di configurazione rilevanti:* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -Quando queste direttive vengono lasciate vuote, questo tipo di registrazione rimarrà disabilitato. - -##### 11.3.1 SCAN UCCISIONI - -Quando abilitato nella configurazione del pacchetto, phpMussel mantiene i registri dei caricamenti che sono stati bloccati. - -Le voci di un file di registro di "scan uccisioni" in genere assomiglia a qualcosa come questo (ad esempio): - -``` -Data: Mon, 21 May 2018 00:47:56 +0800 -Indirizzo IP: 127.0.0.1 -== Risultati della scansione (perché contrassegnati) == -Rilevato phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)! -== Ricostruzione delle firme hash == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -In quarantena come "/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu". -``` - -Una voce di "scan uccisioni" include in genere le seguenti informazioni: -- La data e l'ora in cui il caricamento è stato bloccato. -- L'indirizzo IP da cui ha avuto origine il caricamento. -- Il motivo per cui il file è stato bloccato (ciò che è stato rilevato). -- Il nome del file bloccato. -- Un MD5 e la dimensione del file bloccato. -- Se il file è stato messo in quarantena, e con quale nome interno. - -*Direttive di configurazione rilevanti:* -- `general` -> `scan_kills` - -##### 11.3.2 REGISTRI DEL FRONT-END - -Questo tipo di registrazione si riferisce ai tenta di accedere al front-end, e si verifica solo quando un utente tenta di accedere al front-end (supponendo che l'accesso front-end sia abilitato). - -Una voce di registro front-end contiene l'indirizzo IP dell'utente che tenta di accedere, la data e l'ora in cui si è verificato il tentativo, e i risultati del tentativo (se il tentativo è fallito o è riuscito). Una voce di registro front-end in genere assomiglia a qualcosa come questo (ad esempio): - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - Connesso. -``` - -*Direttive di configurazione rilevanti:* -- `general` -> `frontend_log` - -##### 11.3.3 ROTAZIONE DEL REGISTRO - -Forse vuoi eliminare i log dopo un certo periodo di tempo, o forse sei obbligato a farlo per legge (cioè, la quantità di tempo per cui è legalmente ammissibile per te conservare i log può essere limitata dalla legge). È possibile ottenere ciò includendo indicatori di data/ora nei nomi dei file di log come specificato dalla configurazione del pacchetto (per esempio, `{yyyy}-{mm}-{dd}.log`), e quindi abilitando la rotazione del registro (la rotazione del registro permette di eseguire alcune azioni sui file di log quando vengono superati i limiti specificati). - -Per esempio: Se dovessi legalmente richiesto di eliminare i log dopo 30 giorni, potrei specificare `{dd}.log` nei nomi dei miei file di log (`{dd}` rappresenta i giorni), impostare il valore di `log_rotation_limit` su 30, e impostare il valore di `log_rotation_action` su `Delete`. - -Al contrario, se è necessario conservare i log per un lungo periodo di tempo, potresti scegliere di non utilizzare la rotazione del registro affatto, oppure puoi impostare il valore di `log_rotation_action` su `Archive`, per comprimere i file di log, riducendo in tal modo la quantità totale di spazio su disco che occupano. - -*Direttive di configurazione rilevanti:* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 TRONCAMENTO DEL REGISTRO - -È anche possibile troncare i singoli file di registro quando superano una dimensione predeterminata, se questo è qualcosa che potrebbe essere necessario o desiderare. - -*Direttive di configurazione rilevanti:* -- `general` -> `truncate` - -##### 11.3.5 PSEUDONIMIZZAZIONE DELL'INDIRIZZO IP - -Innanzitutto, se non hai familiarità con il termine, "pseudonimizzazione" si riferisce al trattamento di dati personali in quanto tali che non può più essere identificato con alcun interessato specifico senza informazioni supplementari, e a condizione che tali informazioni supplementari siano mantenute separatamente e soggette a misure tecniche e organizzative per garantire che i dati personali non possano essere identificati da alcuna persona naturale. - -In alcune circostanze, potrebbe essere richiesto per legge di anonimizzare o pseudonimizzare qualsiasi informazione personale raccolta, elaborata, o memorizzata. Sebbene questo concetto sia esistito già da un po' di tempo, GDPR/DSGVO menziona in particolare, e in particolare incoraggia la "pseudonimizzazione". - -phpMussel è in grado di pseudonimizzare gli indirizzi IP durante la registrazione, se questo è qualcosa che potresti aver bisogno o vuoi fare. Quando gli indirizzi IP sono pseudonimizzati da phpMussel, quando registrati, l'ottetto finale degli indirizzi IPv4 e tutto ciò che segue la seconda parte degli indirizzi IPv6 è rappresentato da una "x" (arrotondare efficacemente gli indirizzi IPv4 all'indirizzo iniziale della 24a sottorete in cui fanno fattore e gli indirizzi IPv6 all'indirizzo iniziale della 32a sottorete a cui fanno fattore). - -*Direttive di configurazione rilevanti:* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 STATISTICA - -phpMussel è facoltativamente in grado di tracciare statistiche come il numero totale di file scansionati e bloccati da un certo punto nel tempo. Questa funzione è disabilitata per impostazione predefinita, ma può essere abilitata tramite la configurazione del pacchetto. Il tipo di informazioni rintracciate non deve essere considerato come PII. - -*Direttive di configurazione rilevanti:* -- `general` -> `statistics` - -##### 11.3.7 CRITTOGRAFIA - -phpMussel non crittografa la sua cache o alcuna informazione di registro. La [crittografia](https://it.wikipedia.org/wiki/Crittografia) della cache e del registro potrebbe essere introdotta in futuro, ma al momento non sono previsti piani specifici. Se sei preoccupato per le terze parti non autorizzate che accedono a parti di phpMussel che potrebbero contenere informazioni personali o riservate quali la cache o i registri, ti consiglio di non installare phpMussel in una posizione accessibile al pubblico (per esempio, installare phpMussel al di fuori della cartella `public_html` standard o equivalente di quella disponibile per la maggior parte dei server Web standard) e che le autorizzazioni appropriatamente restrittive siano applicate per la cartella in cui risiede (in particolare, per la cartella del vault). Se ciò non è sufficiente per risolvere i tuoi dubbi, allora configura phpMussel in modo tale che i tipi di informazioni che causano i tuoi dubbi non saranno raccolti o registrati in primo luogo (ad esempio, di disabilitando la registrazione). - -#### 11.4 COOKIE - -Quando un utente accede con successo al front-end, phpMussel imposta un [cookie](https://it.wikipedia.org/wiki/Cookie) per poter ricordare all'utente le richieste successive (cioè, i cookie vengono utilizzati per autenticare l'utente in una sessione di accesso). Nella pagina di accesso, un avviso sui cookie viene visualizzato in modo prominente, avvisando l'utente che verrà impostato un cookie se si impegnano nell'azione in questione. I cookie non sono impostati in altri punti della base di codice. - -*Direttive di configurazione rilevanti:* -- `general` -> `disable_frontend` - -#### 11.5 MARKETING E PUBBLICITÀ - -phpMussel non raccoglie né elabora alcuna informazione per scopi di marketing o pubblicitari, e non vende né guadagna da alcuna informazione raccolta o registrata. phpMussel non è un'impresa commerciale, né è collegata ad alcun interesse commerciale, quindi fare queste cose non avrebbe alcun senso. Questo è stato il caso dall'inizio del progetto e continua ad esserlo oggi. Inoltre, fare queste cose sarebbe controproducente per lo spirito e lo scopo del progetto nel suo insieme e, finché continuerò a mantenere il progetto, non accadrà mai. - -#### 11.6 POLITICA SULLA PRIVACY - -In alcune circostanze, potresti essere legalmente obbligato a mostrare chiaramente un link alla tua politica sulla privacy su tutte le pagine e sezioni del tuo sito web. Questo può essere importante come mezzo per garantire che gli utenti siano ben informati delle tue esatte pratiche sulla privacy, i tipi di Informazioni personali che raccogli, e come intendi usarli. Per poter includere tale link nella pagina "Caricamento Negato" di phpMussel, viene fornita una direttiva di configurazione per specificare l'URL della tua politica sulla privacy. - -*Direttive di configurazione rilevanti:* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -Il regolamento generale sulla protezione dei dati (GDPR) è un regolamento dell'Unione europea, che entrerà in vigore il 25 maggio 2018. L'obiettivo principale del regolamento è di dare il controllo dei cittadini e dei residenti dell'UE sui propri dati personali, e di unificare il regolamento all'interno dell'UE in materia di privacy e dati personali. - -Il regolamento contiene disposizioni specifiche relative al trattamento di "[dati personali](https://it.wikipedia.org/wiki/Dati_personali)" (PII) di qualsiasi "interessato" (qualsiasi persona naturale identificata o identificabile) dall'UE o all'interno dell'UE. Per essere conformi al regolamento, le "imprese" (come definite dal regolamento), e tutti i sistemi e processi rilevanti devono implementare "[privacy by design](https://it.wikipedia.org/wiki/Privacy_by_design)" per impostazione predefinita, deve utilizzare le impostazioni di privacy più alte possibili, deve implementare le necessarie salvaguardie per qualsiasi informazione archiviata o elaborata (inclusa, ma non limitata a, l'implementazione della pseudonimizzazione o la completa anonimizzazione dei dati), deve dichiarare in modo chiaro e inequivocabile i tipi di dati che raccolgono, come li elaborano, per quali ragioni, per quanto tempo lo conservano, e se condividono questi dati con terze parti, i tipi di dati condivisi con terze parti, come, perché, e così via. - -I dati non possono essere elaborati a meno che non vi sia una base legale per farlo, come definito dal regolamento. In generale, ciò significa che, al fine di elaborare i dati di un interessati su base legale, deve essere fatto in conformità con gli obblighi legali, o fatto solo dopo il consenso esplicito, ben informato, e non ambiguo è stato ottenuto dall'interessato. - -Poiché gli aspetti del regolamento possono evolversi nel tempo, al fine di evitare la propagazione di informazioni obsolete, potrebbe essere meglio conoscere il regolamento da una fonte autorevole, al contrario di includere semplicemente le informazioni rilevanti qui nella documentazione del pacchetto (che potrebbe diventare obsoleto con l'evoluzione del regolamento). - -[EUR-Lex](https://eur-lex.europa.eu/) (una parte del sito web ufficiale dell'Unione europea che fornisce informazioni sul diritto dell'UE) fornisce ampie informazioni su GDPR/DSGVO, disponibile in 24 lingue diverse (al momento della stesura di questo documento), e disponibile per il download in formato PDF. Consiglio vivamente di leggere le informazioni che forniscono, per saperne di più su GDPR/DSGVO: -- [REGOLAMENTO (UE) 2016/679 DEL PARLAMENTO EUROPEO E DEL CONSIGLIO](https://eur-lex.europa.eu/legal-content/IT/TXT/?uri=celex:32016R0679) - -In alternativa, è disponibile una breve panoramica (non autorevole) di GDPR/DSGVO su Wikipedia: -- [Regolamento generale sulla protezione dei dati](https://it.wikipedia.org/wiki/Regolamento_generale_sulla_protezione_dei_dati) - ---- - - -Ultimo Aggiornamento: 12 Maggio 2022 (2022.05.12). diff --git a/v2-and-earlier/readme.ja.md b/v2-and-earlier/readme.ja.md deleted file mode 100644 index e8a0031..0000000 --- a/v2-and-earlier/readme.ja.md +++ /dev/null @@ -1,1712 +0,0 @@ -## phpMussel v2のドキュメンテーション(日本語)。 - -### 目次 -- 1.[序文](#SECTION1) -- 2.[インストール方法](#SECTION2) -- 3.[使用方法](#SECTION3) -- 4.[フロントエンドの管理](#SECTION4) -- 5.[CLI(コマンドライン・インターフェイス)](#SECTION5) -- 6.[本パッケージに含まれるファイル](#SECTION6) -- 7.[コンフィギュレーション(設定オプション)](#SECTION7) -- 8.[シグネチャ(署名)フォーマット](#SECTION8) -- 9.[適合性問題](#SECTION9) -- 10.[よくある質問(FAQ)](#SECTION10) -- 11.[法律情報](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1.序文 - -phpMussel(ピー・エイチ・ピー・マッスル)をご利用頂き、​ありがとうございます。​phpMusselは、​ClamAV をはじめとしたシグネチャを利用して、​システムにアップロードされるファイルを対象して、​トロイ型のウィルスやマルウェア等を検出するようデザインされたPHPスクリプトです。 - -[PHPMUSSEL](https://phpmussel.github.io/)著作権2013とGNU一般公衆ライセンスv2を超える権利について:​[Caleb M (Maikuolan)](https://github.com/Maikuolan)著。 - -本スクリプトはフリーウェアです。​フリーソフトウェア財団発行のGNU一般公衆ライセンス・バージョン2(またはそれ以降のバージョン)に従い、​再配布ならびに加工が可能です。​配布の目的は、​役に立つことを願ってのものですが、​『保証はなく、​また商品性や特定の目的に適合するのを示唆するものでもありません』。​『LICENSE.txt』にある『GNU General Public License』(一般ライセンス)を参照して下さい。​以下のURLからも閲覧できます: -- 。 -- 。 - -作成のインスピレーションと本スクリプトが利用するシグネチャについて[ClamAV](https://www.clamav.net/)に感謝の意を表したいと思います。​この2つがなければ、​本スクリプトは存在しえないか、​あるいは極めて限られた利用価値しかもたないと言ってよいでしょう。 - -本プロジェクトファイルのホスト先であるSourceForgeとBitbucketとGitHub、​phpMusselが利用するシグネチャの提供先である:​[PhishTank](https://www.phishtank.com/)、​[NLNetLabs](https://nlnetlabs.nl/)、​[Malware.Expert](https://malware.expert/) 他、​本プロジェクトを支援して下さった全ての方々に感謝の意を表したいと思います。 - -本ドキュメントならびに関連パッケージは以下のURLからダウンロードできます。 -- [GitHub](https://github.com/phpMussel/phpMussel)。 -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel)。 -- [SourceForge](https://sourceforge.net/projects/phpmussel/)。 - ---- - - -### 2.インストール方法 - -#### 2.0 手動インストール(ウェブサーバー編) - -1) 本項を読んでいるということから、​アーカイブ・スクリプトのローカルマシンへのダウンロードと解凍は終了していると考えます。​ホストあるいはCMSに`/public_html/phpmussel/`のようなディレクトリを作り、​ローカルマシンからそこにコンテンツをアップロードするのが次のステップです。​アップロード先のディレクトリ名や場所については、​安全でさえあれば、​もちろん制約などはありませんので、​自由に決めて下さい。 - -2) `config.ini`に`config.ini.RenameMe`の名前を変更します(`vault`の内側に位置する)。​オプションの修正のため(初心者には推奨できませんが、​経験が豊富なユーザーには強く推奨します)、​それを開いて下さい(本ファイルはphpMusselが利用可能なディレクティブを含んでおり、​それぞれのオプションについての機能と目的に関した簡単な説明があります)。​セットアップ環境にあわせて、​適当な修正を行いファイルを保存して下さい。 - -3) コンテンツ(phpMussel本体とファイル)を先に定めたディレクトリにアップロードします。​(`*.txt`や`*.md`ファイルはアップロードの必要はありませんが、​大抵は全てをアップロードしてもらって構いません)。 - -4) `vault`ディレクトリは「755」にアクセス権変更します(問題がある場合は、​「777」を試すことができます;これは、​しかし、​安全ではありません)。​コンテンツをアップロードしたディレクトリそのものは、​通常特に何もする必要ありませんが、​過去にパーミッションで問題があった場合、​CHMODのステータスは確認しておくと良いでしょう。​(デフォルトでは「755」が一般的です)。​要するに:パッケージが正しく動作するためには、PHPは「vault」ディレクトリ内でファイルを読み書きできる必要があります。​PHPは「vault」ディレクトリに書き込めない場合、多くのことが(アップデイト、ロギング、など)可能になりません。​PHPは「vault」ディレクトリから読み込めない場合、パッケージはまったく動作しません。​最適なセキュリティのためには、「vault」ディレクトリは公にアクセス可能であってはいけません(「vault」ディレクトリが公にアクセス可能な場合、「config.ini」や「frontend.dat」に含まれる情報などの機密情報は潜在的な攻撃者にさらされる可能性があります)。 - -5) あなたが必要とするシグネチャをインストールしてください。 参照:​[シグネチャ・インストール](#INSTALLING_SIGNATURES)。 - -6) 次に、​システム内あるいはCMSにphpMusselをフックします。​方法はいくつかありますが、​最も容易なのは、​`require`や`include`でスクリプトをシステム内またはCMSのコアファイルの最初の部分に記載する方法です。​(コアファイルとは、​サイト内のどのページにアクセスがあっても必ずロードされるファイルのことです)。​一般的には、​`/includes`や`/assets`や`/functions`のようなディレクトリ内のファイルで、​`init.php`、​`common_functions.php`、​`functions.php`といったファイル名が付けられています。​実際にどのファイルなのかは、​見つけてもうらう必要があります。​よく分からない場合は、​phpMusselサポートフォーラムを参照するか、​またはGitHubのでphpMusselの問題のページ、​あるいはお知らせください(CMS情報必須)。​私自身を含め、​ユーザーの中に類似のCMSを扱った経験があれば、​何かしらのサポートを提供できます。​コアファイルが見つかったなら、​「`require`か`include`を使って」以下のコードをファイルの先頭に挿入して下さい。​ただし、​クォーテーションマークで囲まれた部分は`loader.php`ファイルの正確なアドレス(HTTPアドレスでなく、​ローカルなアドレス。​前述のvaultのアドレスに類似)に置き換えます。 - -`` - -ファイルを保存して閉じ、​再アップロードします。 - --- 他の手法 -- - -Apacheウェブサーバーを利用していて、​かつ`php.ini`を編集できるようであれば、​`auto_prepend_file`ディレクティブを使って、​PHPリクエストがあった場合にはいつもphpMusselを先頭に追加するようにすることも可能です。​以下に例を挙げます。 - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -あるいは、​`.htaccess`において: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) これでインストールは完了ですが、​念のために、​テストを行いましょう。​不正ファイルアップロード保護機能をテストするには、​パッケージ内の`.tests/samples`に含まれているテスト・ファイルをブラウザを使った通常の方法でアップロードします。​(テスト・ファイルがトリガーするようにするためには、`phpmussel*.*db`シグネチャ・ファイルを`active`コンフィギュレーション・ディレクティブに含めたことを確認してください)。​問題がなければ、​phpMusselからアップロードをブロックしたとのメッセージが表示され、​そうでない場合は何かが正常に機能していません。​また、​もし何かしら特殊な機能を使っている、​ないしは他のタイプのスキャニングも使っているようであれば、​相互に影響があるかないかもチェックしておく方が良いでしょう。 - -#### 2.1 手動インストール(CLI編) - -1) 本項を読んでいるということから、​アーカイブ・スクリプトのローカルマシンへのダウンロードと解凍は終了していると考えます。​phpMusselの保存場所が決まったら、​次へ進んで下さい。 - -2) phpMusselを使うには、​PHPがホストマシンにインストールされている必要があります。​もし、​まだであれば、​各種PHPインストーラーのどれを使っても構いませんので、​インストールして下さい。 - -3) オプションの修正のため(初心者には推奨できませんが、​経験が豊富なユーザーには強く推奨します)。​`vault`内の`config.ini`を開いて下さい。​本ファイルはphpMusselが利用可能なディレクティブを含んでおり、​それぞれのオプションについての機能と目的に関した簡単な説明があります。​セットアップ環境にあわせて、​適当な修正を行いファイルを保存して下さい。 - -4) オプションですが、​バッチファイルを作成することにより、​phpMusselのCLIモードでの使用を容易にすることができます。​バッチファイルはPHPとphpMusselを自動的にロードするものです。​まず、​Notepadか Notepad++のようなテキストエディタを開いて下さい。​そして、​インストールしたPHPの`php.exe`の絶対パス、​半角スペース、​`loader.php`の絶対パスをタイプして、​拡張子「.bat」でファイルを目につくところに保存します。​このファイルをダブルクリックすることでphpMusselを起動することができます。 - -5) あなたが必要とするシグネチャをインストールしてください。 参照:​[シグネチャ・インストール](#INSTALLING_SIGNATURES)。 - -6) テストを行いましょう。​パッケージ内の`.tests/samples`をphpMusselでスキャンしてみて下さい。 - -#### 2.2 COMPOSERを使用してインストールする - -[phpMusselはPackagistに登録されています](https://packagist.org/packages/phpmussel/phpmussel)。​Composerを使い慣れている場合は、​Composerを使用してphpMusselをインストールできます (但し、あなたはコンフィギュレーション、CHMODパーミッション、シグネチャとフックを準備する必要があります。​「手動インストール(ウェブサーバー編)」の手順2、4、5と6を参照してください)。 - -`composer require phpmussel/phpmussel` - -#### 2.3 シグネチャ・インストール - -`v1.0.0`以降、シグネチャはphpMusselパッケージには含まれていません。​特定の脅威を検出するためには、phpMusselによってシグネチャが必要です。​シグネチャをインストールする主な方法は3つあります。 - -1. フロントエンドのアップデート・ページを使用して自動的にインストールします。 -2. 「SigTool」を使用してシグネチャを生成し、手動でインストールします。 -3. 「phpMussel/Signatures」からシグネチャをダウンロードし、手動でインストールします。 - -##### 2.3.1 フロントエンドのアップデート・ページを使用して自動的にインストールします。 - -まず、フロントエンドが有効になっていることを確認する必要があります。 *参照:[フロントエンドの管理](#SECTION4)。* - -次に、フロントエンドのアップデート・ページに移動し、必要なシグネチャ・ファイルを見つける、その後、ページに用意されているオプションを使用して、インストールし、アクティブ化します。 - -##### 2.3.2 「SigTool」を使用してシグネチャを生成し、手動でインストールします。 - -*参照:[SigToolドキュメンテーション](https://github.com/phpMussel/SigTool#documentation)。* - -*また注意してください:SigToolは、ClamAVからのシグネチャのみを処理します。​phpMusselのテストサンプルの検出に必要なシグネチャ、phpMussel用に特別に記述された、などを含む他のソースからシグネチャを取得するには、このメソッドに、ここで説明する他のメソッドのいずれかを追加する必要があります。* - -##### 2.3.3 「phpMussel/Signatures」からシグネチャをダウンロードし、手動でインストールします。 - -まず、[phpMussel/Signatures](https://github.com/phpMussel/Signatures)に行く。​リポジトリには、​さまざまなGZ圧縮シグネチャ・ファイルが含まれています。​それらをインストールするには、​必要なファイルをダウンロードして解凍し、​解凍したファイルを`/vault/signatures`ディレクトリにコピーします。​それらをアクティブにするには、​コピーしたファイルの名前をphpMussel設定の`active`ディレクティブに列挙します。 - ---- - - -### 3.使用方法 - -#### 3.0 使用方法(ウェーブサーバー編) - -phpMusselは特別な使用環境を必要としないスクリプトです。​一度インストールされれば、​充分に機能します。 - -デフォルトでは、​アップロードされたファイルのスキャンは自動的に行うように設定されています。​従って基本的に何もすることはありません。 - -ですが、​特定のファイル、​ディレクトリ、​アーカイブをスキャンするよう設定することも可能です。​`config.ini`を適切に設定し直して下さい(クリーンアップは無効でなくてはなりません)。​その後phpMusselがフックされているPHPファイル内において、​以下のコードを使用します。 - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan` には、​文字列あるいは(多次元)配列を代入することができます。​どのファイル(一つないしは複数)あるいはディレクトリ(一つないしは複数)をスキャンすべきか指定します。 -- `$output_type` はブーレアンで、​スキャン結果のフォーマットを指定できます。​`false`は結果を整数型で返します。​`true`(真)は結果をテキスト形式で返します。​どちらを選択しても、​スキャン後にグローバル変数によって結果にアクセスすることが可能です。​`$output_type`はオプションでデフォルト設定は`false`(偽)になっています。​次に、整数結果について説明します。 - -| 結果 | 説明 | -|---|---| -| -4 | 暗号化のため、データをスキャンできませんでした。 | -| -3 | phpMusselシグネチャ・ファイルで問題が発生したことを示します。 | -| -2 | スキャン中に破損データを検出したためスキャン失敗。 | -| -1 | PHPがスキャンに必要な拡張子あるいはアドオンがないためにスキャン失敗。 | -| 0 | スキャンの対象が存在しないこと。 | -| 1 | 対象のスキャンを完了しかつ問題がないこと。 | -| 2 | 対象のスキャンを完了しかつ問題を検出したことを意味します。 | - -- `$output_flatness` はブーレアンで、​スキャン結果を配列で返すか、​文字列で返すかを指定します(対象が複数の場合)。​`false`(偽)は配列、​`true`(真)は文字列での返り値となります。​`$output_flatness`はオプションでデフォルト設定は`false`(偽)です。 - -例: - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -の場合、​返り値は: - -``` - Wed, 16 Sep 2013 02:49:46 +0000 開始。 - > チェック '/user_name/public_html/my_file.html': - -> 問題は検出されませんでした。 - Wed, 16 Sep 2013 02:49:47 +0000 完了。 -``` - -phpMusselがどのようなシグネチャを使ったか等の詳細な情報については、​本ファイルのセクション『[シグネチャ(署名)フォーマット](#SECTION8)』を参照して下さい。 - -誤検出や新種の疑わしきものに遭遇した、​あるいはシグネチャに関することについては何でもお知らせ下さい。​そうすれば、​即時対応でき、​必要な修正を行うことができます。 *(参照する:​[「偽陽性」とは何ですか?​](#WHAT_IS_A_FALSE_POSITIVE))。* - -phpMusselに含まれるシグネチャを無効にするには(通常除かれるべきではないと考えられるものがブロックされてしまうような場合)、​それらの名前をグレーリスト・ファイルに追加する(`/vault/greylist.csv`)、カンマで区切られた。 - -*また見てください: [ファイルのスキャン時に特定の詳細情報にアクセスするにはどうすればよいですか?](#SCAN_DEBUGGING)* - -#### 3.1 使用方法(CLI編) - -本READMEファイルの「手動インストール(CLI編)」を参照して下さい。 - -なお、​phpMusselを通常のウィルスソフトと混同しないで下さい。​アクティブメモリーを監視してウィルスを即時検出するものではありません(phpMusselは、​オンデマンドスキャナです;phpMusselは、​オンアクセススキャナではありません)。​指定されたファイルのみをスキャンし(また、​ファイルのアップロード)、​含まれるウィルスを検出します。 - ---- - - -### 4.フロントエンドの管理 - -#### 4.0 フロントエンドは何です。 - -フロントエンドは、​phpMusselのインストールを維持、​管理、​更新するための便利で簡単な方法を提供します。​ログページを使用してログ・ファイルを表示、​共有、​ダウンロードすることができます、​コンフィギュレーションページでコンフィギュレーションを変更できます、​アップデートページを使用してコンポーネントをインストールおよびアンインストールできます、​そして、​ファイル・マネージャーを使用してvault「ボールト」内のファイルをアップロード、​ダウンロード、​および変更することができます。 - -不正アクセスを防止するため、​フロントエンドはデフォルトで無効になっています​(不正アクセスがウェブサイトとそのセキュリティに重大な影響を与える可能性があります)。​それを可能にするための指示は、​このパラグラフの下に含まれています。 - -#### 4.1 フロントエンドを有効にする方法。 - -1) `config.ini`の中にある`disable_frontend`ディレクティブを探します、​それを「`false`」に設定します(デフォルトでは「`true`」です)。 - -2) ブラウザから`loader.php`にアクセスしてください(例えば、​`http://localhost/phpmussel/loader.php`)。 - -3) デフォルトのユーザー名とパスワードでログインする(admin/password)。 - -注意:あなたが初めてログインした後、​フロントエンドへの不正アクセスを防ぐために、​あなたはすぐにユーザー名とパスワードを変更する必要があります!​これは非常に重要です、​なぜなら、​フロントエンドから任意のPHPコードをあなたのウェブサイトにアップロードすることができるからです。 - -また、最適なセキュリティを実現するには、すべてのフロントエンド・アカウントに対して「二要素認証」を有効にすることを強くお勧めします(下記の手順)。 - -#### 4.2 フロントエンドの使い方。 - -フロントエンドの各ページには、​目的の説明とその使用方法の説明があります。​詳しい説明や特別な支援が必要な場合は、​サポートにお問い合わせください。​また、​デモを提供するYouTube上で利用可能な動画もあります。 - -#### 4.3 2FA(二要素認証) - -2FA「二要素認証」を有効にすることで、フロントエンドをより安全にすることができます。​2FAを使用するアカウントにログインすると、そのアカウントに関連付けられた電子Eメール・アドレスに電子Eメールが送信されます。​このEメールには「2FAコード」が含まれています。​このアカウントを使用してログインできるように、ユーザーはこの2FAコードとユーザー名とパスワードを入力する必要があります。​つまり、アカウントのパスワードでは、ハッカーや潜在的な攻撃者がそのアカウントにログインするのに十分ではありません。​セッションに関連付けられた2FAコードを受信して利用するには、そのアカウントに関連付けられた電子Eメールアドレスにアクセスする必要があります。 - -まず、2FAを有効にするには、フロントエンドのアップデイト・ページを使用して、PHPMailerコンポーネントをインストールします。​phpMusselは、電子Eメールを送信するために、PHPMailerを利用します。​注意:phpMussel自体はPHP >= 5.4.0と互換性がありますが、PHPMailerにはPHP >= 5.5.0が必要です。​したがって、PHP 5.4ユーザーはphpMusselフロントエンドに2FAを有効にすることはできません。 - -PHPMailerをインストールしたら、phpMusselコンフィギュレーション・ページまたはコンフィギュレーション・ファイルを使用して、PHPMailerのコンフィギュレーション・ディレクティブを設定する必要があります。​これらのコンフィギュレーション・ディレクティブの詳細については、このドキュメントのコンフィギュレーション・セクションに記載されています。​PHPMailerコンフィギュレーション・ディレクティブを設定したら、`enable_two_factor`を`true`に設定します。​2FAが有効にされている。 - -次に、phpMusselがそのアカウントでログインする際に2FAコードを送信する場所を知るように、電子Eメール・アドレスをアカウントに関連付ける必要があります。​これを行うには、電子Eメール・アドレスをアカウントのユーザー名として使用する(例えば、`foo@bar.tld`)か、電子Eメール・アドレスを通常どおり電子Eメールを送信する場合と同じ方法でユーザー名の一部として含めます(例えば、`Foo Bar `)。 - -注意:不正なアクセスからvaultを保護することは特に重要です(例えば、サーバーのセキュリティを強化し、パブリック・アクセス許可を制限する)。​コンフィギュレーション・ファイル(あなたのvaultに保存されています)の不正なアクセスが送信SMTPコンフィギュレーションを公開する可能性があります(SMTPユーザー名とパスワードを含む)。​2FAを有効にする前に、vaultが適切に保護されていることを確認する必要があります。​あなたがこれを行うことができない場合は、少なくとも、この目的のために専用の新しい電子Eメール・アカウントを作成する必要があります(公開されたSMTPコンフィギュレーションに関連するリスクを軽減するため)。 - ---- - - -### 5.CLI(コマンドライン・インターフェイス) - -phpMusselはウィンドウズベースのシステムでは、​CLIモードで対話式のファイルスキャナーとしても機能します。​詳細についてはインストール方法(CLI編)を参照して下さい。 - -CLIプロンプトにて`c`とタイプしエンターを押せば、​利用可能なCLIコマンドのリストが表示されます。 - -また、​興味のある人のために、​CLIモードでphpMusselを使用する方法のためのビデオチュートリアルは、​ここで提供されています: -- - ---- - - -### 6.本パッケージに含まれるファイル - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7.コンフィギュレーション(設定オプション) - -以下は`config.ini`設定ファイルにある変数ならびにその目的と機能のリストです。 - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### "general" (全般、カテゴリー) -全般的な設定。 - -##### "cleanup" (クリーンアップ) -- 初回アップロード後に変数とキャッシュの設定をクリアするか否かについてのスクリプトです。​`false`(偽) = いいえ;​`true`(真) = はい 「Default/デフォルト設定」。​初回アップロードスキャニング以外で使用することがなければ、​`true`(真)としメモリーの使用量を最小にします。​使用するのであれば、​`false`(偽)とし、​メモリーに不要な重複データを再ロードするのを防ぎます。​通常は`true`(真)。​に設定しますが、​初回アップロードスキャニングに対してしか使用できないことを覚えておいて下さい。 -- CLIモードでは影響しません。 - -##### "scan_log" (スキャン・ログ) -- 全スキャニング結果を記録するファイルのファイル名。​ファイル名指定するか、​無効にしたい場合は空白のままにして下さい。 - -##### "scan_log_serialized" (スキャン・ログ・シリアライズド) -- 全スキャニング結果を記録するファイルのファイル名(シリアル化形式を利用)。​ファイル名指定するか、​無効にしたい場合は空白のままにして下さい。 - -##### "scan_kills" (スキャン・キルズ) -- ブロックしたか削除したアップロードの全てを記録するファイのファイル名。​ファイル名指定するか、​無効にしたい場合は空白のままにして下さい。 - -*有用な先端:​あなたがしたい場合は、​ログ・ファイルの名前に日付/時刻情報を付加することができます、​名前にこれらを含めることで:完全な年のため`{yyyy}`、​省略された年のため`{yy}`、​月`{mm}`、​日`{dd}`、​時間`{hh}`。​* - -*例:* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### "error_log" (エラー・ログ) -- 検出された致命的でないエラーを記録するためのファイル。​ファイル名指定するか、​無効にしたい場合は空白のままにして下さい。 - -##### "truncate" (トランケート) -- ログ・ファイルが一定のサイズに達したら切り詰めますか?​値は、​ログ・ファイルが切り捨てられる前に大きくなる可能性があるB/KB/MB/GB/TB単位の最大サイズです。​デフォルト値の0KBは切り捨てを無効にします (ログ・ファイルは無期限に拡張できます)。​注:個々のログ・ファイルに適用されます。​ログ・ファイルのサイズは一括して考慮されません。 - -##### "log_rotation_limit" (ログ・ローテーション・リミット) -- ログ・ローテーションは、一度に存在する必要があるログ・ファイルの数を制限します。​新しいログ・ファイルが作成されると、ログ・ファイルの総数が指定された制限を超えると、指定されたアクションが実行されます。​ここで希望の制限を指定することができます。​値「0」は、ログ・ローテーションを無効にします。 - -##### "log_rotation_action" (ログ・ローテーション・アクション) -- ログ・ローテーションは、一度に存在する必要があるログ・ファイルの数を制限します。​新しいログ・ファイルが作成されると、ログ・ファイルの総数が指定された制限を超えると、指定されたアクションが実行されます。​ここで希望のアクションを指定できます。 「Delete」 = 最も古いログ・ファイルを削除して、制限を超過しないようにします。 「Archive」 = 最初にアーカイブしてから、最も古いログ・ファイルを削除して、制限を超過しないようにします。 - -*技術的な説明:この文脈では、「最も古い」とは「最近変更されていない」という意味です。* - -##### "timezone" (タイムゾーン) -- これは、phpMusselが日付/時刻操作に使用するタイムゾーンを指定するために使用されます。​あなたがそれを必要としないなら、それを無視してください。​可能な値はPHPによって決定されます。​しかし、​その代わりに、​一般的にタイムゾーンディレクティブ(あなたの`php.ini`ファイルで)を調整ーることをお勧めします、​でも時々(といった、​限ら共有ホスティングプロバイダでの作業時)これは何をすることは必ずしも可能ではありません、​したがって、​このオプションは、​ここで提供されています。 - -##### "time_offset" (タイム・オフセット) -- *v1: "timeOffset"* -- お使いのサーバーの時刻は、​ローカル時刻と一致しない場合、​あなたのニーズに応じて、​時間を調整するために、​あなたはここにオフセットを指定することができます。​しかし、​その代わりに、​一般的にタイムゾーンディレクティブ(あなたの`php.ini`ファイルで)を調整ーることをお勧めします、​でも時々(といった、​限ら共有ホスティングプロバイダでの作業時)これは何をすることは必ずしも可能ではありません、​したがって、​このオプションは、​ここで提供されています。​オフセット分であります。 -- 例(1時間を追加します):`time_offset=60` - -##### "time_format" (タイム・フォーマット) -- *v1: "timeFormat"* -- phpMusselで使用される日付表記形式。​Default(デフォルト設定) = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`. - -##### "ipaddr" (アイピー・アドレス) -- 接続要求のIPアドレスをどこで見つけるべきかについて(Cloudflareのようなサービスに対して有効)。​Default(デフォルト設定) = REMOTE_ADDR。​注意:あなたが何をしているのか、​分からない限り、​これを変更しないでください。 - -「ipaddr」の推奨値です: - -値 | 使用 ----|--- -`HTTP_INCAP_CLIENT_IP` | Incapsulaリバース・プロキシ。 -`HTTP_CF_CONNECTING_IP` | Cloudflareリバース・プロキシ。 -`CF-Connecting-IP` | Cloudflareリバース・プロキシ(代替;上記がうまくいかない場合)。 -`HTTP_X_FORWARDED_FOR` | Cloudbricリバース・プロキシ。 -`X-Forwarded-For` | [Squidリバース・プロキシ](http://www.squid-cache.org/Doc/config/forwarded_for/)。 -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*サーバー・コンフィギュレーションによって定義されます。​* | [Nginxリバース・プロキシ](https://www.nginx.com/resources/admin-guide/reverse-proxy/)。 -`REMOTE_ADDR` | リバース・プロキシはありません(デフォルト値)。 - -##### "enable_plugins" (イネーブル・プラグインす) -- プラグインのサポートを有効にしますか?​`false` = いいえ;​`true` = はい 「Default/デフォルト設定」。 - -##### "forbid_on_block" (フォービッド・オン・ブロック) -- アップロードファイルがブロックされたメッセージと共に、​phpMusselから403ヘッダーを送るべきか、​通常の200でよいかどうかについて。​False(偽)=いいえ(200);​True(真)=はい(403)「Default/デフォルト設定」。 - -##### "unsupported_media_type_header" (アンサポーテッド・ミーディア・タイプ) -- ブラックリストに登録されているファイル・タイプが原因でアップロードがブロックされた場合、phpMusselは、415ヘッダーを送信する必要がありますか?​Trueの場合、この設定は`forbid_on_block`よりも優先されます。​False(偽)=いいえ「Default/デフォルト設定」;​True(真)=はい。 - -##### "delete_on_sight" (デリート・オン・サイト) -- このディレクティブを有効にすると、​検知基準(シグネチャでも何でも)にあったアップロードファイルは直ちに削除されます。​クリーンと判断されたファイルはそのままです。​アーカイブの場合、​問題のファイルが一部であってもアーカイブ全てが削除の対象となります。​アップロードファイルのスキャンにおいては、​本ディレクティブを有効にすることは必須ではありません。​なぜならPHPはスクリプト実行後に自動的にキャッシュの内容を破棄するからです。​言い換えれば、​ファイルが移動されたか、​コピーされたか、​削除されない限り、​PHPはサーバーにアップロードしたファイルを残しておくことは通常ありません。​このディレクティブはセキュリティーに念を入れる目的で設置されています。​PHPは稀に予測外の振る舞いをすることがあるからです。​False(偽) = スキャニング後、​ファイルはそのまま(デフォルト設定)。​True(真) = スキャニング後、​クリーンでなければ直ちに削除。 - -##### "lang" (ラング) -- phpMusselのデフォルト言語を設定します。 - -##### "lang_override" (ラング・オーバーライド) -- 可能な限り「HTTP_ACCEPT_LANGUAGE」に従ってローカライズしますか? True = はい(Default/デフォルルト)。 False = いいえ。 - -##### "numbers" (ナンバーズ) -- 数値の表示方法を指定します。 - -現在サポートされている値: - -値 | これを生産する | 説明 ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | デフォルト値。 -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*注意:これらの値は、パッケージを超えては関連しません。​また、サポートされる値は将来変更される可能性があります。* - -##### "quarantine_key" (クオランティン・キ―) -- phpMusselは、​必要とあれば、​phpMusselのヴォルト内で独立してフラグ付ファイルのアップロードを検疫することができます。​一般的なphpMusselのユーザーは、​ウェブサイトやホスティング環境の保護ができれば充分と考えており、​フラグ付のようなものにさらなる分析を加えようまでの要求はないようですので、​無効で構いません。​ですが詳細に分析してマルウェアに備えたいユーザーは有効にすると良いでしょう。​フラグ付ファイルのアップロードの検疫は誤検出のデバッグに役立つことがあります。​検疫機能を無効にするには、​`quarantine_key`ディレクティブを空にしておくか、​空でない場合はディレクティブ内のコンテンツを消去して下さい。​有効にするには、​デイレクティブに何らかの値を入れて下さい。​`quarantine_key`は検疫機能における重要なセキュリティー要素であり、​検疫機能内に保存されたデータの執行を各種の攻撃から守っています。​`quarantine_key`はパスワードと同様に考えて下さい。​長い方がより安全と言えます。​最も効果的な使用法は`delete_on_sight`との併用です。 - -##### "quarantine_max_filesize" (クオランティン・マックス・ファイルサイズ) -- 検疫されるファイルサイズの上限。​この値より大きなファイルは検疫されません。​クオランティンの容量を超える異常に大きなファイルサイズによる攻撃で、​メモリーが無駄に消費されるのを防ぐ意味で重要です。​デフォルト設定は2MBです。 - -##### "quarantine_max_usage" (クオランティン・マックス・ユーセッジ) -- 検疫のために利用する最大メモリー量。​全メモリー量が使用されると、​この範囲内に収まるよう古いファイルが削除の対象となります。​クオランティンの容量を超える異常に大きなファイルサイズによる攻撃で、​メモリーが無駄に消費されるのを防ぐ意味で重要です。​デフォルト設定は64MBです。 - -##### "quarantine_max_files" (クオランティン・マックス・ファイル数) -- 検疫に存在できるファイルの最大数。​隔離ファイルに新しいファイルが追加されると、この数を超えた場合、残りのファイルがこの数を超えなくなるまで古いファイルが削除されます。​デフォルト設定は100です。 - -##### "honeypot_mode" (ハニーポット・モード) -- ハニーポットモードが有効になっていると、​phpMusselはアップロードされてきた全てのファイルを例外なく検疫します。​シグネチャにマッチするかどうかは問題としません。​スキャニングや分析もなされません。​phpMusselをウィルス/マルウェアのリサーチに利用と考えているユーザーにとって有益と言えるでしょう。​ただし、​アップロードファイルのスキャニングという点からは、​あまり推奨できませんし、​ハニーポット・モードを本来の目的以外に使用することもお勧めできません。​デフォルト設定では無効です。​`false`(偽) = Disabled/無効(Default/デフォルト);​`true`(真) = Enabled/有効。 - -##### "scan_cache_expiry" (スキャン・キャッシュ・エクスパイヤリー) -- phpMusselはスキャニング結果をどれくらいの期間キャッシュすべきか?​秒単位で、​デフォルトは21,600秒(6時間)となっています。​0にするとキャッシュ無効になります。 - -##### "disable_cli" (ディスエイブル・シーエルアイ) -- CLIモードを無効にするか?​CLIモード(シーエルアイ・モード)はデフォルトでは有効になっていますが、​テストツール(PHPUnit等)やCLIベースのアプリケーションと干渉しあう可能性が無いとは言い切れません。​CLIモードを無効にする必要がなければ、​このデレクティブは無視してもらって結構です。​`false`(偽) = CLIモードを有効にします(Default/デフォルルト);​`true`(真) = CLIモードを無効にします。 - -##### "disable_frontend" (ディスエイブル・フロントエンド) -- フロントエンドへのアクセスを無効にするか?​フロントエンドへのアクセスは、​phpMusselをより管理しやすくすることができます。​前記、​それはまた、​潜在的なセキュリティリスクになる可能性があります。​バックエンドを経由して管理することをお勧めします、​しかし、​これが不可能な場合、​フロントエンドへのアクセスが提供され。​あなたがそれを必要としない限り、​それを無効にします。​`false`(偽) = フロントエンドへのアクセスを有効にします;​`true`(真) = フロントエンドへのアクセスを無効にします(Default/デフォルルト)。 - -##### "max_login_attempts" (マクス・ログイン・アテンプト) -- ログイン試行の最大回数(フロントエンド)。​Default(デフォルト設定) = 5。 - -##### "frontend_log" (フロントエンド・ログ) -- *v1: "FrontEndLog"* -- フロントエンド・ログインの試みを記録するためのファイル。​ファイル名指定するか、​無効にしたい場合は空白のままにして下さい。 - -##### "disable_webfonts" (ディスエイブル・ウェブフォンツ) -- ウェブフォンツを無効にしますか? True = はい(Default/デフォルルト)。 False = いいえ。 - -##### "maintenance_mode" (メンテナンス・モード) -- メンテナンス・モードを有効にしますか? True = はい。 False = いいえ(Default/デフォルルト)。​フロントエンド以外のすべてを無効にします。​CMS、フレームワークなどを更新するときに便利です。 - -##### "default_algo" (ディフォールト・アルゴ) -- 将来のすべてのパスワードとセッションに使用するアルゴリズムを定義します。​オプション:​PASSWORD_DEFAULT(Default/デフォルルト)、​PASSWORD_BCRYPT、​PASSWORD_ARGON2I (PHP >= 7.2.0 が必要)、​PASSWORD_ARGON2ID (PHP >= 7.3.0 が必要)。 - -##### "statistics" (スタティスティックス/統計) -- phpMussel使用統計を追跡しますか? True = はい。 False = いいえ(Default/デフォルルト)。 - -##### "hide_version" (ハイド・バージョン) -- ログとページ出力からバージョン情報を隠すか? True = はい。 False = いいえ(Default/デフォルルト)。 - -##### "disabled_channels" (ディセーブルド・チャネルズ) -- これは、要求を送信するときにphpMusselが特定のチャネルを使用しないようにするために使用できます​(例えば、更新時、コンポーネント・メタデータの取得時、など)。 - -##### "default_timeout" (デフォルト・タイムアウト) -- 外部リクエストに使用するデフォルトのタイムアウト? Default/デフォルルト = 12秒。 - -#### "signatures" (シグネチャーズ、カテゴリ) -シグネチャの設定。 - -##### "active" (アクティブ) -- *v1: "Active"* -- カンマで区切られたアクティブなシグネチャ・ファイルのリスト。 - -*注意:* -- *シグネチャ・ファイルは、アクティブ化する前に、まず、インストールする必要があります。* -- *テスト・ファイルを正しく機能するには、シグネチャ・ファイルを、まず、インストールしてアクティブ化する必要があります。* -- *このディレクティブの値はキャッシュされています。​変更した後、変更を有効にするためにキャッシュを削除する必要があるかもしれません。* - -##### "fail_silently" (フェイル・サイレントリー) -- シグネチャ・ファイルがない、​あるいは破損している場合に、​phpMusselがそれをリポートすべきか否か?​`fail_silently`が無効ならば、​問題はリポートされ、​有効であれば、​問題は無視されたスキャニングレポートが作成されます。​クラッシュするというような害がなければ、​デフォルト設定のままにしておくべきです。​`false`(偽) = Disabled/無効; `true`(真) = Enabled/有効 (Default/デフォルト)。 - -##### "fail_extensions_silently" (フェイル・エクステンションズ・サイレントリー) -- 拡張子がない場合にphpMusselがそれをレポートすべきか否か?​`fail_extensions_silently`が無効の場合、​拡張子なしはスキャニング時にレポートされ、​有効の場合は無視され問題は報告されません。​このディレクティブを無効にすることは、​セキュリティーを向上させるかもしれませんが、​誤検出も増加する恐れがあります。​`false`(偽) = Disabled/無効; `true`(真) = Enabled/有効(Default/デフォルト)。 - -##### "detect_adware" (ディテクト・アドウェア) -- phpMusselはアドウェア検出のためにシグネチャを分析すべきか否か?​`false`(偽) = いいえ;​`true`(真) = はい(Default/デフォルト)。 - -##### "detect_joke_hoax" (ディテクト・ジョーク・ホークス) -- phpMusselは悪戯/偽造やマルウェア/ウィルス検出のためにシグネチャを分析すべきか否か?​`false`(偽) = いいえ;​`true`(真) = はい(Default/デフォルト)。 - -##### "detect_pua_pup" (ディテクト・PUA・PUP) -- phpMusselはPUAs/PUPs検出のためにシグネチャを分析すべきか否か?​`false`(偽) = いいえ;​`true`(真) = はい(Default/デフォルト)。 - -##### "detect_packer_packed" (ディテクト・パッカー・パックト) -- phpMusselはパッカーやパックデータ検出のためにシグネチャを分析すべきか否か?​`false`(偽) = いいえ;​`true`(真) = はい(Default/デフォルト)。 - -##### "detect_shell" (ディテクト・シェル) -- phpMusselはshellスクリプト検出のためにシグネチャを分析すべきか否か?​`false`(偽) = いいえ;​`true`(真) = はい(Default/デフォルト)。 - -##### "detect_deface" (ディテクト・ディフェーサ) -- phpMusselは改ざんやディフェーサー検出のためにシグネチャを分析すべきか否か?​`false`(偽) = いいえ;​`true`(真) = はい(Default/デフォルト)。 - -##### "detect_encryption" (ディテクト・エンクリプション) -- phpMusselは暗号化ファイルを検出してブロックする必要がありますか?​`false`(偽) = いいえ;​`true`(真) = はい(Default/デフォルト)。 - -#### "files" (ファイルズ、​カテゴリー) -ファイル取扱い設定。 - -##### "max_uploads" (マックス・アップローズ) -- 一度にスキャンできるアップロードファイル数の上限で、​これを超えるとスキャンを中断し、​ユーザーにその旨を知らせ、​論理攻撃からの保護として機能します。​システムやCMSがDDoS攻撃にあい、​phpMusselがオーバーロードしてPHPプロセスに支障をきたすことがないようにするためです。​推奨数は10ですが、​ハードウェアのスピードによっては、​これ以上/以下がよいということもあるでしょう。​この数は、​アーカイブのコンテンツは含まないことを覚えておいて下さい。 - -##### "filesize_limit" (ファイルサイズ・リミット) -- ファイルサイズ上限の単位はKBです。​65536=64MB(Default/デフォルト);​0 = リミットしません(上限なし、​常にグレイリスト化)、​正の数値であれば何でも構いません。​PHPの設定でメモリーに制限があったり、​アップロードファイルサイズの上限が設定されている場合に有効的です。 - -##### "filesize_response" (ファイルサイズ・レスポンス) -- 上限サイズを超えるファイルをどう処理するかについてです。​`false`(偽)=ホワイトリストして「Whitelist」。`true`(真)=ブラックリストして「Blacklist」(Default/デフォルト)。 - -##### "filetype_whitelist" (ファイルタイプ・ホワイトリスト)、​"filetype_blacklist" (ファイルタイプ・ブラックリスト)、​"filetype_greylist" (ファイルタイプ・グレーリスト) -- システムが特定タイプのファイルのみアップロードを許可する、​あるいは拒絶する場合は、​ファイルタイプを適切にホワイトリスト、​ブラックリスト、​グレーリストにて分類しておくと、​ファイルタイプによって弾かれるファイルはスキャンをスキップできるため、​スピードアップに繋がります。​フォーマットはCSV(カンマ区切り)です。​リストによらず全てをスキャンしたい場合は、​変数は空白のままとし、​ホワイトリスト/ブラックリスト/グレーリストを無効にします。 -- プロセスの論理的順序: - - ファイルタイプがホワイトリストに記載されていれば、​スキャンせず、​ブロックせず、​ブラックリストおよびグレイリストに対してチェックを行いません。 - - ファイルタイプがブラックリストに記載されていれば、​スキャンすることなく、​直ちににブロックし、​グレーリストに対してチェックを行いません。 - - グレーリストが空、​あるいはグレーリストが空でなくかつそのファイルタイプがあれば、​通常通りスキャンしブロックするか否かを判断します。​グレーリストが空でなくかつそのファイルタイプが含まれていなければ、​ブラックリストと同様の扱いをすることになり、​スキャンなしにブロックします。 - -##### "check_archives" (チェック・アーカイブズ) -- アーカイブのコンテンツに対してチェックを試みるか否かについてです。 `false`(偽) = チェックしない; `true`(真) = チェックする(Default/デフォルト)。 - -フォーマット | 読めるです | 再帰的に読めるです | 暗号化が検出可能です | ノート ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | [libzip](https://secure.php.net/manual/en/zip.requirements.php)が必要です(通常で、それはすでにPHPに束ねるされています)。 追加サポート(zip形式を使用します): ✔️ OLEオブジェクトの検出。 ✔️ オフィス・マクロの検出。 -Tar | ✔️ | ✔️ | ➖ | 特別な要件はありません。フォーマットは暗号化をサポートしていません。 -Rar | ✔️ | ✔️ | ✔️ | [rar](https://pecl.php.net/package/rar)拡張モジュールが必要です(この拡張モジュールがインストールされていない場合、phpMusselはrarファイルを読むことができません)。 -Phar | ❌ | ❌ | ❌ | pharファイルの読み込みサポートはv1.6.0で削除されました。セキュリティ上の問題のため、再度追加されません。 - -*誰かが、他のアーカイブ・フォーマットを読むためのサポートを実装するのを助けることができれば、そのような援助は歓迎されるだろう。* - -##### "filesize_archives" (ファイルサイズ・アーカイブズ) -- ファイルサイズのブラックリスト化/ホワイトリスト化をアーカイブのコンテンツに持ち込むか否か?​`false` = いいえ(ただグレーリストすべて); `true` = はい 「Default/デフォルト設定」。 - -##### "filetype_archives" (ファイルタイプ・アーカイブズ) -- ファイルタイプのブラックリスト化/ホワイトリスト化をアーカイブのコンテンツに持ち込むか否か?​`false` = いいえ(ただグレーリストすべて) 「Default/デフォルト設定」; `true` = はい。 - -##### "max_recursion" (マックス・リカーション) -- アーカイブに対する最大再帰深さです。​デフォルト=3。 - -##### "block_encrypted_archives" (ブロック・エンクリプティッド・アーカイブズ) -- 暗号化されたアーカイブを検出しブロックするか否か?​phpMusselは暗号化されたアーカイブをスキャンすることはできないので、​アーカイブの暗号化によってphpMussel、​アンチウィルススキャナー等をかいくぐろうとする攻撃者がいるかもしれません。​暗号化されたアーカイブをブロックすることにより、​このようなリスクを回避することができます。​`false`(偽) = いいえ;​`true`(真) = はい(Default/デフォルト)。 - -##### "max_files_in_archives" (マックス・ファイルズ・イン・アーカイブズ) -- スキャンを中止する前にアーカイブ内からスキャンするファイルの最大数。​デフォルト=0(上限なし)。 - -#### "attack_specific" (アタック・スペシフィック、​カテゴリー) -アタックースペシフィック ディレクティブ。 - -カメレオン攻撃検出。 `false`(偽) = オフ。 `true`(真) = オン。 - -##### "chameleon_from_php" (カメレオン・フロム・ピーエイチピー) -- ファイルでもなくPHPアーカイブとも認識できないファイル中のPHPヘッダーを探します。 - -##### "can_contain_php_file_extensions" (キャン・コンテイン・PHP・ファイル・エクステンションズ) -- カンマで区切られたPHPコードを含むことができるファイル拡張子のリスト。​PHPカメレオン攻撃検出が有効になっている場合、このリストにない拡張子を持つPHPコードを含むファイルは、PHPカメレオン攻撃として検出されます。 - -##### "chameleon_from_exe" (カメレオン・フロム・EXE) -- 実行ファイルでもなく実行ファイルのアーカイブとも認識できないファイル中の実行ヘッダーや不正なヘッダーの実行ファイルを探します。 - -##### "chameleon_to_archive" (カメレオン・トゥ・アーカイブ) -- ヘッダーが正しくないアーカイブを探します(BZ/BZIP2、GZ/GZIP、LZF、RAR、ZIPをサポート)。 - -##### "chameleon_to_doc" (カメレオン・トゥ・ドク) -- ヘッダーが正しくないオフィスドキュメントを探します(DOC、​DOT、​PPS、​PPT、​XLA、​XLS、​WIZをサポート)。 - -##### "chameleon_to_img" (カメレオン・トゥ・アイエムジー) -- ヘッダーが正しくない画像ファイルを探します(BMP、​DIB、​PNG、​GIF、​JPEG、​JPG、​XCF、​PSD、​PDD、​WEBPをサポート)。 - -##### "chameleon_to_pdf" (カメレオン・トゥ・ピーディーエフ) -- ヘッダーが正しくないPDFファイルを探します。 - -##### "archive_file_extensions" (アーカイブ・ファイル・エクステンション) -- 認識可能なアーカイブファイルエクステンションです(フォーマットはCSV;​問題があった場合にのみ追加あるいは取り除くべきです。​不用意に取り除くと誤検出の原因となる可能性があります。​反対に不用意に追加すると、​アタックースペシフィック検出から追加したものをホワイトリスト化してしまいます。​充分に注意に上、​変更して下さい。​なお、​コンテントレベルにおいてアーカイブを分析することが出来るか否かには影響しません)。​デフォルトでは最も一般なフォーマットをリストしていますが、​意図的に包括的にはしていません。 - -##### "block_control_characters" (ブロック・コントロール・キャラクターズ) -- 制御文字を含んだファイルをブロックするか否か(改行以外)?​についてです([\x00-\x08\x0b\x0c\x0e\x1f\x7f])。​もし、​テキストのみをアップロードするなら、​このオプションを有効にして、​さらにプロテクションを強化できます。​テキスト以外もアップロード対象であれば、​有効にすると誤検出の原因になりえます。​`false`(偽) = ブロックしない(Default/デフォルト);​`true`(真) = ブロックする。 - -##### "corrupted_exe" (コラプティッド・EXE) -- 破損ファイルとエラー解析。​`false`(偽) = 無視する;​`true`(真) = ブロックする(Default/デフォルト)。​破損の可能性があるPEファイルをブロックし検出するか否か?​についてです。​PEファイルの一部が破損し、​正しく分析できないことは珍しくなく、​ウィルス感染をみるバロメーターになります。​PEファイル内のウィルスを検出するアンチウィルスプログラムは、​PEファイルの解析を行いますが、​ウィルスを作る側では、​ウィルスが検出されないようそれを避けようとするものだからです。 - -##### "decode_threshold" (デコード・スレッシュホールド) -- デコード・コマンドが検出されるべき生データの長さの制限(スキャニング中に顕著な問題がある場合に必要に応じて設定)。​デフォルト=512KB。​ゼロあるいは値なし(null)はしきい値を無効化します(ファイルサイズによる制限を取り除きます)。 - -##### "scannable_threshold" (スキャナブル・スレッシュホールド) -- phpMusselが読みスキャンしてよい生データの長さの制限(スキャニング中に顕著な問題がある場合に必要に応じて設定)。​デフォルト=32MB。​ゼロあるいは値なし(null)はしきい値を無効化します。​値は、​サーバーやウェブサイトでアップロードされるファイルの平均ファイルサイズより大きく、​filesize_limitディレクティブより小さく設定すべきです。​また`php.ini`設定によってPHPに割り当てられたメモリーのおおよそ5分の1を超えるべきではありません。​このディレクティブはphpMusselがメモリーを使い過ぎないようにするためのものです。​(一定のサイズ以上のファイルはスキャンできなくなることもあります)。 - -##### "allow_leading_trailing_dots" (アラウ・リーディング・トレーリング・ドッツ) -- ファイル名に先頭と末尾のドットを使用できますか?​これは、ファイルを隠すためや、ディレクトリ・トラバーサルを許可するようにシステムを騙すために使用されることがあります。​`false`(偽)=許可しない(Default/デフォルト)。`true`(真)=許可します。 - -##### "block_macros" (ブロック・マクローズ) -- マクロを含むファイルをブロックしようとしていますか?​ドキュメントやスプレッドシートには実行可能なマクロが含まれている可能性があります。​`false`(偽) = ブロックしない(Default/デフォルト);​`true`(真) = ブロックする。 - -#### "compatibility" (コンパーティブリティ、カテゴリ) -phpMusselの互換性ディレクティブ。 - -##### "ignore_upload_errors" (イグノア・アップロード・エラーズ) -- システム上でphpMusselの機能に修正が必要でない限りはこのディレクティブは通常無効です。​無効に設定すると、​`$_FILES` array()に要素の存在を検知したとき、​その要素が表すファイルのスキャンが開始され、​要素が空白か無であればphpMusselはエラーメッセージを返します。​これは本来phpMusselがあるべき姿です。​しかしCMSにおいては、​$_FILESの空要素は普通に発生するものであり、​正常なphpMusselの挙動が正常なCMSの挙動を阻害する恐れがあります。​このような場合は、​本オプションを有効にして、​phpMusselが空要素をスキャンしてエラーメッセージを返すのを避け、​要求のあったページへスムーズに進むことができるようにします。​`false`(偽)=OFF「オフ」です。`true`(真)=ON「オン」です。 - -##### "only_allow_images" (オンリー・アロウ・イメージ) -- trueに設定した場合、スキャナーで検出された非画像ファイルには、スキャンされずに、直ちにマークされます。​これは、場合によっては、スキャンの完了に必要な時間を短縮するのに役立ちます。​デフォルトではfalseに設定されています。 - -#### "heuristic" (ヒューリスティック、カテゴリ) -ヒューリスティック・ディレクティブズ。 - -##### "threshold" (スレッシュホールド) -- phpMusselには、​このファイルは疑わしく危険性が高いと判断するシグネチャがあります。​しきい値は、​アップロードされているファイルの危険性の最大値であり、​これを超えるとマルウェアと判断されます。​ここにおける危険性の定義とは、​疑わしいと特定されたものの総数です。​デフォルトでは3に設定されています。​これより低いと誤検出の可能性が増え、​大きすぎると、​誤検出は減るものの危険性のあるファイルが検出されない可能性が増加してしまいます。​特に問題がなければ、​デフォルト値のままにしておくことお勧めします。 - -#### "virustotal" (ウィルストータル、カテゴリ) -VirusTotal.comディレクティブズ。 - -##### "vt_public_api_key" (ヴィティ・パブリック・エイピーアイ・キー) -- オプションですが、​phpMusselはVirus Total APIを使ってファイルをスキャンすることができます。​ウィルス、​トロイの木馬、​マルウェア、​その他の攻撃に対して非常に効果的に機能します。​デフォルトではVirus Total APIを使ったスキャニングは無効になっています。​有効にするには、​Virus TotalのAPIキーが必要です。​メリットが極めて大きいため、​有効にすることを強く推奨します。​Virus Total APIの使用にあたっては、​Virus Totalのドキュメンテーションにある通り、​利用規定ならびにガイドラインを遵守しなくてはなりません。​この統合機能を使用するためには: - - Virus TotalとAPIのサービス規定を読み同意すること。​[サービス規定はこちらから](https://www.virustotal.com/en/about/terms-of-service/)。 - - 最低でもVirus Total Public APIドキュメンテーションの前文を読み理解すること(「VirusTotal Public API v2.0」以降、「Contents」前まで)。​Virus Total Public APIの[ドキュメンテーションはこちらから](https://www.virustotal.com/en/documentation/public-api/)。 - -注意:Virus Total API使用したスキャニングが無効になっている場合、​このカテゴリー(`virustotal`)のディレクティブを参照する必要はありません。​無効であれば、​どれも機能しません。​Virus Total APIキーを取得するには、​Virus Totalのサイトのページ右上にあるリンク「コミュニティに参加」をクリックして、​必要事項を記入しサインアップします。​インストラクションに従ってパブリックAPIキーを取得した後、​`config.ini`設定ファイルの`vt_public_api_key`ディレクティブのそれをコピー&ペーストして下さい。 - -##### "vt_suspicion_level" (ヴィティ・サスピション・レベル) -- デフォルト設定では、​phpMusselがVirus Total APIを使ってスキャンするファイル(疑がわしいもの)には制限があります。​`vt_suspicion_level`ディレクティブを編集することのより、​この制限を変更することが可能です。 -- `0`:​phpMusselのシグネチャを使ってスキャンした結果、​ヒューリスティックな重みがあると判断された場合にのみ、​疑わしいファイルと結論付けられます。​すなわちVirus Total APIは、​phpMusselが危険性を察知はしたが完全にそうとは言い切れず、​したがってブロックもせず、​フラグを付けることもしなかった時のセカンドオピニオンです。 -- `1`:​phpMusselのシグネチャを使ってスキャンした結果、​実行ファイルと思われる(PEファイル、​Mach-O ファイル、​ELF/Linuxファイル等)、​ないしは実行可能なデータを含んだフォーマット(マクロ、​DOC/DOCXファイル、​アーカイブRAR/ZIPファイル等)があれば、​ヒューリスティックな重みがあるとして疑わしいファイルと結論付けられます。​これはデフォルト設定であり、​推奨レベルでもあります。​Virus Total APIは、​phpMusselが危険性なしと判断し、​したがってブロックもせず、​フラグを付けることもしなかった時のセカンドオピニオンです。 -- `2`:​ファイルは全て疑わしいものとされ、​Virus Total APIを使ってスキャンされます。​API割り当てを使い切る恐れがあるため、​推奨は控えますが、​状況によっては適切と言えるでしょう(例えば、​ウェブマスターやホストマスターがアップロードされる内容を信頼できない状況等)。​この警戒レベルでは、​通常ブロック/フラグも対象にならないファイルも全てVirus Total APIを使ってスキャンされます。​したがって、​Virus Total APIの割り当てを早々に消費してしまうこともあり得、​またAPI割り当てを使い切れば、​phpMusselはVirus Total APIの使用を中止します(警戒レベルに関係なく)。 - -注意:phpMusselによってブラックリスト化、​ホワイトリスト化されたファイルはVirus Total APIを使ったスキャンの対象にはなりません。​これらは既に善悪が結論付けられたものであり、​Virus Total APIで再びスキャンする必要性はないためです。​phpMusselが、​Virus Total APIを利用するのは、​phpMussel自身が危険性の有無について判断しかねる状況においての補助と言えます。 - -##### "vt_weighting" (ヴィティ・ウェイティング) -- phpMusselがVirus Total APIを使ったスキャニング結果を検出として扱うか、​検出の重み付けとして扱うべきか?​複数のエンジン(Virus Totalのように)を使用したスキャニングは、​検出率の向上(より多くのマルウェアが検出)をもたらす一方で誤検出の増加も招くため、​このディレクティブが存在します。​したがって、​スキャニング結果は、​決定的判断ではなく信頼スコアとして利用した方が適当なケースもあります。​値が0の場合、​Virus Total APIを使ったスキャンは検出として扱われ、​Virus Totalのエンジンがマルウェアとフラグを付けたファイルは、​phpMusselもマルウェアと判断します。​その他の値の場合は結果は検出の重み付けとなり、​スキャンされたファイルがマルウェアかどうかphpMusselが判断するための信頼スコア(あるいは検出の重み付け)となります(値はマルウェアと判断するための最小信頼スコア、​あるいは重み)。​デフォルト値は0です。 - -##### "vt_quota_rate" (ヴィティ・クォータ・レート) と "vt_quota_time" (ヴィティ・クォータ・タイム) -- Virus Total APIのドキュメンテーションによると「1分間のタイムフレームの間にリクエストは最大4回」の上限があります。​ハニークライアントやハニーポット等のオートメーションを使用し、​リポートを受け取るだけでなく、​VirusTotal にリソースを提供していれば、​上限は引き上げられます。​phpMussel のデフォルトでは最大4回を遵守していますが、​前述の事情から、​この2つのディレクトリを準備し、​状況に合わせて変更できるようになっています。​制限に達してしまうといった不都合や問題がない限りデフォルト値を変更することは勧められませんが、​値を小さくすることが適当なケースもあります。​上限はタイムフレーム`vt_quota_time`(ヴィティ・クォータ・タイム)「分内に」`vt_quota_rate`(ヴィティ・クォータ・レート)で設定します。 - -#### "urlscanner" (ユーアールエルスキャナー、カテゴリ) -phpMusselにはURLスキャナーがビルトインされていて、​スキャンされたファイルやデータ内の悪質なURLを検出することができます。 - -注意:URLスキャナーが無効の場合、​このカテゴリー(`urlscanner`)を参照する必要はありません。 - -URLスキャナーAPIルックアップ設定。 - -##### "google_api_key" (グーグル・エーピーアイ・キー) -- 必要なAPI鍵が定義されれば、​APIのGoogle Safe Browsing APIルックアップが有効になります。​Google Safe Browsing APIルックアップスに必要なAPI鍵は、​[から取得することができます](https://console.developers.google.com/)。 -- 注意:Google Safe Browsing APIルックアップはまだ完成していないので、​将来的な利用を想定しています。 - -##### "maximum_api_lookups" (マクシマム・エーピーアイ・ルックアップス) -- スキャン反復におけるAPIルックアップの最大回数。​APIルックアップの度にスキャン反復の時間が積み重なってしまうので、​スキャン処理の速度向上のため、​制限を設けたいと考えるかもしれません。​0は制限なしを意味します。​デフォルトは10です。 - -##### "maximum_api_lookups_response" (マクシマム・エーピーアイ・ルックアップス・レスポンス) -- APIルックアップの回数制限を超えた時の対応です。​`false`(偽)=何もしない/処理を継続する(Default/デフォルト);​`true`(真) = ファイルにフラグを付ける/ブロックする。 - -##### "cache_time" (キャッシュ・タイム) -- APIルックアップの結果をどれくらいキャッシュするか(秒単位です)?​デフォルトは3600秒(一時間)。 - -#### "legal" (リーガル、カテゴリ) -法律要件に関するコンフィギュレーション。 - -*法律要件とこれがコンフィギュレーション要件に与える影響の詳細については、ドキュメントの「[法律情報](#SECTION11)」セクションを参照してください。* - -##### "pseudonymise_ip_addresses" (プセユードニマイズ・アイピー・アドレセズ) -- ログ・ファイルを書き込むときにIPアドレス偽名化するか「プセユードニマイズ」? True = はい(Default/デフォルルト)。 False = いいえ。 - -##### "privacy_policy" (プライバシー・ポリシー) -- 生成されたページのフッターに表示される関連プライバシー・ポリシーのアドレス。​URLを指定するか、無効にしたい場合は空白のままにして下さい。 - -#### "template_data" (テンプレート・データ、カテゴリ) -テンプレートとテーマ用のディレクティブ/変数。 - -テンプレートのデータは、​ユーザーに向けてアップロード拒否のメッセージをHTML形式でアウトプットする際に使用されます。​カスタムテーマを使っている場合は`template_custom.html`を使用して、​そうでない場合は`template.html`を使用してHTMLアウトプットが生成されます。​設定ファイル内にあるこのセクション用の変数は、​HTMLアウトプットのために解析され、​で囲まれた変数名は対応する変数データに置き換えられます。​例えば`foo="bar"`とすると、​HTMLアウトプット内の`

{foo}

`は`

bar

`となります。 - -##### "theme" (シーム/テーマ) -- phpMusselに使用するデフォルトテーマ。 - -##### "magnification" (マグニフィケーション) -- *v1: "Magnification"* -- フォントの倍率。​Default/デフォルルト = 1。 - -##### "css_url" (シーエスエス・ユーアールエル) -- カスタムテーマ用のテンプレートファイルは、​外部CSSプロパティーを使っています。​一方、​デフォルトテーマは内部CSSです。​カスタムテーマを適用するためには、​CSSファイルのパブリック HTTPアドレスを"css_url"変数を使って指定して下さい。​この変数が空白であれば、​デフォルトテーマが適用されます。 - -#### "PHPMailer" (ピー・エイチ・ピー・メーラー、カテゴリ) -PHPMailerコンフィギュレーション。 - -現在、phpMusselはフロントエンドの2FA(二要素認証)にのみPHPMailerを使用しています。​フロントエンドを使用しない場合、またはフロントエンドに2FA(二要素認証)を使用しない場合は、これらのディレクティブを無視できます。 - -##### "event_log" (イベント・ログ) -- *v1: "EventLog"* -- PHPMailerに関連してすべてのイベントを記録するためのファイル。​ファイル名指定するか、​無効にしたい場合は空白のままにして下さい。 - -##### "skip_auth_process" (スキップ・オス・プロセス) -- *v1: "SkipAuthProcess"* -- このディレクティブを`true`に設定すると、PHPMailerはSMTP経由で電子Eメールを送信する際に通常発生する認証プロセスをスキップします。​このプロセスをスキップすると、送信EメールがMITM攻撃にさらされる可能性があるため、これは避けるべきです。​しかし、PHPMailerがSMTPサーバに接続できない場合、このプロセスが必要な場合があります。 - -##### "enable_two_factor" (イネーブル2FA) -- *v1: "Enable2FA"* -- このディレクティブは、フロントエンド・アカウントに2FAを使用するかどうかを決定します。 - -##### "host" (ホスト) -- *v1: "Host"* -- 送信Eメールに使用するSMTPホスト。 - -##### "port" (ポート) -- *v1: "Port"* -- 送信Eメールに使用するポート番号。​Default/デフォルルト = 587。 - -##### "smtp_secure" (SMTPセキュア) -- *v1: "SMTPSecure"* -- SMTP経由で電子Eメールを送信するときに使用するプロトコル(TLSまたはSSL)。 - -##### "smtp_auth" (SMTPオス) -- *v1: "SMTPAuth"* -- このディレクティブは、SMTPセッションを認証するかどうかを決定します(通常はそれをそのまま残すべきです)。 - -##### "username" (ユーザーネーム) -- *v1: "Username"* -- SMTP経由で電子Eメールを送信するときに使用するユーザー名。 - -##### "password" (パスワード) -- *v1: "Password"* -- SMTP経由で電子Eメールを送信するときに使用するパスワード。 - -##### "set_from_address" (セット・フロム・アドレス) -- *v1: "setFromAddress"* -- SMTP経由で電子Eメールを送信するときに引用する送信者アドレス。 - -##### "set_from_name" (セット・フロム・ネーム) -- *v1: "setFromName"* -- SMTP経由で電子Eメールを送信するときに引用する送信者名。 - -##### "add_reply_to_address" (アッド・リプライ・アドレス) -- *v1: "addReplyToAddress"* -- SMTP経由で電子Eメールを送信するときに引用する返信アドレス。 - -##### "add_reply_to_name" (アッド・リプライ・ネーム) -- *v1: "addReplyToName"* -- SMTP経由で電子Eメールを送信するときに引用する返信名。 - -#### "supplementary_cache_options" (サプレメンタリー・キャッシュ・オプションズ、カテゴリ) -補足キャッシュ・オプション。 - -##### "prefix" (プリフィクス) -- ここで指定された値は、すべてのキャッシュ・エントリ・キーの前に追加されます。​デフォルトでは空です。​同じサーバーに複数のインストールが存在する場合、これはキャッシュを互いに分離しておくのに役立ちます。 - -##### "enable_apcu" (イネーブル・APCu) -- キャッシュに「APCu」を使用するかどうかを指定します。 Default/デフォルルト = False。 - -##### "enable_memcached" (イネーブル・メムキャッシュト) -- キャッシュに「Memcached」を使用するかどうかを指定します。 Default/デフォルルト = False。 - -##### "enable_redis" (イネーブル・レディス) -- キャッシュに「Redis」を使用するかどうかを指定します。 Default/デフォルルト = False。 - -##### "enable_pdo" (イネーブル・PDO) -- キャッシュに「PDO」を使用するかどうかを指定します。 Default/デフォルルト = False。 - -##### "memcached_host" (メムキャッシュ・ホスト) -- Memcachedのホスト値。 Default/デフォルルト = 「localhost」。 - -##### "memcached_port" (メムキャッシュ・ポート) -- Memcachedのポート値。 Default/デフォルルト = 「11211」。 - -##### "redis_host" (レディス・ホスト) -- Redisのホスト値。 Default/デフォルルト = 「localhost」。 - -##### "redis_port" (レディス・ポート) -- Redisのポート値。 Default/デフォルルト = 「6379」。 - -##### "redis_timeout" (レディス・タイムアウト) -- Redisのタイムアウト値。 Default/デフォルルト = 「2.5」。 - -##### "pdo_dsn" -- PDOのDSN値。 Default/デフォルルト = 「`mysql:dbname=phpmussel;host=localhost;port=3306`」。 - -*参照する:​[「PDO DSN」とは何ですか?​phpMusselでPDOを使用するにはどうすればよいですか?](#HOW_TO_USE_PDO)* - -##### "pdo_username" (PDO・ユーザーネーム) -- PDOのユーザー名。 - -##### "pdo_password" (PDO・パスワード) -- PDOのパスワード。 - ---- - - -### 8.シグネチャ(署名)フォーマット - -*参照:* -- *[「シグネチャ」とは何ですか?](#WHAT_IS_A_SIGNATURE)* - -phpMusselシグネチャ・ファイルの最初の9バイト(`[x0-x8]`)は`phpMussel`であり、​「マジック・ナンバー」(magic number)として機能します(それらをシグネチャ・ファイルとして識別するために)。​シグネチャ・ファイルではないファイルを誤って使用するのを防ぐのに役立ちます。​次のバイト(`[x9]`)は、シグネチャ・ファイルのタイプを識別する。​シグネチャ・ファイルを正しく解釈できるようにするためにこれを知っておく必要があります。​次のタイプのシグネチャ・ファイルが認識されます。 - -タイプ | バイト | 説明 ----|---|--- -`General_Command_Detections` | `0?` | CSV(カンマ区切りの値)のシグネチャ・ファイル。​シグネチャは16進数でエンコードされた文字列です。​ここの​シグネチャには、名前やその他の詳細はありません(検出する文字列のみ)。 -`Filename` | `1?` | ファイル名の​シグネチャ。 -`Hash` | `2?` | ハッシュ・シグネチャ。 -`Standard` | `3?` | ファイルコンテンツで直接動作する​シグネチャ・ファイル。 -`Standard_RegEx` | `4?` | ファイルコンテンツで直接動作する​シグネチャ・ファイル。​シグネチャには正規表現を含めることができます。 -`Normalised` | `5?` | ANSI標準化されたファイルコンテンツで動作するシグネチャ・ファイル。 -`Normalised_RegEx` | `6?` | ANSI標準化されたファイルコンテンツで動作するシグネチャ・ファイル。​シグネチャには正規表現を含めることができます。 -`HTML` | `7?` | HTML標準化されたファイルコンテンツで動作するシグネチャ・ファイル。 -`HTML_RegEx` | `8?` | HTML標準化されたファイルコンテンツで動作するシグネチャ・ファイル。​シグネチャには正規表現を含めることができます。 -`PE_Extended` | `9?` | PEメタデータで動作するシグネチャ・ファイル(PEのセクション・メタデータでは使用できません)。 -`PE_Sectional` | `A?` | PEセクション・メタデータで動作するシグネチャ・ファイル。 -`Complex_Extended` | `B?` | phpMusselによって生成された拡張メタデータに基づいてさまざまなルールで動作するシグネチャ・ファイル。 -`URL_Scanner` | `C?` | URLで動作するシグネチャ・ファイル。 - -次のバイト(`[x10]`)は改行(`[0A]`)であり、phpMusselのシグネチャ・ファイルのヘッダを終えます。 - -その後の各空でない行は、​シグネチャまたは規則です。​各シグネチャまたは規則は1行を占有します。​サポートされているシグネチャ形式は以下のとおりです。 - -#### *ファイル名シグネチャ* -ファイル名シグネチャのフォーマットは例外なく次のようになります。 - -`NAME:FNRX` - -NAMEはそのシグネチャを指す名前でFNRXはファイル名(エンコードされていない)にマッチする正規表現パターンです。 - -#### *ハッシュ・シグネチャ* -ハッシュ・シグネチャのフォーマットは例外なく次のようになります。 - -`HASH:FILESIZE:NAME` - -HASHはファイル全体のハッシュ(通常はMD5)、​FILESIZEはファイルの全サイズ、​NAMEはそのシグネチャを指す名前です。 - -#### *PEセクショナルシグネチャ* -PEセクショナルシグネチャのフォーマットは例外なく次のようになります。 - -`SIZE:HASH:NAME` - -HASHはPEファイルのある部分のMD5ハッシュ、​SIZEはその部分の全サイズ、​NAMEはシグネチャを指す名前です。 - -#### *PE拡張シグネチャ* -PE拡張シグネチャのフォーマットは例外なく次のようになります。 - -`$VAR:HASH:SIZE:NAME` - -$VARはマッチするPE変数の名前、​HASHはその変数のMD5ハッシュ、​サイズは変数の全サイズ、​NAMEはそのシグネチャを指す名前です。 - -#### *複合拡張シグネチャ* -複合拡張シグネチャは他のシグネチャとは少し違い、​何に適合するかはそれ自身のシグネチャによって決まり、​基準は一つではありません。​適合基準は「;」により、​適合タイプ、​適合データは「:」によります。​したがってフォーマットは、​$変数1:何らかのデータ;$変数2:SOMEDATA;何らかのデータのようになります。 - -`$variable1:SOMEDATA;$variable2:SOMEDATA;SignatureName` - -#### *その他* -その他のシグネチャのフォーマットです。 - -`NAME:HEX:FROM:TO` - -NAMEはそのシグネチャを指す名前、​HEXは与えられたシグネチャにより適合を見るファイルの16進法にエンコードされたセグメントです。 FROMとTOはオプション・パラメータで、​データソースのどこからどこまでチェックするかを示します(メール機能ではサポートしていません)。 - -#### *正規表現* -PHPが正規表現と判断し処理するフォーマットであれば、​phpMusselとシグネチャによって間違いなく処理されます。​しかし念のため、​シグネチャを基礎とする正規表現を新規に作成する場合は細心の注意を払って下さい。​絶対的な自信がない状況では、​思いもしないエラーが発生しかねません。​正規表現ステートメントが解析されているコンテキストを完全に理解していないならば、​phpMusselのコードを見て下さい。​パターンは全て(ファイル名、​アーカイブ・メタデータ、​MD5パターンを除く)16進法でエンコードされなければならない点に注意(上記のパターン構文も)です! - ---- - - -### 9.適合性問題 - -#### PHPとPCRE -- phpMusselが正しく動作するためにはPHPとPCREが必要です。​どちらか一方でも欠けると正常に機能しません。​システムにPHPとPCREの両方がインストールされていることをphpMusselダウンロード前に確認して下さい。 - -#### アンチウィルスソフトウェアとの互換性 - -phpMusselと一部のアンチウイルス・ベンダー間の互換性の問題は、過去に時々発生することが知られています。​そこで、およそ数ヶ月ごとに、phpMusselコードベースの最新バージョンをVirus Totalでチェックし、問題が報告されているかどうかを確認します。​問題が報告された場合、私は、報告された問題をドキュメントにリストします。 - -最近チェックしたとき(2022年5月12日)、問題は報告されませんでした。 - -私は、シグネチャ・ファイル、ドキュメンテーション、またはその他の周辺コンテンツをチェックしません。​シグネチャ・ファイルは、他のアンチウイルス・ソリューションが検出すると、常にいくつかの誤検知を引き起こします。​したがって、別のアンチウイルス・ソリューションが既に存在するマシンにphpMusselをインストールする場合は、phpMusselシグネチャ・ファイルをホワイトリストに登録することを強くお勧めします。 - ---- - - -### 10.よくある質問(FAQ) - -- [「シグネチャ」とは何ですか?](#WHAT_IS_A_SIGNATURE) -- [「偽陽性」とは何ですか?](#WHAT_IS_A_FALSE_POSITIVE) -- [シグネチャはどれくらいの頻度でアップデイトされますか?](#SIGNATURE_UPDATE_FREQUENCY) -- [phpMusselを使用しているときに問題が発生しましたが、​何をすべきかわかりません!​助けてください!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [5.4.0より古いPHPバージョンでphpMussel(v2より前)を使用したいと思います;​手伝ってくれますか?](#MINIMUM_PHP_VERSION) -- [7.2.0より古いPHPバージョンでphpMussel(v2の場合)を使用したいと思います;​手伝ってくれますか?](#MINIMUM_PHP_VERSION_V2) -- [複数のドメインを保護するために1つのphpMusselインストールを使用できますか?](#PROTECT_MULTIPLE_DOMAINS) -- [私はこれをインストールするか、​それが私のウェブサイト上で動作することを保証する時間を費やす、​にしたくない;​それできますか?​私はあなたを雇うことができますか?](#PAY_YOU_TO_DO_IT) -- [あなたまたはこのプロジェクトの任意の開発者は雇用可能ですか?](#HIRE_FOR_PRIVATE_WORK) -- [私は専門家の変更、​カスタム化、​等が必要です;​手伝ってくれますか?](#SPECIALIST_MODIFICATIONS) -- [私は開発者、​ウェブサイトデザイナー、​またはプログラマーです。​このプロジェクトに関連する作業を行うことはできますか?](#ACCEPT_OR_OFFER_WORK) -- [私はプロジェクトに貢献したい;​これはできますか?](#WANT_TO_CONTRIBUTE) -- [ファイルのスキャン時に特定の詳細情報にアクセスするにはどうすればよいですか?](#SCAN_DEBUGGING) -- [Cronを使って自動的にアップデートできますか?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [phpMusselは、ANSI以外の名前のファイルをスキャンできますか?](#SCAN_NON_ANSI) -- [ブラックリスト – ホワイトリスト – グレーリスト – 彼らは何ですか?私はどのように使用しますか?](#BLACK_WHITE_GREY) -- [アップデート・ページでシグネチャ・ファイルを有効または無効にすると、コンフィギュレーションに英数字でソートされます。​彼らのソート方法を変更することはできますか?](#CHANGE_COMPONENT_SORT_ORDER) -- [「PDO DSN」とは何ですか?​phpMusselでPDOを使用するにはどうすればよいですか?](#HOW_TO_USE_PDO) -- [私のアップロード機能性は非同期です(例えば、ajax、ajaj、json、などを使用します)。​アップロードがブロックされたときに特別なメッセージや警告が表示されません。​何が起こっていますか?](#AJAX_AJAJ_JSON) -- [phpMusselはEICARを検出できますか?](#DETECT_EICAR) - -#### 「シグネチャ」とは何ですか? - -phpMusselのコンテキストでは、​「シグネチャ」とは、​私たちが探しているものを特定するデータを指します(ウイルス、​トロイの木馬など)。​このデータは、​通常、​ファイルのチェックサム、​ハッシュ、​または他の同様に識別するインジケータです。​通常、​ラベルや追加のコンテキストを提供するためのその他のデータが含まれています。 - -#### 「偽陽性」とは何ですか? - -一般化された文脈で簡単に説明、​条件の状態をテストするときに、​結果を参照する目的で、​用語「偽陽性」(*または:偽陽性のエラー、​虚報;* 英語:​*false positive*; *false positive error*; *false alarm*)の意味は、​結果は「陽性」のようです、​しかし結果は間違いです(即ち、​真の条件は「陽性/真」とみなされます、​しかしそれは本当に「陰性/偽」です)。​「偽陽性」は「泣く狼」に類似していると考えることができます(その状態は群の近くに狼がいるかどうかである、​真の条件は「偽/陰性」です、​群れの近くに狼がないからです、​しかし条件は「真/陽性」として報告されます、​羊飼いが「狼!​狼!​」を叫んだからです)、​または、​医療検査に類似、​患者が誤って診断されたとき。 - -いくつかの関連する用語は、​「真陽性」、​「真陰性」、​と「偽陰性」です。​これらの用語が示す意味:​「真陽性」の意味は、​テスト結果と真の条件が真です(即ち、​「陽性」です)。​「真陰性」の意味は、​テスト結果と真の条件が偽です(即ち、​「陰性」です)。​「真陽性」と「真陰性」は「正しい推論」とみなされます。​「偽陽性」の反対は「偽陰性」です。​「偽陰性」の意味は、​テスト結果が偽です(即ち、​「陰性」です)、​しかし、​真の条件が本当に真です(即ち、​「陽性」です);​両方テスト結果と真の条件、​が「真/陽性」すべきであるはずです。 - -phpMusselの文脈で、​これらの用語は、​phpMusselのシグネチャとそれらがブロックするファイルを指します。​phpMusselが誤ってファイルをブロックすると(例えば、​不正確なシグネチャ、​時代遅れのシグネチャなどによる)、​我々はこのイベント「偽陽性」のを呼び出します。​phpMusselがファイルをブロックできなかった場合(例えば、​予期せぬ脅威、​シグネチャの欠落などによる)、​我々はこのイベント「不在検出」のを呼び出します(「偽陰性」のアナログです)。 - -これは、​以下の表に要約することができます。 - -  | phpMusselは、​ファイルをブロック必要がありません | phpMusselは、​ファイルをブロック必要があります ----|---|--- -phpMusselは、​ファイルをブロックしません | 真陰性(正しい推論) | 不在検出(それは「偽陰性」と同じです) -phpMusselは、​ファイルをブロックします | __偽陽性__ | 真陽性(正しい推論) - -#### シグネチャはどれくらいの頻度でアップデイトされますか? - -アップデイト頻度は、​シグネチャ・ファイルによって異なります。​phpMusselのシグネチャ・ファイルのすべてのメンテナーが頻繁にアップデイトを試みる、​しかし、​私たちの皆様には、​他にもさまざまなコミットメントがあり、​私たちはプロジェクトの外で生活しており、​と誰も財政的に補償されていない、​したがって、​正確なアップデイトスケジュールは保証されません。​一般に、​十分な時間があればシグネチャがアップデイトされます。​あなたが何かを提供できるのであれば、​援助は常に高く評価されます。 - -#### phpMusselを使用しているときに問題が発生しましたが、​何をすべきかわかりません!​助けてください! - -- あなたは最新のソフトウェアバージョンを使用していますか?​あなたは最新のシグネチャ・ファイルバージョンを使用していますか?​そうでない場合は、​まずすべてをアップデイトしてください。​問題が解決しないかどうかをチェックしてください。​それが続く場合は、​読んでください。 -- あなたはドキュメンテーションをチェックしましたか?​もしそうでなければ、​そうしてください。​ドキュメンテーションを使用して問題を解決できない場合は、​引き続き読んでください。 -- **[イシュー・ページ](https://github.com/phpMussel/phpMussel/issues)** をチェックしましたか?​問題が以前に言及されているかどうかをチェックしてください。​提案、​アイデア、​ソリューションが提供されたかどうかをチェックしてください。 -- 問題が解決しない場合は、​教えてください。​イシュー・ページに関する新しいディスカッションを作成する。 - -#### 5.4.0より古いPHPバージョンでphpMussel(v2より前)を使用したいと思います;​手伝ってくれますか? - -いいえ。 PHP >= 5.4.0 は phpMussel < v2 の最小要件です。 - -#### 7.2.0より古いPHPバージョンでphpMussel(v2の場合)を使用したいと思います;​手伝ってくれますか? - -いいえ。 PHP >= 7.2.0 は phpMussel v2 の最小要件です。 - -*参照:​[互換性チャート](https://maikuolan.github.io/Compatibility-Charts/)。* - -#### 複数のドメインを保護するために1つのphpMusselインストールを使用できますか? - -はい。​phpMusselのインストールは特定のドメインに限定されていません、​したがって、​複数のドメインを保護するために使用できます。​一般的に、​1つのドメインのみを保護するインストール、​私たちは「単一ドメイン・インストール」と呼んでいますで、​複数のドメイン/サブドメインを保護するインストール、​私たちは「マルチドメイン・インストール」と呼んでいます。​マルチドメインインストールを使用している場合で、​異なるドメインに異なるシグネチャ・ファイルセットを使用する必要がある場合や、​異なるドメインにphpMusselを異なる設定する必要があります、​これを行うことができます。​コンフィギュレーション・ファイルをロードした後(`config.ini`)、​phpMusselは、​要求されたドメインの「コンフィギュレーション・オーバーライド・ファイル」の存在をチェックします (`xn--48jua8kwd4hof5er493ch97b.tld.config.ini`)、​そして見つかった場合、​コンフィギュレーション・オーバーライド・ファイルによって定義されたコンフィギュレーション値は、​コンフィギュレーション・ファイルによって定義されたコンフィギュレーション値ではなく、​実行インスタンスに使用されます。​コンフィギュレーション・オーバーライド・ファイルは、​コンフィギュレーション・ファイルと同じです。​お客様の裁量で、​phpMusselで利用可能なすべての設定指示句の全体または必要なサブセクションを含めることができます。​コンフィギュレーション・オーバーライド・ファイルは彼らが意図しているドメインに従って命名されます (そう、​例えば、​ドメイン`https://www.some-domain.tld/`にコンフィギュレーション・オーバーライド・ファイルが必要な場合は、​コンフィギュレーション・オーバーライド・ファイルの名前は`some-domain.tld.config.ini`にする必要があります。​通常の設定ファイルと同じ場所に保存する必要があります)。​ドメイン名は `HTTP_HOST` から来ます。​"www"は無視されます。 - -#### 私はこれをインストールするか、​それが私のウェブサイト上で動作することを保証する時間を費やす、​にしたくない;​それできますか?​私はあなたを雇うことができますか? - -多分。​これは、​ケースバイケースで検討されています。​あなたのニーズと提供できるものを教えてください。​私たちが助けることができるかどうかを教えてあげます。 - -#### あなたまたはこのプロジェクトの任意の開発者は雇用可能ですか? - -*上記を参照。​* - -#### 私は専門家の変更、​カスタム化、​等が必要です;​手伝ってくれますか? - -*上記を参照。​* - -#### 私は開発者、​ウェブサイトデザイナー、​またはプログラマーです。​このプロジェクトに関連する作業を行うことはできますか? - -はい。​私たちのライセンスはこれを禁止していません。 - -#### 私はプロジェクトに貢献したい;​これはできますか? - -はい。​プロジェクトへの貢献は大歓迎です。​詳細については、​「CONTRIBUTING.md」を参照してください。 - -#### ファイルのスキャン時に特定の詳細情報にアクセスするにはどうすればよいですか? - -これは、​phpMusselにそれらをスキャンするように指示する前に、​この目的のために使用する配列を割り当てることによって行うことができます。 - -以下の例では、​この目的のために`$Foo`が割り当てられています。​`/ファイル/パス/...`をスキャンした後、​`/ファイル/パス/...`のファイルに関する情報は`$Foo`にあります。 - -```PHP -Cronを使って自動的にアップデートできますか? - -はい。​外部スクリプトを介してアップデート・ページと対話するためのAPIがフロントエンドに組み込まれています。​別のスクリプト、「[Cronable](https://github.com/Maikuolan/Cronable)」、が利用可能です。​これは「cron manager (クロン・マネージャー)」や「cron scheduler (クロン・スケジューラ)」がこれと他のサポートされているパッケージを自動的に更新するために使うことができます(このスクリプトは独自のドキュメントを提供しています)。 - -#### phpMusselは、ANSI以外の名前のファイルをスキャンできますか? - -スキャンするディレクトリがあるとします。​このディレクトリには、ANSI以外の名前のファイルがいくつかあります。 -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -CLIモードまたはphpMussel APIを使用してスキャンしているとします。 - -一部のシステムで PHP < 7.1.0 を使用する場合、phpMusselはディレクトリをスキャンするときにこれらのファイルを表示またはスキャンすることができません。​空のディレクトリをスキャンすると、同じ結果が表示されます。 - -``` - Sun, 01 Apr 2018 22:27:41 +0800 開始。 - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -さらに、 PHP < 7.1.0 を使用する場合、ファイルを個別にスキャンすると次のような結果が得られます。 - -``` - Sun, 01 Apr 2018 22:27:41 +0800 開始。 - > チェック中 'X:/directory/Пример.txt' (FN: b831eb8f): - -> 不正ファイル! - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -または、これら: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 開始。 - > X:/directory/??????.txtはファイルでもディレクトリでもありません。 - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -これは、ANSI以外のファイル名が PHP 7.1.0 より前にどのように処理されるかが原因です。​この問題が発生した場合、解決策はPHPのインストールを更新することです。​PHP >= 7.1.0 の場合、非ANSIファイル名はよりよく処理され、phpMusselはファイルを適切にスキャンできるはずです。 - -比較のため、PHP >= 7.1.0 を使用してディレクトリをスキャンしようとしたときの結果: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 開始。 - -> チェック中 '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> 問題は検出されませんでした。 - -> チェック中 '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> 問題は検出されませんでした。 - -> チェック中 '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> 問題は検出されませんでした。 - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -ファイルを個別にスキャンしようとすると、次のようになります: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 開始。 - > チェック中 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> 問題は検出されませんでした。 - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -#### ブラックリスト – ホワイトリスト – グレーリスト – 彼らは何ですか?私はどのように使用しますか? - -これらの用語は、異なる文脈で異なる意味を伝える。​phpMusselには、これらの用語が使用される3つのコンテキストが(ファイルサイズの応答、ファイルタイプの応答、シグネチャ・グレーリスト)あります。 - -処理コストを最小限に抑えて希望の結果を得るために、phpMusselがファイルを実際にスキャンする前に確認できる簡単な方法がいくつかあります(例えば;ファイルのサイズ、名前、および拡張子)。​例えば;ファイルが大きすぎる場合、またはその拡張子が私たちのウェブサイトに許可したくないファイルの種類を示している場合、すぐにファイルにフラグを立てることができますし、スキャンする必要はありません。 - -ファイルサイズの応答は、ファイルが指定された制限を超えたときにphpMusselが応答する方法です。​実際のリストは含まれていませんが、ファイルはそのサイズに基づいて、効果的にブラックリストに載っている、ホワイトリストに載っている、またはグレイリストに載ってと考えられます。​制限と望ましい応答をそれぞれ指定するために、2つの異なる設定オプションが存在します。 - -ファイルタイプの応答は、phpMusselがファイルの拡張子に応答する方法です。​どの拡張がブラックリスト、ホワイトリスト、またはグリットリストにあるべきかを明示的に指定するための3つの異なる設定オプションが存在します。​拡張子が指定された拡張子のいずれかにそれぞれ一致する場合、ファイルは有効にリストされていると見なされることがあります。 - -この2つのコンテキストがでは、ホワイトリストに載っているはスキャンまたはフラグ付けすべきではないことを意味します、ブラックリストに載っているはフラグ付けすべきですことを意味します(したがって、それをスキャンするすべきではない)そして、グレーリストに載っているは、フラグを立てる必要があるかどうかを判断するには、さらに分析が必要ですことを意味します(したがって、スキャンする必要があります)。 - -シグネチャ・グレーリストは本質的に無視すべきシグネチャのリストです(これについては、前述のドキュメントで簡単に説明しています)。​シグネチャはグレーリスト上のシグネチャがトリガーされると、phpMusselは私は仕事を続け、グレーリスト上のシグネチャに関して特別な処置をとりません。​暗黙の動作はトリガされたシグネチャの通常の動作であるため、シグネチャ・ブラックリストはありません。​この文脈では必要ではないので、シグネチャ・ホワイトリストはありません。 - -シグネチャ・ファイル全体をディセーブルまたはアンインストールせずに特定のシグネチャによって発生した問題を解決する必要がある場合は、シグネチャ・グレーリストが役立ちます。 - -#### アップデート・ページでシグネチャ・ファイルを有効または無効にすると、コンフィギュレーションに英数字でソートされます。​彼らのソート方法を変更することはできますか? - -はい。​特定の順序で実行するファイルが必要な場合は、コンフィギュレーション・ディレクティブの名前の前に任意のデータを追加できます(このデータと名前を区切るためにコロンを使用します)。​その後、アップデート・ページでファイルを再度並べ替えると、この追加された任意のデータがソート順に影響します。​これにより、それらの名前を変更せずに、必要な順序で実行されます。 - -例えば、次のようにファイルをコンフィギュレーション・ディレクティブがあるとします: - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -`file3.php`を最初に実行したければ、ファイル名の前に`aaa:`のようなものを追加することができます: - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -次に、新しいファイル`file6.php`が有効になっている場合、アップデート・ページがそれらをすべて並べ替えると、次のようになります: - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -ファイルが非アクティブになったときと同じ状況です。​逆に、ファイルを最後に実行したい場合は、ファイルの名前の前に`zzz:`のようなものを追加することができます。​いずれの場合でも、問題のファイルの名前を変更する必要はありません。 - -#### 「PDO DSN」とは何ですか?​phpMusselでPDOを使用するにはどうすればよいですか? - -「PDO」は「[PHP Data Objects](https://www.php.net/manual/ja/intro.pdo.php)」の頭字語です。​さまざまなPHPアプリケーションで一般的に使用されるデータベース・システムに接続できるように、PHPのインターフェイスを提供します。 - -「DSN」は「[data source name](https://en.wikipedia.org/wiki/Data_source_name)」(データ・ソース名)の頭字語です。​「PDO DSN」は、PDOがデータベースに接続する方法を説明しています。 - -phpMusselは、キャッシュにPDOを利用するオプションを提供します。​これが適切に機能するためには、それに応じてphpMusselのコンフィギュレーションを設定する必要があります(したがって、PDOを有効にします)、次にphpMusselが使用する新しいデータベースを作成します(phpMusselが使用するデータベースをまだ考慮していない場合)、次に、以下に説明する構造に従って、データベースに新しいテーブルを作成します。 - -データベース接続は成功したが、必要なテーブルが存在しない場合、それは自動的に作成しようとします。​ただし、この動作は十分にテストされていないため、成功を保証することはできません。 - -もちろん、これは、phpMusselで実際にPDOを使用する場合にのみ適用されます。​フラット・ファイル・キャッシュ(デフォルトのコンフィギュレーションに従って)、または提供されているその他のさまざまなキャッシュオプションを使用することに満足している場合は、データベース、テーブルなどの設定に悩む必要はありません。 - -以下で説明する構造では、データベース名として「phpmussel」を使用していますが、DSN構成で同じ名前が複製される限り、データベースに任意の名前を使用できます。 - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -phpMusselの「`pdo_dsn`」コンフィギュレーション・ディレクティブは、次のように設定する必要があります。 - -``` -使用するデータベース・ドライバーに応じて... -├─4d (警告:実験的、未テスト、非推奨!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └データベースを見つけるために接続するホスト。 -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └データベース使用する名前。 -│ │ │ -│ │ └ホストに接続するポート番号。 -│ │ -│ └データベースを見つけるために接続するホスト。 -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └データベース使用する名前。 -│ │ │ -│ │ └データベースを見つけるために接続するホスト。 -│ │ -│ └可能な値:「mssql」、「sybase」、「dblib」。 -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├ローカル・データベース・ファイルへのパスにすることができます。 -│ │ -│ ├ホストとポート番号で接続できます。 -│ │ -│ └これを使用する場合は、Firebirdのドキュメントを参照してください。 -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └接続するカタログ化されたデータベース。 -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └接続するカタログ化されたデータベース。 -├─mysql (最も推奨されます!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └ホストに接続するポート番号。 -│ │ │ -│ │ └データベースを見つけるために接続するホスト。 -│ │ -│ └データベース使用する名前。 -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├特定のカタログ化されたデータベースを参照できます。 -│ │ -│ ├ホストとポート番号で接続できます。 -│ │ -│ └これを使用する場合は、Oracleのドキュメントを参照してください。 -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├特定のカタログ化されたデータベースを参照できます。 -│ │ -│ ├ホストとポート番号で接続できます。 -│ │ -│ └これを使用する場合は、ODBC/DB2のドキュメントを参照してください。 -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └データベース使用する名前。 -│ │ │ -│ │ └ホストに接続するポート番号。 -│ │ -│ └データベースを見つけるために接続するホスト。 -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └使用するローカル・データベース・ファイルへのパス。 -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └データベース使用する名前。 - │ │ - │ └ホストに接続するポート番号。 - │ - └データベースを見つけるために接続するホスト。 -``` - -DSNの特定の部分に何を使用するかわからない場合は、何も変更せずに、DSNがそのまま機能するかどうかを最初に確認してください。 - -「`pdo_username`」と「`pdo_password`」は、データベース用に選択したユーザー名とパスワードと同じでなければならないことに注意してください。 - -#### 私のアップロード機能性は非同期です(例えば、ajax、ajaj、json、などを使用します)。​アップロードがブロックされたときに特別なメッセージや警告が表示されません。​何が起こっていますか? - -これは正常です。​phpMusselの標準の「アップロード拒否」ページはHTMLとして提供されます。​通常の同期リクエストには十分なはずですが、アップロード機能が他の何かを期待している場合はおそらく十分ではありません。​アップロード機能が非同期である場合、またはアップロード・ステータスが非同期で提供されることが予想される場合、phpMusselがアップロード機能のニーズに応えるためにできることはいくつかあります。 - -1.HTML以外のものを提供するカスタム出力テンプレートを作成します。 -2.カスタム・プラグインを作成して、標準の「アップロード拒否」ページを完全にバイパスし、アップロードがブロックされたときにアップロード・ハンドラーに別の処理を行わせます(この目的のためにアップローダー・ハンドラーによって提供されるいくつかのプラグイン・フックがあります)。 -3.アップロード・ハンドラーを完全に無効にし、代わりにアップロード機能内からphpMussel APIを呼び出すだけです。 - -#### phpMusselはEICARを検出できますか? - -はい。​EICARを検出するためのシグネチャは、「phpMussel標準正規表現シグネチャ・ファイル」(`phpmussel_regex.db`)に含まれています。​そのシグネチャ・ファイルがインストールされてアクティブ化されている限り、phpMusselはEICARを検出できるはずです。​ClamAVデータベースには、特にEICARを検出するための多数のシグネチャも含まれているため、ClamAVはEICARを簡単に検出できます。​しかし、phpMusselはClamAVによって提供されるシグネチャ全体の一部のみを使用するため、phpMusselがEICARを検出するのに十分ではない可能性があります。​それを検出する機能は、実際のコンフィグレーションによっても異なる場合があります。 - ---- - - -### 11.法律情報 - -#### 11.0 セクション・プリアンブル - -ドキュメンテーションのこのセクションは、パッケージの使用と実装に関する法律上の考慮事項を説明し、基本的な関連情報を提供することを目的としています。​これは、操作している国に存在する可能性のある法的要件の遵守を確実にする手段として、一部のユーザーにとって重要な場合があります。​一部のユーザーは、この情報に従ってウェブサイトポリシーを調整する必要があります。 - -まず、私(パッケージ作成者)は弁護士ではない、有資格の法律専門家でもないことを認識してください。​したがって、私は法律上のアドバイスを提供する法的資格はありません。​また、場合によっては、正確な法的要件は、国や地域によって異なる場合があります。​また、これらが競合することがあります​(例えば:[プライバシーの権利](https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%A9%E3%82%A4%E3%83%90%E3%82%B7%E3%83%BC)を享受する国と[忘れられる権利](https://ja.wikipedia.org/wiki/%E5%BF%98%E3%82%8C%E3%82%89%E3%82%8C%E3%82%8B%E6%A8%A9%E5%88%A9)の場合には、拡張されたデータ保持を望む国と比較して)。​また、パッケージへのアクセスが特定の国や管轄区域に限定されているわけではないので、パッケージのユーザーベースは地理的に多様である可能性が高いと考えてください。​これらの点を考慮して、私はすべての点で、すべてのユーザーにとって「法的に準拠する」であることが何を意味するかを述べる立場にはいません。​ただし、ここに記載されている情報が、パッケージの文脈で法的に遵守するために必要な作業を自分で決定するのに役立つことを願っています。​疑義が存続する場合、または法的な観点から追加の助けと助言が必要な場合は、有資格の法律専門家に相談することをおすすめします。 - -#### 11.1 責任 - -パッケージ・ライセンスに記載されている通り、パッケージは無保証で提供されます。​これには、すべての責任範囲が含まれます(ただしこれに限定されません)。​あなたの便宜のためにパッケージが提供されています。​それが有用であり、それがあなたのためにいくつかの利益をもたらすことが期待されます。​しかし、あなたがパッケージを使用するか実装するかは、あなた自身の選択です。​あなたはパッケージを使用するよう強制されません。​しかし、あなたが決めるところでは、あなたはその決定に責任があります。​あなたの意思決定の結果について、私と他のパッケージ寄稿者は、直接的、間接的、暗示的、またはその他の方法にかかわらず、責任を負いません。 - -#### 11.2 第三者 - -その正確なコンフィギュレーションと実装に応じて、パッケージは場合によっては第三者と通信し、情報を共有することがあります。​この情報は、いくつかの国において、状況によっては、「[個人識別情報](https://ja.wikipedia.org/wiki/%E5%80%8B%E4%BA%BA%E6%83%85%E5%A0%B1)」(PII)と定義することができます。 - -これらの第三者がこの情報をどのように使用するかは、これらの第三者によって定められたさまざまなポリシーの対象となります。​このドキュメントの範囲外です。​ただし、このような場合は、これらの第三者との情報の共有を無効にすることができます。​そのような場合は、有効にすることを選択した場合、これらの第三者によるPIIのプライバシー、セキュリティ、および使用に関する懸念事項を調査することは、おあなたの責任です。​ご不明な点がある場合、またはPIIに関してこれらの第三者の行為に不満がある場合は、これらの第三者との情報の共有をすべて無効にすることが最善の方法です。 - -透明性のために、共有される情報のタイプと、誰と、以下に記載されています。 - -##### 11.2.0 ウェブフォンツ - -phpMusselのフロントエンドと「アップロード拒否」ページの標準「UI」(ユーザー・インターフェイス)と同様に、一部のカスタム・テーマでは、美的な理由から「webfonts」(ウェブフォンツ)が使用されることがあります。​「Webfonts」(ウェブフォンツ)はデフォルトで無効になっていますが、有効にすると、ユーザーのブラウザと「webfont service」(ウェブフォント・サービス)間の直接通信が行われます。​これは、ユーザーのIPアドレス、ユーザー・エージェント、オペレーティング・システム、および要求に利用可能な他の詳細などの情報を伝達することを潜在的に含むことがある。​これらのウェブフォンツのほとんどは「[Google Fonts](https://fonts.google.com/)」サービスによってホストされています。 - -*関連するコンフィギュレーション・ディレクティブ:* -- `general` -> `disable_webfonts` - -##### 11.2.1 URLスキャナ - -ファイルのアップロード内に見つかったURLは、パッケージ・コンフィギュレーションに応じて、Googleセーフ・ブラウジングAPIと共有できます。​Googleセーフ・ブラウジングAPIは、正常に動作するためにはAPIキーが必要です。​したがって、デフォルトでは無効になっています。 - -*関連するコンフィギュレーション・ディレクティブ:* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL (ウイルス・トータル) - -phpMusselがファイルのアップロードをスキャンすると、そのように設定されていると、ファイルハッシュがVirus Total APIと共有される可能性があります。​将来、ある時点でファイル全体を共有できる計画がありますが、これはまだサポートされていません。​この機能を使用するには、APIキーが必要です。 - -Virus Totalと共有される情報(ファイルおよび関連するファイルのメタデータを含む)は、研究目的で、パートナー、関連会社、その他さまざまな人々と共有することもできます。​これについては、プライバシー・ポリシーで詳しく説明しています。 - -*見る: [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy)。* - -*関連するコンフィギュレーション・ディレクティブ:* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 ロギング - -ロギングは、多くの理由からphpMusselの重要な部分です。​ロギングせずに、偽陽性が発生した場合、それを診断して解決することは困難です。​ロギングせずに、phpMusselがいかに効果的に実行されているかを確かめること、その潜在的な問題を確認すること機能させるために必要なコンフィギュレーションやシグネチャの変更を決定するのが難しいことがあります。​いずれにせよ、ロギングは一部のユーザーには望ましくなく、完全にオプションです。​phpMusselでは、デフォルトでロギングは無効になっています。​これを有効にするには、それに応じてphpMusselを設定する必要があります。 - -ロギングが法的に許可されているかどうか、および法的に許容される範囲で​(例えば、ログに記録される可能性があるタイプの情報、期間、および状況)、​管轄区域およびphpMusselが実施されている状況に応じて変わる可能性がある​(例えば、あなたが個人として、企業として、商業的または非商業的に動作しているかどうか)。​したがって、このセクションを注意深く読んで役に立つかもしれない。 - -phpMusselが実行できる複数のタイプのロギングがあります。​異なるタイプのロギングには、さまざまな理由で異なるタイプの情報が含まれます。 - -##### 11.3.0 スキャン・ログ - -パッケージ・コンフィギュレーションで有効にすると、phpMusselはスキャンするファイルのログを保持します。​このタイプのロギングは、2つの異なる形式で使用できます: -- 人間が読めるログ・ファイル。 -- シリアライズされたログ・ファイル。 - -人間が読めるログ・ファイルに記録されたブロック・イベントは、通常次のようになります(例として): - -``` -Mon, 21 May 2018 00:47:58 +0800 開始しています。 -> チェック中 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> phpMussel-Testfile.ASCII.Standardを検出しました! -Mon, 21 May 2018 00:48:04 +0800 完了。 -``` - -スキャン・ログ・エントリには、通常、次の情報が含まれます: -- ファイルがスキャンされた日時。 -- スキャンしたファイルの名前。 -- ファイル名と内容の「CRC32b」ハッシュ。 -- ファイル内で何が検出されたか(何かが検出された場合)。 - -*関連するコンフィギュレーション・ディレクティブ:* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -これらのディレクティブを空のままにすると、このタイプのロギングは無効のままです。 - -##### 11.3.1 スキャン・キル - -パッケージ・コンフィギュレーションで有効にすると、phpMusselはブロックされたアップロードのログを保持します。 - -「スキャン・キル」ログ・ファイルへのエントリは、通常、次のようになります(例として): - -``` -日時: Mon, 21 May 2018 00:47:56 +0800 -IPアドレス: 127.0.0.1 -== スキャン結果(なぜそれが識別されるのか) == -phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)を検出しました! -== ハッシュ・シグネチャの再構築 == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -「/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu」として隔離。 -``` - -「スキャン・キル」エントリには、通常、以下の情報が含まれます。 -- アップロードがブロックされた日時。 -- アップロード元のIPアドレス。 -- ファイルがブロックされた理由(検出されたもの)。 -- ブロックされたファイルの名前。 -- ブロックされたファイルのMD5とサイズ。 -- ファイルが隔離されているかどうか、どのような名前が内部の使用されます。 - -*関連するコンフィギュレーション・ディレクティブ:* -- `general` -> `scan_kills` - -##### 11.3.2 フロントエンド・ロギング - -このロギングは、フロントエンドのログイン試行に関係します。​これは、ユーザーがフロントエンドにログインしようとするとき、およびフロントエンド・アクセスが有効な場合にのみ発生します。 - -フロントエンドのログ・エントリには、ログインしようとしているユーザーのIPアドレス、試行が行われた日時、試行の結果が含まれます(正常にログインしたか、ログインに失敗しました)。​フロントエンドのログ・エントリは通常、次のようになります(例として)。 - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - ログインしました。 -``` - -*関連するコンフィギュレーション・ディレクティブ:* -- `general` -> `frontend_log` - -##### 11.3.3 ログ・ローテーション - -一定期間後にログをパージしたい場合や、法律によってログをパージする必要がある場合があります(例えば、ログを保持することが法的に許可される時間は、法律によって制限される場合があります)。​ログ・ローテーションを使用すると、指定された制限を超えるとログ・ファイルに対して何らかのアクションを実行できます。​パッケージ・コンフィギュレーションで指定されたログ・ファイルの名前に日付/時刻マーカーを含めることし(例えば、`{yyyy}-{mm}-{dd}.log`)、ログ・ローテーションを有効にするで、これを行うことができます。 - -例えば:法的に30日後にログを削除する必要がある場合は、ログ・ファイルの名前に`{dd}.log`を(`{dd}`は日を表す)指定し、`log_rotation_limit`の値を`30`に設定し、`log_rotation_action`の値を`Delete`に設定することができます。 - -逆に、長期間ログを保持する必要がある場合は、ログ・ローテーションを無効にするか、ログ・ファイルを圧縮するために`log_rotation_action`の値を`Archive`に設定することができます(占有するディスク・スペースの総量が削減されます)。 - -*関連するコンフィギュレーション・ディレクティブ:* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 ログ切り捨て - -必要に応じて、特定のサイズを超えた個々のログ・ファイルを切り捨てることができます。 - -*関連するコンフィギュレーション・ディレクティブ:* -- `general` -> `truncate` - -##### 11.3.5 IPアドレス・スドニマイゼーション - -まず、あなたが用語に精通していない場合:​「スドニマイゼーション」(pseudonymisation)とは、補足情報なしで特定のデータ対象に特定できないような個人データの処理を指します​(ただし、そのような補足情報は、個人データが自然人に特定されないことを保証するために、個別に維持され、技術的および組織的措置を受けるものとします)。 - -次のリソースは詳細情報を提供します。 -- [[trust-hub.com] What is pseudonymisation?](https://www.trust-hub.com/news/what-is-pseudonymisation/) -- [[Wikipedia] Pseudonymization](https://en.wikipedia.org/wiki/Pseudonymization) - -場合によっては、収集、処理、または保存されたPIIに対して「アノニマイゼーション」または「スドニマイゼーション」を実施することが法的に要求されることがあります。​このコンセプトはかなり以前から存在していましたが、GDPR/DSVGOは「スドニマイゼーション」を特に言及し、奨励しています。 - -必要に応じて、phpMusselはIPアドレスを記録するときにこれを行うことができます。​ログに記録されると、IPv4アドレスの最後のオクテット、およびIPv6アドレスの2番目の部分の後のすべてが、「x」として表される。​これは、本質的には、IPv4アドレスを24番目のサブネット・ファクタの最初のアドレスに丸め、IPv6アドレスを32番目のサブネット・ファクタの最初のアドレスに丸めます。 - -*関連するコンフィギュレーション・ディレクティブ:* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 統計 (スタティスティックス) - -phpMusselは、オプションで、特定の時間以降にスキャンおよびブロックされたファイルの総数などの統計を追跡できます。​この機能はデフォルトで無効になっていますが、パッケージ・コンフィギュレーションで有効にすることができます。​追跡される情報のタイプはPIIと見なすべきではない。 - -*関連するコンフィギュレーション・ディレクティブ:* -- `general` -> `statistics` - -##### 11.3.7 暗号化 (エンクリプション) - -phpMusselは、キャッシュまたはログ情報を[暗号化](https://ja.wikipedia.org/wiki/%E6%9A%97%E5%8F%B7)しません。​キャッシュとログの暗号化は、将来導入される可能性がありますが、現在のところ具体的な計画はありません。​権限のない第三者によるPIIへのアクセスについて(例えば、キャッシュ、ログ):​phpMusselは、一般にアクセス可能な場所にはインストールしないことをお勧めします(例えば、ほとんどのウェブサーバーで使用できる標準の`public_html`ディレクトリの外にphpMusselをインストールする)、​そして適切に制限された権限が強制されるようにする(特に、「vault」ディレクトリ)。​懸念が残っている場合は、phpMusselを設定して、この情報が収集または記録されないようにすることができます​(例えば、ロギングを無効にするなど)。 - -#### 11.4 COOKIES (クッキー) - -ユーザーがフロントエンドに正常にログインすると、phpMusselは後続のリクエストのためにユーザーを覚えておくために[Cookie](https://ja.wikipedia.org/wiki/HTTP_cookie)を設定します(すなわち、Cookieはユーザーをログインセッションに認証するために使用されます)。​ログイン・ページでは、Cookieの警告が目立つように表示され、関連する操作を行った場合にCookieが設定されることをユーザーに警告します。​Cookieは、コードベースの他のどの場所にも設定されていません。 - -*関連するコンフィギュレーション・ディレクティブ:* -- `general` -> `disable_frontend` - -#### 11.5 マーケティングやアドバタイジング - -phpMusselは、マーケティングやアドバタイジング目的で情報を収集または処理しません。​収集または記録された情報を販売したり、利益を得たりすることはありません。​phpMusselは商業的企業ではなく、商業的利益には関係しないので、これらのことは意味をなさないでしょう。​これは、プロジェクトの開始以来のケースであり、今日も引き続き行われています。​さらに、これらのことを行うことは、プロジェクトの精神と目的に沿ったものではなく、私がプロジェクトを維持し続ける限り、決して起こらないでしょう。 - -#### 11.6 プライバシー・ポリシー - -場合によっては、ウェブサイトのすべてのページとセクションにプライバシー・ポリシーへのリンクを明確に表示することが法的に要求されることがあります。​これは、ユーザーが正確なプライバシー・プラクティス、収集するPIIのタイプ、および使用する方法を十分に知らされていることを保証する手段として重要です。​このようなリンクをphpMusselの「アップロード拒否」ページに含めるには、プライバシー・ポリシーのURLを指定するためのコンフィギュレーション・ディレクティブが用意されています。 - -*関連するコンフィギュレーション・ディレクティブ:* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -一般データ保護規制(GDPR)は、2018年5月25日に発効するEUの規制です。​規制の第一の目的は、EU市民および居住者に個人情報を管理させ、個人情報および個人情報に関するEU内の規制を統一することです。 - -この規制には、EU(欧州連合)の「データ主体」(識別された、または識別可能な自然人)の「[個人識別情報](https://ja.wikipedia.org/wiki/%E5%80%8B%E4%BA%BA%E6%83%85%E5%A0%B1)」(PII)の処理に関する特定の規定が含まれています。​規制に準拠するためには、「企業」(規制によって定義されている)、関連するシステムおよびプロセスは、デフォルトで「プライバシー・バイ・デザイン」を実装する必要があります、最高のプライバシー設定を使用する必要があります、格納された情報または処理された情報のためにセーフガードを実装する必要があります(「スドニマイゼーション」の実装またはデータの完全な「アノニマイゼーション」を含むがこれらに限定されません)、収集するデータの種類、処理方法、理由、保持期間、および第三者とこのデータを共有するかどうかを明確かつ明白に宣言する必要があります、第三者と共有されるデータの種類、方法、理由などが含まれます。 - -規制によって定義されているように、合法的な根拠がない限り、データを処理することはできません。​一般的に、これは、合法的な基準でデータ対象のデータを処理するためには、法的義務を遵守しなければならないを意味します、または明示され、十分に情報があり、明白な同意がデータ対象から得られた後にのみ行われる。 - -規制のいくつかの側面は時間とともに変化する可能性があります。​時代遅れの情報が広がらないようにするには、関係する情報をここに入れるのではなく、正式な情報源から規制について学ぶ方が良いでしょう(ここに含まれる情報が古くなる可能性があります)。 - -より多くの情報を習得するための推奨リソース: -- [GDPR(EU一般データ保護規制)とは | 語句説明・適用範囲・与える影響を解説](https://boxil.jp/mag/a4605/) -- [EU一般データ保護規則](https://ja.wikipedia.org/wiki/EU%E4%B8%80%E8%88%AC%E3%83%87%E3%83%BC%E3%82%BF%E4%BF%9D%E8%AD%B7%E8%A6%8F%E5%89%87) -- [GDPR(EU一般データ保護規制)対策](https://eizone.info/gdpr/) -- [REGULATION (EU) 2016/679 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex:32016R0679) -- [GDPRの対象となる個人データとは](https://www.eyjapan.jp/services/advisory/column/2017-06-06.html) - ---- - - -最終アップデート:2022年5月12日。 diff --git a/v2-and-earlier/readme.ko.md b/v2-and-earlier/readme.ko.md deleted file mode 100644 index ceca2ce..0000000 --- a/v2-and-earlier/readme.ko.md +++ /dev/null @@ -1,1710 +0,0 @@ -## phpMussel v2 설명서 (한국어). - -### 목차 -- 1. [서문](#SECTION1) -- 2. [설치 방법](#SECTION2) -- 3. [사용 방법](#SECTION3) -- 4. [프론트엔드 관리](#SECTION4) -- 5. [CLI (명령 줄 인터페이스)](#SECTION5) -- 6. [패키지에 포함된 파일](#SECTION6) -- 7. [설정 옵션](#SECTION7) -- 8. [서명 형식](#SECTION8) -- 9. [알려진 호환성 문제](#SECTION9) -- 10. [자주 묻는 질문 (FAQ)](#SECTION10) -- 11. [법률 정보](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. 서문 - -phpMussel을 이용해 주셔서 감사합니다. phpMussel는 스크립트가 hook된 곳에서 ClamAV 등의 서명을 기반으로 시스템에 업로드된 파일 내의 트로이 목마, 바이러스, 멀웨어 및 기타 위협 요소를 탐지하기 위한 PHP 스크립트입니다. - -[PHPMUSSEL](https://phpmussel.github.io/) COPYRIGHT 2013 and beyond GNU/GPLv2 by [Caleb M (Maikuolan)](https://github.com/Maikuolan). - -이 스크립트는 자유 소프트웨어입니다; 당신은 자유 소프트웨어 재단이 발표한 GNU 일반 공중 사용 허가서 버전 2 또는 그 이후 버전에 따라 이 스크립트를 재배포하거나 수정할 수 있습니다. 이 스크립트가 유용하게 사용되기를 바라지만 상용으로 사용되거나 특정 목적에 적합할 것이라는 것을 묵시적인 보증을 포함한 그 어떠한 형태로도 보증하지 않습니다. 자세한 내용은 `LICENSE.txt` 파일 또는 다음 링크에서 확인할 수 있는 GNU 일반 공중 사용 허가서를 참조하시기 바랍니다: -- . -- . - -프로젝트에 영감을 주고 이 스크립트가 활용하는 서명을 제공하는 [ClamAV](https://www.clamav.net/)에게 감사의 말씀을 드립니다. 그 서명 없이는 이 스크립트가 존재하지 못했거나 극히 제한적인 가치만을 가졌을 것입니다. - -프로젝트 파일을 호스팅하는 SourceForge, Bitbucket과 GitHub, phpMussel이 활용하는 서명의 추가적인 소스: [PhishTank](https://www.phishtank.com/), [NLNetLabs](https://nlnetlabs.nl/), [Malware.Expert](https://malware.expert/) 등, 이 프로젝트를 지원해 주신 분들, 제가 잊어버리고 언급하지 못했을 다른 분들과 이 스크립트를 사용하는 당신에게 감사의 말씀을 드립니다. - -이 문서와 관련 패키지는 다음 링크에서 무료로 다운로드할 수 있습니다: -- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -### 2. 설치 방법 - -#### 2.0 수동 설치 (웹서버용) - -1) 이 문서를 읽고 있다는 점에서 당신이 이미 이 스크립트의 압축 파일을 다운로드하고 콘텐츠의 압축을 해제한 것으로 간주합니다. 여기서 호스트 또는 CMS 내에 해당 콘텐츠를 넣을 위치를 결정하세요. `/public_html/phpmussel/` 또는 이와 유사한 디렉토리 (해당 디렉토리가 안전하고 당신이 만족하는 이상 어떤 것을 선택해도 상관 없습니다)면 충분합니다. *업로드하기 전에 계속 읽으세요..* - -2) `config.ini.RenameMe`의 이름을 `config.ini`로 변경하고 (`vault` 안에 있음), 선택 사항으로 (고급 사용자에게는 권장되지만 초보자나 경험이 부족한 사용자에게는 권장하지 않습니다), 파일을 여세요 (이 파일은 phpMussel에서 사용할 수 있는 모든 지시자를 포함하고 있습니다; 각각의 옵션 위에는 해당 지시자의 기능과 용도를 설명하는 주석이 있습니다). 설치 환경에 적합한 대로 지시자를 수정하고 파일을 저장한 후 닫으세요. - -3) 앞서 결정한 디렉토리에 콘텐츠 (phpMussel 및 그 파일들)를 업로드하세요 (`*.txt`/`*.md` 파일은 포함할 필요가 없지만, 일반적으로는 모든 파일을 업로드해야 합니다). - -4) `vault` 디렉토리를 "755"로 CHMOD하세요 (문제가 있는 경우 "777"을 시도할 수 있으나 이는 안전하지 않습니다). 보통 (앞서 결정했던) 콘텐츠를 넣은 메인 디렉토리는 그대로 둘 수 있지만 이전에 시스템에서 권한 문제가 발생했던 적이 있다면 CHMOD 상태를 확인해야 합니다 (기본적으로 "755"와 같은 것이어야 합니다). 간단히 말해서: 패키지가 올바르게 작동하려면 PHP가 `vault` 디렉토리 내의 파일을 읽고 쓸 수 있어야 합니다. PHP가 `vault` 디렉토리에 쓸 수 없다면 많은 것들 (업데이트, 로그 등)이 불가능할 것이며, PHP가 `vault` 디렉토리를 읽을 수 없다면 패키지 자체가 아예 작동하지 않을 것입니다. 그러나 최적의 보안을 위해서는 `vault` 디렉토리가 공개적으로 접근 가능해서는 안 됩니다 (`vault` 디렉토리가 공개적으로 접근 가능하다면 `config.ini`나 `frontend.dat`가 포함하고 있는 정보같은 민감한 정보가 잠재적 공격자에게 노출될 수 있습니다). - -5) 필요한 서명을 설치하세요. *참조: [서명 설치](#INSTALLING_SIGNATURES).* - -6) 다음으로 phpMussel을 시스템 또는 CMS에 "hook"해야 합니다. 시스템이나 CMS에 phpMussel과 같은 스크립트를 "hook"하는 방법은 여러 가지가 있지만, `require` 또는 `include` statement를 사용하여 시스템이나 CMS의 코어 파일 (일반적으로 누군가 웹 사이트의 어떤 페이지에 접근할 때 항상 로드되는 것)의 시작점에 스크립트를 포함하는 방법이 가장 쉽습니다. 보통 이러한 파일은 `/includes`, `/assets` 또는 `/functions`과 같은 디렉토리 내에 있으며 흔히 파일 이름이 `init.php`, `common_functions.php`, `functions.php` 또는 이와 유사할 것입니다. 어떤 파일을 사용할지 상황에 적합하게 결정해야 합니다; 결정하는 데 어려움이 있다면 GitHub에 있는 phpMussel 이슈 페이지나 phpMussel 지원 포럼에 방문하여 도움을 받으세요; 저나 다른 사용자가 당신이 사용하는 CMS에 대한 경험이 있을 수 있으며 (어떤 CMS를 사용하는지 알려야 합니다) 도움을 줄 수 있습니다. 이 작업을 하려면 [`require` 또는 `include` 사용] 다음 코드에서 따옴표 안의 문자열을 `loader.php` 파일의 경로 (로컬 주소이며, HTTP 주소가 아닙니다; 앞서 언급했던 vault 주소와 유사할 것입니다)로 변경하고 이를 코어 파일의 시작점에 삽입하세요. - -`` - -파일을 저장하고 닫은 후 다시 업로드하세요. - --- 다른 방법 -- - -Apache 웹 서버를 사용하고 있으며 `php.ini`에 접근할 수 있는 경우 `auto_prepend_file` 지시자를 사용하여 PHP 요청이 있을 때마다 phpMussel을 앞에 덧붙일 수 있습니다. 예시: - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -`.htaccess` 파일 사용 시 예시: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) 이제 설치가 완료되었습니다만, 만약을 위해 테스트를 합시다. 파일 업로드 보호를 테스트하려면, 패키지에 `.tests/samples`에 포함된 테스트 파일을 브라우저를 사용하는 일반적인 방법으로 올립니다. (테스트 파일을 트리거하려면, `phpmussel*.*db` 서명 파일을 `active` 설정 지시어에 포함 시켰는지 확인하십시오). 문제가 없으면 phpMussel에서 업로드를 차단했다는 메시지가 표시되고 그렇지 않은 경우는 무언가가 제대로 작동하지 않습니다. 또한 만약 뭔가 특별한 기능을 사용하고, 혹은 다른 유형의 스캐닝도 사용하고 있는 것 같으면 서로 영향을 걷지 않을지도 점검해 두는 것이 좋습니다. - -#### 2.1 수동 설치 (CLI 편) - -1) 이 항목을 읽고 있다는 점에서 아카이브 스크립트의 로컬 컴퓨터에 다운로드 및 압축 해제는 종료하고 있다고 생각합니다. phpMussel의 위치가 정해지면 다음으로 이동하세요. - -2) phpMussel를 사용하려면 PHP가 호스트 컴퓨터에 설치되어 있어야합니다. 만약 아직이라면 각종 PHP 설치의 어느 것을 사용해도 상관하지 않으므로 설치하십시오. - -3) 옵션 수정을 위해 (초보자는 권장하지 않지만, 경험이 풍부한 사용자는 좋습니다). `vault`의`config.ini`를 엽니 다. 이 파일은 phpMussel이 가능한 지시자를 포함하고 있으며, 각각의 옵션에 대한 기능과 목적에 관한 간단한 설명이 있습니다. 설치 환경에 따라 적절한 수정을하고 파일을 저장하십시오. - -4) 옵션이지만, 배치 파일을 작성하여 phpMussel의 CLI 모드에서의 사용을 용이하게 할 수 있습니다. 배치 파일은 PHP와 phpMussel를 자동으로로드하는 것입니다. 먼저 Notepad 또는 Notepad ++과 같은 텍스트 편집기를 엽니 다. 그리고 설치 한 PHP의`php.exe`의 절대 경로 공백`loader.php`의 절대 경로를 입력하고 확장자 `.bat`파일을 눈에 띄는 곳에 저장합니다. 이 파일을 더블 클릭하여 phpMussel을 시작할 수 있습니다. - -5) 당신이 필요로하는 서명을 설치하십시오. *참조 : [서명 설치](#INSTALLING_SIGNATURES).* - -6) 테스트를합시다. 패키지의`.tests/samples`을 phpMussel로 스캔 해보세요. - -#### 2.2 COMPOSER를 사용하여 설치한다 - -[phpMussel는 Packagist에 등록되어 있습니다](https://packagist.org/packages/phpmussel/phpmussel). Composer를 익숙한 경우 Composer를 사용하여 phpMussel를 설치할 수 있습니다 (그러나, 당신은 설정 옵션, 권한, 서명 및 후크를 준비해야합니다. "수동 설치 (웹서버 편)"의 2, 4, 5 단계와 6 단계를 참조하십시오). - -`composer require phpmussel/phpmussel` - -#### 2.3 서명 설치 - -v1.0.0 이후 시그니처 phpMussel 패키지에는 포함되어 있지 않습니다. 특정 위협을 감지하기 위해서는, phpMussel 의해 서명이 필요합니다. 서명을 설치하는 주요 방법은 3 가지가 있습니다. - -1. 프런트 엔드 업데이트 페이지를 사용하여 자동으로 설치합니다. -2. "SigTool"를 사용하여 서명을 생성하여 수동으로 설치합니다. -3. "phpMussel/Signatures"에서 서명을 다운로드하여 수동으로 설치합니다. - -##### 2.3.1 프런트 엔드 업데이트 페이지를 사용하여 자동으로 설치합니다. - -우선 프런트 엔드가 활성화되어 있는지 확인해야합니다. *참조 : [프론트엔드 관리](#SECTION4).* - -다음, 프런트 엔드 업데이트 페이지로 이동, 필요한 서명 파일을 찾을, 이후 페이지에서 제공되는 옵션을 사용하여, 설치하고 활성화합니다. - -##### 2.3.2 "SigTool"를 사용하여 서명을 생성하여 수동으로 설치합니다. - -*참조 : [SigTool 설명서](https://github.com/phpMussel/SigTool#documentation).* - -*참고 사항 : SigTool은 ClamAV의 서명 만 처리합니다. 다른 출처에서 서명을 얻으려면 (예를 들어 phpMussel의 테스트 샘플을 탐지하는 데 필요한 서명이 포함 된 phpMussel 전용으로 작성된 것), 이 방법은 여기에 언급 된 다른 방법 중 하나로 보완해야합니다.* - -##### 2.3.3 "phpMussel/Signatures"에서 서명을 다운로드하여 수동으로 설치합니다. - -첫째, [phpMussel/Signatures](https://github.com/phpMussel/Signatures)간다. 저장소는 다양한 GZ 압축 서명 파일이 포함되어 있습니다. 그들을 설치하려면, 필요한 파일을 다운로드하여 압축을 풉니, 압축이 풀린 파일을 `/vault/signatures` 디렉토리에 복사합니다. 그들을 활성화하려면, 복사 한 파일의 이름을 phpMussel 설정 `active` 지시문에 열거합니다. - ---- - - -### 3. 사용 방법 - -#### 3.0 사용 방법 (웹서버 편) - -phpMussel은 특별한 환경을 필요로하지 않는 스크립트입니다. 일단 설치되면 잘 작동합니다. - -기본적으로 업로드 된 파일의 스캔이 자동으로 실행하도록 설정되어 있습니다. 따라서 기본적으로 아무것도 할 수 없습니다. - -하지만 특정 파일, 디렉토리, 아카이브를 검색하도록 설정할 수 있습니다. `config.ini`을 적절하게 다시 설정하십시오 (정리 무효 않으면 안됩니다). 그 phpMussel 후크되는 PHP 파일 내에서 다음 코드를 사용합니다. - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan` 는 문자열 또는 (다차원) 배열을 할당 할 수 있습니다. 어떤 파일 (하나 혹은 여러) 또는 디렉토리 (하나 혹은 여러)를 스캔할지 지정합니다. -- `$output_type` 는 부레안에서 검색 결과의 형식을 지정할 수 있습니다. `false` 결과를 정수로 돌려줍니다. `true` (진정한)는 결과를 텍스트 형식으로 반환합니다. 어느 쪽을 선택하더라도 스캔 후에 글로벌 변수에 따라 결과에 액세스 할 수 있습니다. `$output_type` 는 옵션으로 디폴트 설정은`false` (가짜)되어 있습니다. 다음은 정수 결과를 설명합니다. - -| 결과 | 기술 | -|---|---| -| -4 | 암호화 때문에 데이터를 검사 할 수 없었습니다. | -| -3 | phpMussel 서명 파일에 문제가 있음을 나타냅니다. | -| -2 | 스캔 중에 손상된 데이터를 검색하여 스캔 실패. | -| -1 | PHP를 검사하는 데 필요한 확장 또는 추가 기능이 없기 때문에 스캔 실패. | -| 0 | 검사 대상이 존재하지 않음. | -| 1 | 대상의 스캔을 완료하고 문제가 없는지. | -| 2 | 대상의 스캔을 완료하고 문제를 발견 한 것을 의미합니다. | - -- `$output_flatness` 는 부레안에서 검색 결과를 배열로 반환하거나 문자열로 반환할지 여부를 지정합니다 (대상이 여러 경우). `false` (가짜)은 배열, `true` (진정한)은 문자열의 결과입니다. `$output_flatness` 는 옵션으로 디폴트 설정은`false` (가짜)입니다. - -예 : - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -의 경우 반환 값은 : - -``` - Wed, 16 Sep 2013 02:49:46 +0000 시작했다. - > 현재 분석 중 : '/user_name/public_html/my_file.html': - -> 문제는 발견되지 않았습니다. - Wed, 16 Sep 2013 02:49:47 +0000 완료. -``` - -phpMussel 어떤 시그니처를 사용했는지 등의 자세한 정보는 본 파일의 "[서명 형식](#SECTION8)"을 참조하십시오. - -오류 검출 및 신종 의심스러운 것으로 발생, 또는 서명에 관한 일에 대해서는 무엇이든 알려주세요. 그러면 즉시 대응할 수 있고, 필요한 수정을 할 수 있습니다. *(참조하십시오 : ["거짓 양성"는 무엇입니까?](#WHAT_IS_A_FALSE_POSITIVE)).* - -phpMussel에 포함 된 서명을 해제하려면 (일반적으로 제외해서는 없다고 생각되는 것들 가 차단되어 버리는 경우), 그레이리스트 파일에 이름을 추가하십시오 (`/vault/greylist.csv`), 쉼표로 구분. - -*꼭 참조하십시오 : [파일 검색시 특정 정보에 액세스하려면 어떻게해야합니까?](#SCAN_DEBUGGING)* - -#### 3.1 사용 방법 (CLI 편) - -본 README 파일의 "수동 설치 (CLI 편)"을 참조하십시오. - -또한 phpMussel를 일반 바이러스 소프트웨어와 혼동하지 마십시오. 활성 메모리를 감시하여 바이러스를 즉시 감지하는 것은 아닙니다 (phpMussel 주문형 스캐너입니다; phpMussel는 온 액세스 스캐너는 없습니다). 지정된 파일 만 검사 (또한 파일 업로드) 포함 된 바이러스를 검색합니다. - ---- - - -### 4. 프론트엔드 관리 - -#### 4.0 프론트 엔드는 무엇입니다. - -프론트 엔드는 phpMussel 설치 유지 관리 업데이트하기위한 편리하고 쉬운 방법을 제공합니다. 로그 페이지를 사용하여 로그 파일을 공유, 다운로드 할 수있는 구성 페이지에서 구성을 변경할 수 있습니다, 업데이트 페이지를 사용하여 구성 요소를 설치 및 제거 할 수 있습니다, 그리고 파일 관리자를 사용하여 vault에 파일을 업로드, 다운로드 및 변경할 수 있습니다. - -무단 액세스를 방지하기 위해 프론트 엔드는 기본적으로 비활성화되어 있습니다 (무단 액세스가 웹 사이트와 보안에 중대한 영향을 미칠 수 있습니다). 그것을 가능하게하기위한 지침이 절 아래에 포함되어 있습니다. - -#### 4.1 프론트 엔드를 사용하는 방법. - -1) `config.ini` 안에있는 `disable_frontend` 지시문을 찾습니다 그것을 "`false`"로 설정합니다 (기본값은 "`true`"입니다). - -2) 브라우저에서`loader.php`에 액세스하십시오 (예를 들어, `http://localhost/phpmussel/loader.php`). - -3) 기본 사용자 이름과 암호로 로그인 (admin/password). - -주의 : 당신이 처음 로그인 한 후 프론트 엔드에 대한 무단 액세스를 방지하기 위해 신속하게 사용자 이름과 암호를 변경해야합니다! 이것은 매우 중요합니다, 왜냐하면 프론트 엔드에서 임의의 PHP 코드를 당신의 웹 사이트에 업로드 할 수 있기 때문입니다. - -최적의 보안을 위해 모든 프런트 엔드 계정에 대해 2FA (이중 인증)을 사용하는 것이 좋습니다 (아래 제공된 지침). - -#### 4.2 프론트 엔드 사용. - -프론트 엔드의 각 페이지에는 목적에 대한 설명과 사용 방법에 대한 설명이 있습니다. 전체 설명이나 특별한 지원이 필요한 경우 지원에 문의하십시오. 또한 데모를 제공 할 YouTube에서 사용 가능한 동영상도 있습니다. - -#### 4.3 2FA (이중 인증) - -2FA를 사용하면 프런트 엔드를 더욱 안전하게 만들 수 있습니다. 2FA를 사용하는 계정에 로그인하면 해당 계정과 연결된 이메일 주소로 이메일이 전송됩니다. 이 이메일에는 "2FA 코드"가 포함되어 있습니다. 사용자는이 계정을 사용하여 로그인 할 수 있도록 사용자 이름과 비밀번호 외에도 사용자가 입력해야합니다. 즉, 해커 또는 잠재적 공격자가 해당 계정에 로그인 할 수 있도록 계정 암호로는 충분하지 않습니다. 세션과 관련된 2FA 코드를 수신하고 활용하려면 해당 계정과 연결된 이메일 주소에 대한 액세스 권한이 있어야합니다. - -2FA를 사용하려면 프론트 엔드 업데이트 페이지를 사용하여 PHPMailer 구성 요소를 설치하십시오. phpMussel은 PHPMailer를 사용하여 이메일을 전송합니다. 노트 : phpMussel은 PHP >= 5.4.0와 호환되지만 PHPMailer에는 PHP >= 5.5.0가 필요합니다. 따라서 PHP 5.4 사용자는 phpMussel 프론트 엔드에 2FA를 사용할 수 없습니다. - -PHPMailer를 설치 한 후 phpMussel 구성 페이지 또는 구성 파일을 통해 PHPMailer의 구성 지시문을 채워야합니다. 이러한 구성 지시문에 대한 자세한 내용은이 설명서의 구성 섹션에 포함되어 있습니다. PHPMailer 설정 지시어를 채운 후에는 `enable_two_factor`를 `true`로 설정하십시오. 이제 2FA가 활성화되어야합니다. - -해당 계정으로 로그인 할 때 2FA 코드를 보낼 위치를 phpMussel이 알 수 있도록 이메일 주소를 계정과 연결해야합니다. 전자 메일 주소를 계정의 사용자 이름 (예 : `foo@bar.tld`)으로 사용하거나 정상적으로 전자 메일을 보낼 때와 동일한 방법 (예 : `Foo Bar `)으로 사용자 이름의 일부로 전자 메일 주소를 포함하십시오. - -노트 : 무단 액세스로부터 vault보호는 특히 중요합니다 (예 : 서버의 보안을 강화하고 공용 액세스 권한을 제한함으로써). 볼트에 저장되어있는 구성 파일에 대한 무단 액세스로 인해 SMTP 사용자 이름과 암호를 비롯한 아웃 바운드 SMTP 설정이 노출 될 수 있습니다. 2FA를 사용하기 전에 vault가 적절하게 보안되어 있는지 확인해야합니다. 이 작업을 수행 할 수 없으면 노출 된 SMTP 설정과 관련된 위험을 줄이기 위해 이러한 용도로 전용 된 새 전자 메일 계정을 만들어야합니다. - ---- - - -### 5. CLI (명령 줄 인터페이스) - -phpMussel는 윈도우 기반 시스템에서는 CLI 모드에서 대화식 파일 스캐너 역할을합니다. 자세한 내용은 설치 방법 (CLI 편)을 참조하십시오. - -CLI 프롬프트에서`c`를 입력하고 엔터를 누르면 사용 가능한 CLI 명령의 목록이 표시됩니다. - -또한 관심있는 사람들을 위해, CLI 모드에서 phpMussel를 사용하는 방법에 대한 비디오 자습서는 여기에서 볼 수 있습니다 : -- - ---- - - -### 6. 패키지에 포함된 파일 - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. 설정 옵션 - -다음은 `config.ini`설정 파일에있는 변수 및 그 목적과 기능의 목록입니다. - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### "general" (카테고리) -일반 설정. - -##### "cleanup" -- 처음 업로드 후 변수 및 캐시 설정을 클리어 여부에 대한 스크립트입니다. `false` (가짜) = 아니오; `true` (진정한) = 예 (Default / 기본 설정). 업로드 스캔 이외의 용도로 스크립트를 사용하지 않는 경우 메모리 사용을 최소화하려면이 값을 `true`로 설정해야합니다. 그렇지 않으면, 필요에 따라 다시로드하지 않고 phpMussel을 실행하는 데 필요한 데이터를 메모리에 유지하려면 `false`로 설정해야합니다. CLI 모드에서 영향을주지 않습니다. -- CLI 모드에서 영향을주지 않습니다. - -##### "scan_log" -- 전체 스캔 결과를 기록하는 파일의 파일 이름. 파일 이름을 지정하십시오. 비활성화하려면 비워 둡니다. - -##### "scan_log_serialized" -- 전체 스캔 결과를 기록하는 파일의 파일 이름 (serialization 형식을 이용). 파일 이름을 지정하십시오. 비활성화하려면 비워 둡니다. - -##### "scan_kills" -- 차단되거나 삭제 된 업로드의 모든 것을 기록하는 파일의 파일 이름. 파일 이름을 지정하십시오. 비활성화하려면 비워 둡니다. - -*유용한 팁 : 당신이 원하는 경우 로그 파일 이름에 날짜/시간 정보를 부가 할 수 있습니다 이름 이들을 포함하여 : 전체 연도에 대한 `{yyyy}`생략 된 년간 `{yy}`달 `{mm}`일 `{dd}`시간 `{hh}`.* - -*예 :* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### "error_log" -- 치명적이지 않은 오류를 탐지하기위한 파일. 파일 이름을 지정하십시오. 비활성화하려면 비워 둡니다. - -##### "truncate" -- 로그 파일이 특정 크기에 도달하면 잘 있습니까? 값은 로그 파일이 잘 리기 전에 커질 가능성이있는 B/KB/MB/GB/TB 단위의 최대 크기입니다. 기본값 "0KB"은 절단을 해제합니다 (로그 파일은 무한정 확장 할 수 있습니다). 참고 : 개별 로그 파일에 적용됩니다! 로그 파일의 크기는 일괄 적으로 고려되지 않습니다. - -##### "log_rotation_limit" -- 로그 회전은 한 번에 존재해야하는 로그 파일 수를 제한합니다. 새 로그 파일을 만들 때 총 로그, 파일 수가 지정된 제한을 초과하면, 지정된 작업이 수행됩니다. 여기서 원하는 한계를 지정할 수 있습니다. 값 0은 로그 회전을 비활성화합니다. - -##### "log_rotation_action" -- 로그 회전은 한 번에 존재해야하는 로그 파일 수를 제한합니다. 새 로그 파일을 만들 때 총 로그, 파일 수가 지정된 제한을 초과하면, 지정된 작업이 수행됩니다. 여기서 원하는 동작을 지정할 수 있습니다. Delete = 제한이 더 이상 초과되지 않을 때까지, 가장 오래된 로그 파일을 삭제하십시오. Archive = 제한이 더 이상 초과되지 않을 때까지, 가장 오래된 로그 파일을 보관 한 다음 삭제하십시오. - -*기술적 설명 : 이 문맥에서 "가장 오래된"은 "최근에 수정되지 않은"을 의미합니다.* - -##### "timezone" -- 이것은 phpMussel이 날짜/시간 작업에 사용해야하는 시간대를 지정하는 데 사용됩니다. 필요하지 않으면 무시하십시오. 가능한 값은 PHP에 의해 결정됩니다. 하지만 그 대신에 일반적으로 시간대 지시문 (당신의`php.ini` 파일)을 조정 る 것이 좋습니다,하지만 때때로 (같은 제한 공유 호스팅 제공 업체에서 작업 할 때) 이것은 무엇을하는 것이 항상 가능하지는 않습니다 따라서이 옵션은 여기에서 볼 수 있습니다. - -##### "time_offset" -- *v1 : "timeOffset"* -- 귀하의 서버 시간은 로컬 시간과 일치하지 않는 경우, 당신의 요구에 따라 시간을 조정하기 위해, 당신은 여기에 오프셋을 지정할 수 있습니다. 하지만 그 대신에 일반적으로 시간대 지시문 (당신의`php.ini` 파일)을 조정 る 것이 좋습니다,하지만 때때로 (같은 제한 공유 호스팅 제공 업체에서 작업 할 때) 이것은 무엇을하는 것이 항상 가능하지는 않습니다 따라서이 옵션은 여기에서 볼 수 있습니다. 오프셋 분이며 있습니다. -- 예 (1 시간을 추가합니다) : `time_offset=60` - -##### "time_format" -- *v1 : "timeFormat"* -- phpMussel에서 사용되는 날짜 형식. Default (기본 설정) = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`. - -##### "ipaddr" -- 연결 요청의 IP 주소를 어디에서 찾을 것인가에 대해 (Cloudflare 같은 서비스에 대해 유효). Default (기본 설정) = REMOTE_ADDR. 주의 : 당신이 무엇을하고 있는지 모르는 한이를 변경하지 마십시오. - -"ipaddr"의 권장 값입니다 : - -값 | 사용 ----|--- -`HTTP_INCAP_CLIENT_IP` | Incapsula 리버스 프록시. -`HTTP_CF_CONNECTING_IP` | Cloudflare 리버스 프록시. -`CF-Connecting-IP` | Cloudflare 리버스 프록시 (대체; 위가 잘되지 않는 경우). -`HTTP_X_FORWARDED_FOR` | Cloudbric 리버스 프록시. -`X-Forwarded-For` | [Squid 리버스 프록시](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*서버 구성에 의해 정의됩니다.* | [Nginx 리버스 프록시](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` | 리버스 프록시는 없습니다 (기본값). - -##### "enable_plugins" -- 플러그인 지원을 활성화 하시겠습니까? `false` = 아니오; `true` = 예 (Default / 기본 설정). - -##### "forbid_on_block" -- 업로드 파일이 차단 된 메시지와 함께 phpMussel에서 403 헤더를 보내야하거나 일반 200 좋은지에 대해. False = 아니오 (200); True = 예 (403) [Default / 기본 설정]. - -##### "unsupported_media_type_header" -- 블랙리스트 파일 형식으로 인해 업로드가 차단되면 phpMussel이 415 헤더를 보내야 합니까? True이면이 설정이 `forbid_on_block`를 대체합니다. False = 아니오 [Default / 기본 설정]; True = 예. - -##### "delete_on_sight" -- 이 지시문을 사용하면 감지 기준 (서명이든 뭐든)에 있던 업로드 파일은 즉시 삭제됩니다. 클린 판단 된 파일은 그대로입니다. 아카이브의 경우, 문제의 파일이 일부라도 아카이브 모든이 삭제 대상이됩니다. 업로드 파일 검사에서는 본 지시어를 활성화 할 필요는 없습니다. 왜냐하면 PHP는 스크립트 실행 후 자동으로 캐시의 내용을 파기하기 때문입니다. 즉, 파일이 이동되거나 복사되거나 삭제되지 않는 한, PHP는 서버에 업로드 한 파일을 남겨 두는 것은 보통 없습니다. 이 지시어는 보안에 공을들이는 목적으로 설치되어 있습니다. PHP는 드물게 예상치 못한 행동을 할 수 있기 때문입니다. `false` = 스캔 후 파일은 그대로 (기본 설정). `true` = 스캔 후 깨끗해야 즉시 삭제합니다. - -##### "lang" -- phpMussel의 기본 언어를 설정합니다. - -##### "lang_override" -- 가능할 때마다 HTTP_ACCEPT_LANGUAGE에 따라 현지화 하시겠습니까? True = 예 (Default / 기본값); False = 아니오. - -##### "numbers" -- 숫자를 표시하는 방법을 지정합니다. - -현재 지원되는 값 : - -값 | 생산하다 | 설명 ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | 기본값. -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*노트 : 이 값은 패키지 외에도 관련이 없습니다. 또한, 지원되는 값은 앞으로 변경 될 수 있습니다.* - -##### "quarantine_key" -- phpMussel은 필요하다면, phpMussel의 보루 토에서 독립적으로 플래그 첨부 파일의 업로드를 검역 할 수 있습니다. 일반적인 phpMussel 사용자는 웹 사이트 및 호스팅 환경 보호가 있으면 충분하다고 생각하고 플래그가있는 같은 것이 추가 분석을 가하려까지 요청이없는 것이므로 무효로 될 수 있습니다. 그렇지만 상세하게 분석하여 악성 코드에 대비하려는 사용자는 사용하면 좋습니다. 플래그 첨부 파일 업로드 격리 가양 디버깅에 도움이 될 수 있습니다. 격리 기능을 해제하려면`quarantine_key` 지시문을 비워 두거나 비어 있지 않은 경우 지시문의 내용을 삭제하십시오. 활성화하려면 데이레쿠티부에 어떤 값을 넣어주세요. `quarantine_key` 격리 기능의 중요한 보안 요소이며, 검역 기능에 저장된 데이터의 집행을 각종 공격으로부터 지키고 있습니다. `quarantine_key`는 암호처럼 생각하세요. 긴 것이 더 안전 할 수 있습니다. 가장 효과적인 사용법은`delete_on_sight`과 함께합니다. - -##### "quarantine_max_filesize" -- 격리 된 파일 크기 제한. 이 값보다 큰 파일은 격리되지 않습니다. 쿠오란팅의 용량을 초과 비정상적으로 큰 파일 크기 공격에서 메모리가 낭비되는 것을 방지하는 의미에서 중요합니다. 기본값은 2MB입니다. - -##### "quarantine_max_usage" -- 검역을 위해 사용할 최대 메모리 량. 전체 메모리 양이 사용되면이 범위에 맞게 오래된 파일이 삭제 대상이됩니다. 쿠오란팅의 용량을 초과 비정상적으로 큰 파일 크기 공격에서 메모리가 낭비되는 것을 방지하는 의미에서 중요합니다. 기본 설정은 64MB입니다. - -##### "quarantine_max_files" -- 격리에 존재할 수있는 최대 파일 수입니다. 격리 저장소에 새 파일이 추가되면이 수가 초과되면 나머지 파일이 더 이상이 수를 초과하지 않을 때까지 오래된 파일이 삭제됩니다. 기본 설정은 100입니다. - -##### "honeypot_mode" -- 허니팟 모드가 활성화되어 있으면 phpMussel 업로드되어 온 모든 파일을 예외없이 검역합니다. 서명에 부합하는지 여부는 문제가되지 않습니다. 스캐닝 및 분석도 이루어지지 않습니다. phpMussel를 바이러스/악성 코드 리서치에 사용할 생각하는 사용자에게 유익 할 것입니다. 그러나 업로드 파일 스캐닝이라는 점에서는 그다지 권장되지 않으며, 허니 모드를 본래의 목적 이외에 사용하는 것이 좋습니다 수 없습니다. 그러나 업로드 파일 스캐닝이라는 점에서는 그다지 권장되지 않으며, 허니 모드를 본래의 목적 이외에 사용하는 것이 좋습니다 수 없습니다. 기본 설정은 무효입니다. `false` = Disabled/장애인 (Default / 기본 설정); `true` = Enabled/유효. - -##### "scan_cache_expiry" -- phpMussel는 스캐닝 결과를 얼마 동안 캐시해야합니까? 초이며, 기본값은 21,600 초 (6 시간)로되어 있습니다. 0으로 설정하면 캐시 비활성화됩니다. - -##### "disable_cli" -- CLI 모드를 해제 하는가? CLI 모드 (시에루아이 모드)는 기본적으로 활성화되어 있지만, 테스트 도구 (PHPUnit 등) 및 CLI 기반의 응용 프로그램과 간섭하는 가능성이 없다고는 단언 할 수 없습니다. CLI 모드를 해제 할 필요가 없으면이 데레쿠티부 무시 받고 괜찮습니다. `false` = CLI 모드를 활성화합니다 (Default / 기본 설정); `true` = CLI 모드를 해제합니다. - -##### "disable_frontend" -- 프론트 엔드에 대한 액세스를 비활성화하거나? 프론트 엔드에 대한 액세스는 phpMussel을 더 쉽게 관리 할 수 있습니다. 상기 그것은 또한 잠재적 인 보안 위험이 될 수 있습니다. 백엔드를 통해 관리하는 것이 좋습니다,하지만 이것이 불가능한 경우 프론트 엔드에 대한 액세스를 제공. 당신이 그것을 필요로하지 않는 한 그것을 해제합니다. `false` = 프론트 엔드에 대한 액세스를 활성화합니다; `true` = 프론트 엔드에 대한 액세스를 비활성화합니다 (Default / 기본 설정). - -##### "max_login_attempts" -- 로그인 시도 횟수 (프론트 엔드). Default / 기본 설정 = 5. - -##### "frontend_log" -- *v1 : "FrontEndLog"* -- 프론트 엔드 로그인 시도를 기록하는 파일. 파일 이름을 지정하십시오. 비활성화하려면 비워 둡니다. - -##### "disable_webfonts" -- 웹 글꼴을 사용하지 않도록 설정 하시겠습니까? True = 예 (Default / 기본 설정); False = 아니오. - -##### "maintenance_mode" -- 유지 관리 모드를 사용 하시겠습니까? True = 예; False = 아니오 (Default / 기본 설정). 프런트 엔드 이외의 모든 것을 비활성화합니다. CMS, 프레임 워크 등을 업데이트 할 때 유용합니다. - -##### "default_algo" -- 향후 모든 암호와 세션에 사용할 알고리즘을 정의합니다. 옵션 : PASSWORD_DEFAULT (default / 기본 설정), PASSWORD_BCRYPT, PASSWORD_ARGON2I (PHP >= 7.2.0 가 필요합니다), PASSWORD_ARGON2ID (PHP >= 7.3.0 가 필요합니다). - -##### "statistics" -- phpMussel 사용 통계를 추적합니까? True = 예; False = 아니오 (Default / 기본 설정). - -##### "hide_version" -- 로그 및 페이지 출력에서 버전 정보 숨기기? True = 예; False = 아니오 (Default / 기본 설정). - -##### "disabled_channels" -- 이것은 phpMussel이 요청을 보낼 때 특정 채널을 사용하지 못하게하는 데 사용할 수 있습니다 (예를 들어, 업데이트 할 때, 구성 요소 메타 데이터를 가져올 때, 등등). - -##### "default_timeout" -- 외부 요청에 사용할 기본 제한 시간? Default (기본 설정) = 12 초. - -#### "signatures" (카테고리) -시그니처. - -##### "active" -- *v1 : "Active"* -- 쉼표로 구분 된 활성 시그니처 파일의 목록입니다. - -*노트 :* -- *활성화하기 전에, 첫째로, 서명 파일을 설치해야 합니다.* -- *테스트 파일이 올바르게 작동하려면, 서명 파일을 설치하고 활성화해야 합니다.* -- *이 지시문의 값은 캐시 됩니다. 변경 후, 변경 사항을 적용하려면 캐시를 삭제해야 할 수 있습니다.* - -##### "fail_silently" -- 서명 파일이 없거나 손상된 경우 phpMussel 그것을 리포트 해야하는지 여부? `fail_silently`이 유효하지 않으면 문제가 리포트되어 유효하면 문제는 무시 된 스캔 보고서가 작성됩니다. 충돌하는 같은 피해가 없으면 기본 설정을 그대로 유지한다. `false` = Disabled/장애인; `true` = Enabled/유효 (Default / 기본 설정). - -##### "fail_extensions_silently" -- 확장자가없는 경우 phpMussel이 그것을보고해야하는지 여부? `fail_extensions_silently`이 잘못된 경우 확장자없이는 스캐닝시에보고되고 활성화되면 무시됩니다 문제는보고되지 않습니다. 이 지시어를 무효로하는 것은 보안을 향상시킬 수 있지만, 오진도 증가 할 수 있습니다. `false` = Disabled/장애인; `true` = Enabled/유효 (Default / 기본 설정). - -##### "detect_adware" -- phpMussel 애드웨어 탐지를 위해 서명을 분석해야하는지 여부? `false` = 아니오; `true` = 예 (Default / 기본 설정). - -##### "detect_joke_hoax" -- phpMussel 장난 / 위조 및 악성 코드 / 바이러스 탐지를 위해 서명을 분석해야하는지 여부? `false` = 아니오; `true` = 예 (Default / 기본 설정). - -##### "detect_pua_pup" -- phpMussel는 PUAs/PUPs 탐지를 위해 서명을 분석해야하는지 여부? `false` = 아니오; `true` = 예 (Default / 기본 설정). - -##### "detect_packer_packed" -- phpMussel는 패커와 팩 데이터 검출을 위해 서명을 분석해야하는지 여부? `false` = 아니오; `true` = 예 (Default / 기본 설정). - -##### "detect_shell" -- phpMussel는 shell 스크립트 탐지를 위해 서명을 분석해야하는지 여부? `false` = 아니오; `true` = 예 (Default / 기본 설정). - -##### "detect_deface" -- phpMussel를 위조 및 디훼사 탐지를 위해 서명을 분석해야하는지 여부? `false` = 아니오; `true` = 예 (Default / 기본 설정). - -##### "detect_encryption" -- phpMussel이 암호화 된 파일을 탐지하고 차단해야합니까? `false` = 아니오; `true` = 예 (Default / 기본 설정). - -#### "files" (카테고리) -파일 취급 설정. - -##### "max_uploads" -- 한 번에 스캔 할 수있는 업로드 파일 수 제한으로이를 초과하면 스캔을 중단하고 사용자에게 그 사실을 알리고 논리적 공격으로부터 보호 역할을합니다. 시스템과 CMS가 DDoS 공격을 만나 phpMussel가 오버로드하여 PHP 프로세스에 지장을 초래하는 일이 없도록하기 위해서입니다. 권장 수는 10이지만, 하드웨어의 속도에 따라 더 이상 / 이하이 좋은 것도있을 것입니다. 이 숫자는 아카이브의 내용을 포함하지 않는 것을 기억하십시오. - -##### "filesize_limit" -- 파일 크기 제한의 단위는 KB입니다. 65536 = 64MB (Default / 기본 설정); 0 = 제한하지 않습니다 (제한없이 항상 그레이리스트 화) 양수이면 무엇이든 상관 없습니다. PHP 설정에서 메모리에 제한이 있고, 업로드 파일 크기 제한이 설정되어있는 경우에 효과적입니다. - -##### "filesize_response" -- 최대 크기보다 큰 파일을 처리하는 방법에 관한 것입니다. `false` = Whitelist/화이트리스트; `true` = Blacklist/블랙리스트 (Default / 기본 설정). - -##### "filetype_whitelist", "filetype_blacklist", "filetype_greylist" -- 시스템이 특정 유형의 파일 만 업로드를 허용하거나 거절하는 경우 파일 유형을 적절히 화이트리스트, 블랙리스트, 그레이리스트로 분류 해두면 파일 유형에 튀겨 진 파일은 스캔을 건너 뛸 수 때문에 속도로 연결됩니다. 형식은 CSV (쉼표로 구분)입니다. 목록에 의하지 않고 모두를 검사 할 경우 변수는 빈 상태로 유지하고 화이트리스트 / 블랙리스트 / 그레이리스트를 해제합니다. -- 프로세스의 논리적 순서: - - 파일 형식이 화이트리스트에 포함되어 있으면, 스캔하지 않고 블록하지 않고 블랙리스트 및 그레이리스트에 체크를하지 않습니다. - - 파일 형식이 블랙리스트에 있으면 스캔하지 않고 즉시 차단하고 그레이리스트에 체크를하지 않습니다. - - 회색 목록이 비어 또는 그레이리스트가 하늘이 아닌 한편 그 파일 타입이 있으면 정상적으로 스캔 차단 여부를 판단합니다. 그레이리스트가 하늘이 아닌 한편 그 파일 유형이 포함되어 있지 않으면 블랙리스트와 같은 취급을 할 수 있고 스캔없이 차단합니다. - -##### "check_archives" -- 아카이브의 컨텐츠에 대해 체크를 시도 여부에 대해서입니다. `false` = 체크하지 않는다; `true` = 확인 (Default / 기본 설정). - -체재 | 읽을 수 있음 | 재귀 적으로 읽을 수 있음 | 암호화를 탐지 할 수 있습니다 | 노트 ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | [libzip](https://secure.php.net/manual/en/zip.requirements.php)가 필요합니다 (이것은 보통 PHP에 포함되어 있습니다). 추가 지원 (zip 형식 사용) : ✔️ OLE 개체 감지. ✔️ Office 매크로 감지. -Tar | ✔️ | ✔️ | ➖ | 특별한 요구 사항이 없습니다. 형식은 암호화를 지원하지 않습니다. -Rar | ✔️ | ✔️ | ✔️ | [rar](https://pecl.php.net/package/rar) 확장자가 필요합니다 (이 확장 기능이 설치되어 있지 않으면, phpMussel은 rar 파일을 읽을 수 없습니다). -Phar | ❌ | ❌ | ❌ | phar 파일 읽기 지원이 v1.6.0에서 제거되었습니다. 보안 문제로 인해 다시 추가되지 않습니다. - -*다른 보관 형식을 읽는 지원을 구현하는 데 도움을 줄 수 있다면, 당신의 도움을 주시면 감사하겠습니다.* - -##### "filesize_archives" -- 파일 크기 블랙리스트/화이트리스트 화를 아카이브의 컨텐츠에 반입 여부? `false` = 아니오 (단지 그레이리스트 모두); `true` = 예 (Default / 기본 설정). - -##### "filetype_archives" -- 파일 타입 블랙리스트/화이트리스트 화를 아카이브의 컨텐츠에 반입 여부? `false` = 아니오 (단지 그레이리스트 모두) (Default / 기본 설정); `true` = 예. - -##### "max_recursion" -- 아카이브에 대한 최대 재귀 깊이입니다. 기본 설정 = 3. - -##### "block_encrypted_archives" -- 암호화 된 아카이브를 감지하고 차단 여부? phpMussel은 암호화 된 아카이브를 검색 할 수 없기 때문에 아카이브의 암호화를 통해 phpMussel 안티 바이러스 스캐너 등을 かいくぐろ하려는 공격자가 있을지도 모릅니다. 암호화 된 아카이브를 차단함으로써 이러한 위험을 방지 할 수 있습니다. `false` = 아니오; `true` = 예 (Default / 기본 설정). - -##### "max_files_in_archives" -- 검사를 중단하기 전에 보관소에서 검사 할 최대 파일 수입니다. 기본 설정 = 0 (최대 값 없음). - -#### "attack_specific" (카테고리) -어택 자 스페시 픽 지시어. - -카멜레온 공격 감지. `false` = 해제. `true` = 온. - -##### "chameleon_from_php" -- 파일도 아니고 PHP 아카이브도 인식 할 수없는 파일에서 PHP 헤더를 찾습니다. - -##### "can_contain_php_file_extensions" -- 쉼표로 구분 된 PHP 코드를 포함 할 수있는 파일 확장명 목록. PHP 카멜레온 공격 탐지가 활성화 된 경우이 목록에없는 확장자를 가진 PHP 코드가 포함 된 파일은 PHP 카멜레온 공격으로 탐지됩니다. - -##### "chameleon_from_exe" -- 실행 파일없이 실행 파일의 아카이브도 인식 할 수없는 파일의 실행 헤더 및 악성 헤더의 실행 파일을 찾습니다. - -##### "chameleon_to_archive" -- 아카이브 및 압축 파일에서 잘못된 헤더를 탐지합니다 (BZ/BZIP2, GZ/GZIP, LZF, RAR, ZIP 지원). - -##### "chameleon_to_doc" -- 헤더가 잘못 오피스 문서를 찾습니다 (DOC, DOT, PPS, PPT, XLA XLS, WIZ 지원). - -##### "chameleon_to_img" -- 헤더가 잘못된 이미지 파일을 찾습니다 (BMP, DIB, PNG, GIF, JPEG, JPG, XCF, PSD, PDD, WEBP 지원). - -##### "chameleon_to_pdf" -- 헤더가 잘못 PDF 파일을 찾습니다. - -##### "archive_file_extensions" -- 인식 가능한 아카이브 파일 확장입니다 (CSV 형식; 문제가있을 경우에만 추가 또는 제거해야합니다. 실수로 제거하면 오진의 원인이 될 수 있습니다. 반대로 실수로 추가하면 어택 자 스페시 픽 검출에서 추가 된 화이트리스트 화되어 버립니다. 충분히주의 위 변경하십시오. 또한 컨텐트 수준에서 아카이브를 분석 할 수 있는지 여부에는 영향을주지 않습니다). 기본적으로 가장 일반적 형식을 나열하고 있지만 의도적으로 포괄적으로하지 않습니다. - -##### "block_control_characters" -- 제어 문자를 포함한 파일을 차단 여부 (줄 바꿈을 제외한)? 에 관한 것입니다 ([\x00-\x08\x0b\x0c\x0e\x1f\x7f]). 만약 텍스트를 업로드하는 경우,이 옵션을 사용하여 추가 보호를 강화할 수 있습니다. 텍스트 이외도 업로드 할 경우, 사용하면 오진의 원인이 될 수 있습니다. `false` = 차단하지 (Default / 기본 설정); `true` = 차단합니다. - -##### "corrupted_exe" -- 손상된 파일과 오류 분석. `false` = 무시; `true` = 차단 (Default / 기본 설정). 손상의 가능성이있는 PE 파일을 차단 검출 여부? 관한 것입니다. PE 파일의 일부가 손상되어 제대로 분석 할 수없는 것은 드물지 않고, 바이러스 감염을 보는 바로미터가됩니다. PE 파일의 바이러스를 감지하는 안티 바이러스 프로그램은 PE 파일 분석을 실시 합니다만, 바이러스를 만드는 사람이 바이러스가 검출되지 않도록 그것을 피하려고 할 것이기 때문입니다. - -##### "decode_threshold" -- 디코드 명령이 감지 될 원시 데이터의 길이 제한 (스캐닝 중에 눈에 띄는 문제가있는 경우에는 필요에 따라 설정). 기본값 = 512KB. 제로 또는 값 없음 (null)은 임계 값을 비활성화합니다 (파일 크기의 제한을 제거합니다). - -##### "scannable_threshold" -- phpMussel이 읽고 스캔 할 수있는 원시 데이터의 길이에 대한 임계 값 (스캐닝 중에 눈에 띄는 문제가있는 경우에는 필요에 따라 설정). 기본값 = 32MB. 제로 또는 값 없음 (null)은 임계 값을 비활성화합니다. 값은 서버 나 웹 사이트에 업로드되는 파일의 평균 파일 크기보다 크고 filesize_limit 지시어보다 작게 설정해야합니다. 또한 `php.ini` 설정에 따라 PHP에 할당 된 메모리의 대략 5 분의 1을 초과해서는 없습니다. 이 지시문은 phpMussel가 메모리를 너무 많이 사용하지 않도록하기위한 것입니다. (일정 크기 이상의 파일은 스캔하지 못할 수도 있습니다). - -##### "allow_leading_trailing_dots" -- 파일 이름에 선행 및 후행 점을 허용 하시겠습니까? 이것은 때때로 파일을 숨기거나 디렉토리 트래버 설을 허용하도록 일부 시스템을 속이는 데 사용될 수 있습니다. `false` = 허용되지 않습니다 (Default / 기본 설정). `true` = 허용된다. - -##### "block_macros" -- 매크로가 포함 된 파일을 차단하려고합니까? 일부 유형의 문서 및 스프레드 시트에는 실행 매크로가 포함될 수 있으므로 위험 할 수있는 맬웨어 벡터를 제공합니다. `false` = 차단하지 (Default / 기본 설정); `true` = 차단합니다. - -#### "compatibility" (카테고리) -phpMussel 호환성 지시문. - -##### "ignore_upload_errors" -- 시스템에서 phpMussel의 기능에 수정이 필요한 경우가 아니면이 지시문은 일반적으로 사용할 수 없습니다. 비활성화하면 `$_FILES` array()요소를 감지했을 때, 그 요소가 나타내는 파일의 스캔이 시작됩니다, 요소가 비어 있거나없는 경우 phpMussel는 오류 메시지를 반환합니다. 이것은 본래 phpMussel가 있어야 할 모습입니다. 그러나 CMS에서는 $_FILES 하늘 요소는 일반적으로 발생하는 것이며, 정상적인 phpMussel의 행동이 정상적인 CMS의 거동을 저해 할 우려가 있습니다. 이러한 경우에는 본 옵션을 사용하여 phpMussel 빈 요소를 검사하고 오류 메시지를 반환을 피하고 요청한 페이지로 원활하게 진행할 수 있도록합니다. `false` = OFF (해제입니다); `true` = ON (온입니다). - -##### "only_allow_images" -- true로 설정하면, 스캐너가 발견한 이미지가 아닌 파일은 스캔하지 않고 즉시 신고됩니다. 이는 때에 따라 스캔을 완료하는 데 필요한 시간을 줄이는 데 도움이 될 수 있습니다. 기본 설정에 따라 false로 설정되어 있습니다. - -#### "heuristic" -경험적 지시문 그림. - -##### "threshold" -- phpMussel이 파일은 의심 위험성이 높다고 판단하는 서명이 있습니다. 임계 값은 업로드 된 파일의 위험의 최대 값이며이를 초과하면 악성 코드로 판단됩니다. 여기에서 위험의 정의는 의심과 특정되었지만 수입니다. 기본적으로 3으로 설정되어 있습니다. 이보다 낮은 오진의 가능성이 증가하고, 너무 크면 오류 검출은 감소하지만 위험성이있는 파일이 검색되지 않을 수 증가하게됩니다. 특히 문제가 없으면 기본 설정을 유지하는 것이 좋습니다. - -#### "virustotal" (카테고리) -VirusTotal.com 지시문 그림. - -##### "vt_public_api_key" -- 옵션이지만, phpMussel은 Virus Total API를 사용하여 파일을 검색 할 수 있습니다. 바이러스, 트로이 목마, 악성 코드 및 기타 공격에 매우 효과적으로 작동합니다. 기본적으로 Virus Total API를 사용한 스캐닝은 비활성화되어 있습니다. 활성화하려면 Virus Total의 API 키가 필요합니다. 이점이 매우 크기 때문에 사용하는 것이 좋습니다. Virus Total API의 사용에 있어서는 Virus Total 문서에있는대로 이용 규정 및 지침을 준수하지 않으면 안됩니다. 이 통합 기능을 사용하기 위해서는 : - - Virus Total와 API의 서비스 규정을 읽고 동의해야합니다. [서비스 규정은 여기에서](https://www.virustotal.com/en/about/terms-of-service/). - - 최소 Virus Total Public API 문서의 전문을 읽고 이해하여 ("VirusTotal Public API v2.0"이후 "Contents"이전까지). Virus Total Public API [문서는 여기에서](https://www.virustotal.com/en/documentation/public-api/). - -주의 : Virus Total API 사용한 스캐닝이 비활성화되어있는 경우, 이 카테고리 (`virustotal`) 지시문을 참조 할 필요가 없습니다. 무효이면, 모두 작동하지 않습니다. Virus Total API 키를 얻으려면, Virus Total 사이트의 페이지 오른쪽 상단에있는 링크 "커뮤니티에 가입"을 클릭하여 필요한 사항을 기입하여 가입합니다. 지침에 따라 공용 API 키를 취득한 후`config.ini` 설정 파일`vt_public_api_key` 지시문 그것을 복사 및 붙여 넣기하십시오. - -##### "vt_suspicion_level" -- 기본 설정은 phpMussel이 Virus Total API를 사용하여 스캔 파일 (疑がわし 주물)에 제한이 있습니다. `vt_suspicion_level` 지시문을 편집 할 더, 이 제한을 변경할 수 있습니다. -- `0` : phpMussel의 시그니처를 사용하여 검사 한 결과 경험적 가중치가 있다고 판단 된 경우에만 의심스러운 파일 결론됩니다. 즉 Virus Total API는 phpMussel가 위험을 감지는했지만 완전히 그렇다고 단언하고, 따라서 블록도하지 않고 플래그를 붙이는 것도하지 않았을 때의 다른 의견입니다. -- `1` : phpMussel의 시그니처를 사용하여 검사 한 결과, 실행 파일과 같습니다 (PE 파일, Mach-O 파일은, ELF/Linux 파일 등), 혹은 실행 가능한 데이터를 포함한 포맷 (매크로, DOC/DOCX 파일 아카이브 RAR/ZIP 파일 등)이 있으면 경험적 가중치가 있다고 의심 파일과 결론됩니다. 이것은 기본 설정이며 권장 수준이기도합니다. Virus Total API는 phpMussel가 위험없이 판단하고 따라서 블록도하지 않고 플래그를 붙이는 것도하지 않았을 때의 다른 의견입니다. -- `2` : 파일은 모든 의심스러운 것으로되어 Virus Total API를 사용하여 스캔됩니다. API 할당을 고갈 우려가 있기 때문에 권장 앞두고 있지만 상황에 따라 적절하다고 말할 수 있습니다 (예를 들어, 웹 마스터 나 호스트 마스터가 업로드되는 내용을 신뢰할 수없는 상황 등). 이 경보 수준은 보통 블록 / 플래그도 대상이되지 않는 파일도 모두 Virus Total API를 사용하여 스캔됩니다. 따라서 Virus Total API의 할당을 서서히 소비 해 버리는 일도 얻고 또한 API 할당을 使い切れ하면 phpMussel은 Virus Total API의 사용을 중지합니다 (경계 수준에 관계없이). - -주의 : phpMussel 의해 블랙리스트, 화이트리스트 된 파일은 Virus Total API를 사용한 스캔의 대상이되지 않습니다. 이들은 이미 선악이 결론 낸 것이며, Virus Total API에서 다시 스캔 할 필요는 없기 때문입니다. phpMussel가 Virus Total API를 사용하는 것은 phpMussel 자신이 위험 여부에 대해 판단하기 어려운 상황에서 보조 할 수 있습니다. - -##### "vt_weighting" -- phpMussel이 Virus Total API를 사용한 스캐닝 결과를 감지으로 대우하거나, 검색 가중치로 취급 할 것인가? 여러 엔진 (Virus Total처럼)을 사용한 스캐닝은 검색 속도 향상 (더 많은 악성 코드가 감지)을 가져다 한편 오진의 증가도 발생하므로이 지시어가 존재합니다. 따라서 스캐닝 결과는 결정적인 판단이 아니라 신뢰 점수로 사용하는 것이 적절한 경우도 있습니다. 값이 0이면 Virus Total API를 사용한 검색은 검색으로 처리되어 Virus Total 엔진이 악성 코드 및 플래그가 지정된 파일은 phpMussel도 악성 코드로 판단합니다. 다른 값의 경우 결과는 검출 가중되고, 스캔 된 파일이 악성 코드 여부 phpMussel가 결정하는 신뢰 점수 (또는 감지 가중치)입니다 (값은 악성이라고 판단하기위한 최소 신뢰 점수 또는 가중치). 기본값은 0입니다. - -##### "vt_quota_rate"와 "vt_quota_time" -- Virus Total API 문서에 따르면 "1 분간의 타임 프레임 사이에 요청 최대 4 회" 의 제한이 있습니다. 허니 클라이언트와 허니팟 등의 자동화를 사용하여 리포트를받을뿐만 아니라 VirusTotal 자원을 제공하는 경우, 상한은 올라갑니다. phpMussel 기본적으로 최대 4 번을 준수하고 있습니다 만, 위의 상황에서이 두 디렉토리를 준비하고 상황에 맞게 변경할 수 있도록되어 있습니다. 한계에 도달 버리는 등의 불편이나 문제가 없으면 기본값을 변경하는 것은 권장되지 않지만 값을 작게하는 것이 적절한 경우도 있습니다. 상한은 시간 프레임`vt_quota_time` (분 내에) `vt_quota_rate`로 설정합니다. - -#### "urlscanner" (카테고리) -phpMussel에는 URL 스캐너가 내장되어 스캔 된 파일이나 데이터의 악의적 인 URL을 감지 할 수 있습니다. - -주의 : URL 스캐너를 사용하지 않을 경우이 카테고리 (`urlscanner`)를 참조 할 필요가 없습니다. - -URL 스캐너 API 조회 설정. - -##### "google_api_key" -- 필요한 API 키가 정의되면, API는 Google Safe Browsing API 조회가 활성화됩니다. Google Safe Browsing API 룩 앱스에 필요한 API 키는에서 [얻을 수 있습니다](https://console.developers.google.com/). -- 참고 : Google Safe Browsing API 조회는 아직 완성되지 않기 때문에 미래의 이용을 상정하고 있습니다. - -##### "maximum_api_lookups" -- 스캔 반복의 API 조회의 최대 수입니다. API 조회 때마다 스캔 반복의 시간이 쌓여 버리므로, 스캔 처리 속도 향상을 위해 제한을두고 싶다고 생각할지도 모릅니다. 0은 제한 없음을 의미합니다. 기본값은 10입니다. - -##### "maximum_api_lookups_response" -- API 조회 횟수 제한을 초과했을 때의 대응입니다. `false` = 아무것도 / 처리를 계속한다 (Default / 기본 설정); `true` = 파일에 플래그를 지정 / 차단한다. - -##### "cache_time" -- API 조회의 결과를 얼마나 캐시할지 (초 단위)? 기본값은 3600 초 (한 시간). - -#### "legal" (카테고리) -법적 요구 사항과 관련된 구성. - -*법적 요구 사항 및 이것이 구성 요구 사항에 미치는 영향에 대한 자세한 내용은 설명서의 "[법률 정보](#SECTION11)"절을 참조하십시오.* - -##### "pseudonymise_ip_addresses" -- 로그 파일을 쓸 때 가명으로 하다 IP 주소? True = 예 (Default / 기본 설정); False = 아니오. - -##### "privacy_policy" -- 생성 된 페이지의 꼬리말에 표시 할 관련 개인 정보 정책 방침의 주소입니다. URL 지정, 또는 사용하지 않으려면 비워 두십시오. - -#### "template_data" (카테고리) -템플릿과 테마 지시어 / 변수. - -템플릿의 데이터는 사용자를 향해 업로드 거부 메시지를 HTML 형식으로 출력 할 때 사용됩니다. 사용자 지정 테마를 사용하는 경우는`template_custom.html`를 사용하고, 그렇지 않은 경우는`template.html`를 사용하여 HTML 출력이 생성됩니다. 설정 파일에서이 섹션의 변수는 HTML 출력에 대한 해석되어로 둘러싸인 변수 이름은 해당 변수 데이터로 대체합니다. 예를 들어`foo="bar"`하면 HTML 출력의`

{foo}

`는`

bar

`입니다. - -##### "theme" -- phpMussel에 사용할 기본 테마. - -##### "magnification" -- *v1 : "Magnification"* -- 글꼴 배율. Default (기본 설정) = 1. - -##### "css_url" -- 사용자 지정 테마 템플릿 파일은 외부 CSS 속성을 사용하고 있습니다. 한편, 기본 테마는 내부 CSS입니다. 사용자 정의 테마를 적용하는 CSS 파일의 공개적 HTTP 주소를 "css_url"변수를 사용하여 지정하십시오. 이 변수가 공백이면 기본 테마가 적용됩니다. - -#### "PHPMailer" (카테고리) -PHPMailer 구성. - -현재 phpMussel은 프런트 엔드 2FA (이중 인증)만 PHPMailer를 사용합니다. 프런트 엔드를 사용하지, 않거나 프런트 엔드에 2FA (이중 인증)을 사용하지 않는 경우, 이러한 지침을 무시할 수 있습니다. - -##### "event_log" -- *v1 : "EventLog"* -- PHPMailer와 관련된 모든 이벤트를 기록하는 파일입니다. 파일 이름을 지정하십시오. 비활성화하려면 비워 둡니다. - -##### "skip_auth_process" -- *v1 : "SkipAuthProcess"* -- `true` 일 때, PHPMailer는 전자 메일 전송을위한 SMTP 인증 프로세스를 건너 뛰도록 지시합니다. 이 프로세스를 건너 뛰면 아웃 바운드 전자 메일이 MITM 공격에 노출 될 수 있으므로 피해야합니다. 특정 경우에 필요할 수 있음 (예 : PHPMailer가 SMTP 서버에 제대로 연결할 수없는 경우). - -##### "enable_two_factor" -- *v1 : "Enable2FA"* -- 이 지시문은 프런트 엔드 계정에 2FA를 사용할지 여부를 결정합니다. - -##### "host" -- *v1 : "Host"* -- 아웃 바운드 전자 메일에 사용할 SMTP 호스트입니다. - -##### "port" -- *v1 : "Port"* -- 아웃 바운드 이메일에 사용할 포트 번호입니다. Default (기본 설정) = 587. - -##### "smtp_secure" -- *v1 : "SMTPSecure"* -- SMTP를 통해 이메일을 보낼 때 사용할 프로토콜 (TLS 또는 SSL). - -##### "smtp_auth" -- *v1 : "SMTPAuth"* -- 이 지시문은 SMTP 세션을 인증할지 여부를 결정합니다 (보통 이것을 무시해야합니다). - -##### "username" -- *v1 : "Username"* -- SMTP를 통해 이메일을 보낼 때 사용할 사용자 이름입니다. - -##### "password" -- *v1 : "Password"* -- SMTP를 통해 이메일을 보낼 때 사용할 비밀번호입니다. - -##### "set_from_address" -- *v1 : "setFromAddress"* -- SMTP를 통해 전자 메일을 보낼 때 인용 할 보낸 사람 주소입니다. - -##### "set_from_name" -- *v1 : "setFromName"* -- SMTP를 통해 전자 메일을 보낼 때 인용 할 보낸 사람 이름입니다. - -##### "add_reply_to_address" -- *v1 : "addReplyToAddress"* -- SMTP를 통해 전자 메일을 보낼 때 인용 할 회신 주소입니다. - -##### "add_reply_to_name" -- *v1 : "addReplyToName"* -- SMTP를 통해 이메일을 보낼 때 인용 할 회신 이름입니다. - -#### "supplementary_cache_options" (카테고리) -보충 캐시 옵션. - -##### "prefix" -- 여기에 지정된 값은 모든 캐시 항목 키 앞에 추가됩니다. 기본적으로 비어 있습니다. 동일한 서버에 여러 설치가 있는 경우, 캐시를 서로 분리하여 유지하는 데 유용할 수 있습니다. - -##### "enable_apcu" -- 캐싱에 APCu를 사용할지 여부를 지정합니다. Default (기본값) = False. - -##### "enable_memcached" -- 캐싱에 Memcached를 사용할지 여부를 지정합니다. Default (기본값) = False. - -##### "enable_redis" -- 캐싱에 Redis를 사용할지 여부를 지정합니다. Default (기본값) = False. - -##### "enable_pdo" -- 캐싱에 PDO를 사용할지 여부를 지정합니다. Default (기본값) = False. - -##### "memcached_host" -- Memcached 호스트 값. Default (기본값) = "localhost". - -##### "memcached_port" -- Memcached 포트 값. Default (기본값) = "11211". - -##### "redis_host" -- Redis 호스트 값. Default (기본값) = "localhost". - -##### "redis_port" -- Redis 포트 값. Default (기본값) = "6379". - -##### "redis_timeout" -- Redis 시간 초과 값. Default (기본값) = "2.5". - -##### "pdo_dsn" -- PDO DSN 값. Default (기본값) = "`mysql:dbname=phpmussel;host=localhost;port=3306`". - -*또한보십시오 : ["PDO DSN"은 무엇입니까? phpMussel과 함께 PDO를 사용하려면 어떻게해야합니까?](#HOW_TO_USE_PDO)* - -##### "pdo_username" -- PDO 사용자 이름. - -##### "pdo_password" -- PDO 암호. - ---- - - -### 8. 서명 형식 - -*참조 :* -- *["서명"이란 무엇입니까?](#WHAT_IS_A_SIGNATURE)* - -phpMussel 서명 파일의 첫 번째 9 바이트 `[x0-x8]` 는`phpMussel`이며, "매직 넘버" (magic number)로 기능합니다 (그들을 서명 파일로 식별하기 위해). 서명 파일이 아닌 파일을 잘못 사용하는 것을 방지 할 수 있습니다. 다음 바이트는 `[x9]` 서명 파일의 유형을 식별합니다. 서명 파일을 올바르게 해석 할 수 있도록하기 위해 이것을 알고 있어야합니다. 다음 유형의 서명 파일이 인식됩니다. - -유형 | 바이트 | 설명 ----|---|--- -`General_Command_Detections` | `0?` | CSV (쉼표로 구분 된 값)의 서명 파일. 서명은 16 진수로 인코딩 된 문자열입니다. 여기 서명에는 이름 및 기타 세부 사항은 없습니다 (검색 문자열 만). -`Filename` | `1?` | 파일 이름의 서명. -`Hash` | `2?` | 해시 서명. -`Standard` | `3?` | 파일 내용에서 직접 운영하는 서명 파일. -`Standard_RegEx` | `4?` | 파일 내용에서 직접 운영하는 서명 파일. 서명에 정규 표현식을 포함 할 수 있습니다. -`Normalised` | `5?` | ANSI 표준화 된 파일 내용에서 작동하는 서명 파일. -`Normalised_RegEx` | `6?` | ANSI 표준화 된 파일 내용에서 작동하는 서명 파일. 서명에 정규 표현식을 포함 할 수 있습니다. -`HTML` | `7?` | HTML 표준화 된 파일 내용에서 작동하는 서명 파일. -`HTML_RegEx` | `8?` | HTML 표준화 된 파일 내용에서 작동하는 서명 파일. 서명에 정규 표현식을 포함 할 수 있습니다. -`PE_Extended` | `9?` | PE 메타 데이터에서 작동하는 서명 파일 (PE 섹션 메타 데이터는 사용할 수 없습니다). -`PE_Sectional` | `A?` | PE 섹션 메타 데이터에서 작동하는 서명 파일. -`Complex_Extended` | `B?` | phpMussel 의해 생성 된 확장 메타 데이터를 기반으로 다양한 규칙에서 동작하는 서명 파일. -`URL_Scanner` | `C?` | URL에서 작동하는 서명 파일. - -다음 바이트는 `[x10]` 개행이며 `[0A]`, phpMussel 서명 파일의 헤더를 끝냅니다. - -이후 각 비어 있지 않은 행은 서명 또는 규칙입니다. 각 서명 또는 규칙은 한 줄을 차지합니다. 지원되는 서명 형식은 다음과 같습니다. - -#### *파일 이름 서명* -파일 이름 서명의 형식은 예외없이 다음과 같이됩니다. - -`NAME:FNRX` - -NAME은 그 서명을 가리키는 이름으로 FNRX은 파일 이름 (인코딩되지 않은)에 일치하는 정규식 패턴입니다. - -#### *해시 서명* -해시 서명의 형식은 예외없이 다음과 같이됩니다. - -`HASH:FILESIZE:NAME` - -HASH는 모든 파일의 해시 (보통 MD5), FILESIZE 파일의 전체 크기, NAME은 그 서명을 가리키는 이름입니다. - -#### *PE 섹션 셔널 서명* -PE 섹션 셔널 서명의 형식은 예외없이 다음과 같이됩니다. - -`SIZE:HASH:NAME` - -HASH는 PE 파일이있는 부분의 MD5 해시, SIZE는 그 부분의 전체 크기, NAME은 서명을 가리키는 이름입니다. - -#### *PE 확장 서명* -PE 확장 서명의 형식은 예외없이 다음과 같이됩니다. - -`$VAR:HASH:SIZE:NAME` - -$VAR는 일치하는 PE 변수의 이름, HASH은 그 변수의 MD5 해시 크기는 변수의 전체 크기, NAME은 그 서명을 가리키는 이름입니다. - -#### *복합 확장 서명* -복합 확장 서명은 다른 시그니처와는 조금 달리 무엇에 적합한 지 그것이 자신의 서명에 의해 결정 기준은 하나가 아닙니다. 적합 기준은 ";"은 적합 타입 적합 데이터는 ":"에 따릅니다. 따라서 형식은 $variable1 : 어떤 데이터; $variable2 : SOMEDATA; 어떤 데이터 수 있습니다. - -`$variable1:SOMEDATA;$variable2:SOMEDATA;SignatureName` - -#### *기타* -기타 서명 형식입니다. - -`NAME:HEX:FROM:TO` - -NAME은 그 서명을 가리키는 이름, HEX는 주어진 서명에 의해 적합을 보는 파일의 16 진수로 인코딩 된 세그먼트입니다. FROM과 TO는 옵션 매개 변수 데이터 소스 어디서부터 어디까지 확인 여부를 나타냅니다 (메일 기능은 지원하지 않습니다). - -#### *정규 표현식* -PHP는 정규 표현식 판단 처리하는 형식이면 phpMussel과 서명에 의해 확실히 처리됩니다. 그러나 만약을 위해 서명을 기초로하는 정규 표현식을 새로 만들려면 세심한주의를 기울이십시오. 절대적인 자신이없는 상황에서는 생각도 못한 오류가 발생 될 수 있습니다. 정규식 구문이 준비되어 문맥을 완전히 이해하지 않는다면 phpMussel 코드를 보라. 패턴은 모든 (파일 이름 아카이브 메타 데이터의 MD5 패턴 제외) 16 진수로 인코딩되어야한다는 점에주의 (위의 패턴 구문도)입니다! - ---- - - -### 9. 알려진 호환성 문제 - -#### PHP와 PCRE -- phpMussel가 제대로 작동하기 위해서는 PHP와 PCRE가 필요합니다. 어느 한쪽이라도 부족하면 제대로 작동하지 않습니다. 시스템에 PHP와 PCRE 모두 설치되어 있는지 phpMussel 다운로드 전에 확인하십시오. - -#### 안티 바이러스 소프트웨어와의 호환성 - -phpMussel과 일부 안티바이러스 공급 업체 간의 호환성 문제는 과거에 가끔 발생하는 것으로 알려져 있습니다. 따라서 대략 몇 개월마다, 내가 Virus Total과 비교하여 최신 버전의 phpMussel 코드 베이스를 확인합니다, 문제가보고되는지 확인하기 위해. 문제가보고 된 경우 보고 된 문제는 여기 문서에 나열되어 있습니다. - -가장 최근에 확인했을 때 (2022년 5월 12일) 아무런 문제 가보고되지 않았습니다. - -나는 서명 파일, 설명서 또는 기타 주변 장치 내용을 확인하지 않습니다. 시그너처 파일은 다른 안티 바이러스 솔루션이 탐지 할 때 항상 오 탐지를 유발합니다. 따라서 다른 안티 바이러스 솔루션이 이미 존재하는 머신에 phpMussel을 설치하려는 경우, phpMussel 서명 파일을 허용 목록에 추가하는 것이 좋습니다. - ---- - - -### 10. 자주 묻는 질문 (FAQ) - -- ["서명"이란 무엇입니까?](#WHAT_IS_A_SIGNATURE) -- ["거짓 양성"는 무엇입니까?](#WHAT_IS_A_FALSE_POSITIVE) -- [서명은 얼마나 자주 업데이트됩니까?](#SIGNATURE_UPDATE_FREQUENCY) -- [phpMussel을 사용하는 데 문제가 발생했지만 무엇을 해야할지 모르겠어요! 도와주세요!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [5.4.0보다 오래된 PHP 버전에서 phpMussel (v2 이전)을 사용하고 싶습니다; 도울 수 있니?](#MINIMUM_PHP_VERSION) -- [7.2.0보다 오래된 PHP 버전에서 phpMussel (v2)을 사용하고 싶습니다; 도울 수 있니?](#MINIMUM_PHP_VERSION_V2) -- [단일 phpMussel 설치를 사용하여 여러 도메인을 보호 할 수 있습니까?](#PROTECT_MULTIPLE_DOMAINS) -- [나는 이것을 설치하거나 그것이 내 웹 사이트상에서 동작하는 것을 보장하는 시간을 보내고, 하고 싶지 않아; 그것을 할 수 있습니까? 나는 당신을 고용 할 수 있습니까?](#PAY_YOU_TO_DO_IT) -- [당신 또는 이 프로젝트의 모든 개발자는 고용 가능합니까?](#HIRE_FOR_PRIVATE_WORK) -- [나는 전문가의 변경 및 사용자 맞춤형 등이 필요합니다; 도울 수 있니?](#SPECIALIST_MODIFICATIONS) -- [나는 개발자, 웹 사이트 디자이너, 또는 프로그래머입니다. 이 프로젝트 관련 작업을 할 수 있습니까?](#ACCEPT_OR_OFFER_WORK) -- [나는 프로젝트에 공헌하고 싶다; 이것은 수 있습니까?](#WANT_TO_CONTRIBUTE) -- [파일 검색시 특정 정보에 액세스하려면 어떻게해야합니까?](#SCAN_DEBUGGING) -- [Cron을 사용하여 자동으로 업데이트 할 수 있습니까?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [phpMussel은 ANSI가 아닌 이름으로 파일을 스캔 수 있습니까?](#SCAN_NON_ANSI) -- [블랙리스트 – 화이트리스트 – 그레이리스트 – 그들은 무엇이며 어떻게 사용합니까?](#BLACK_WHITE_GREY) -- [서명 파일이 업데이트 페이지를 통해 활성화되거나 비활성화되면, 구성에서 문자 또는 숫자로 정렬됩니다. 분류 방식을 변경할 수 있습니까?](#CHANGE_COMPONENT_SORT_ORDER) -- ["PDO DSN"은 무엇입니까? phpMussel과 함께 PDO를 사용하려면 어떻게해야합니까?](#HOW_TO_USE_PDO) -- [내 업로드 기능이 비동기입니다 (예를 들어, ajax, ajaj, json 등을 사용합니다). 업로드가 차단되면 특별한 메시지 나 경고가 표시되지 않습니다. 무슨 일이야?](#AJAX_AJAJ_JSON) -- [phpMussel이 EICAR를 감지 할 수 있습니까?](#DETECT_EICAR) - -#### "서명"이란 무엇입니까? - -phpMussel의 맥락에서, "서명" 이라 함은 우리가 찾고있는 것을 식별하는 데이터를 의미합니다 (바이러스, 트로이 목마, 등). 이 데이터는 일반적으로 파일의 체크섬 해시 또는 기타 유사한 식별 표시합니다. 일반적으로 라벨이나 추가 컨텍스트를 제공하기위한 기타 데이터가 포함되어 있습니다. - -#### "거짓 양성"는 무엇입니까? - -일반화 된 상황에서 쉽게 설명 조건의 상태를 테스트 할 때 결과를 참조 할 목적으로 용어 "거짓 양성"의 (*또는 : 위양성의 오류, 허위 보도;* 영어 : *false positive*; *false positive error*; *false alarm*) 의미는 결과는 "양성"의 것, 그러나 결과는 실수 (즉, 진실의 조건은 "양성/진실"로 간주됩니다, 그러나 정말 "음성/거짓"입니다). "거짓 양성"는 "우는 늑대"와 유사하다고 생각할 수 있습니다 (그 상태는 군 근처에 늑대가 있는지 여부이다, 진실 조건은 "거짓/음성"입니다 무리의 가까이에 늑대가 없기 때문입니다하지만 조건은 "진실/양성"로보고됩니다 목자가 "늑대! 늑대!"를 외쳤다 때문입니다) 또는 의료 검사와 유사 환자가 잘못 진단 된 경우. - -몇 가지 관련 용어는 "진실 양성", "진실 음성"와 "거짓 음성"입니다. 이러한 용어가 나타내는 의미 : "진실 양성"의 의미는 테스트 결과와 진실 조건이 진실입니다 (즉, "양성"입니다). "진실 음성"의 의미는 테스트 결과와 진실 조건이 거짓 (즉, "음성"입니다). "진실 양성"과 "진실 음성"는 "올바른 추론"로 간주됩니다. "거짓 양성"의 반대는 "거짓 음성"입니다. "거짓 음성"의 의미는 테스트 결과가 거짓입니다 (즉, "음성"입니다) 하지만 진실의 조건이 정말 진실입니다 (즉, "양성"입니다); 두 테스트 결과와 진실 인 조건이 "진실/양성" 해야한다 것입니다. - -phpMussel의 맥락에서 이러한 용어는 phpMussel 서명과 그들이 차단 된 파일을 말합니다. phpMussel가 실수로 파일을 차단하면 (예를 들어, 부정확 한 서명, 구식의 서명 등에 의한), 우리는이 이벤트 "틀린 확실성"을 호출합니다. phpMussel이 파일을 차단할 수없는 경우 (예를 들어, 예상치 못한 위협 서명 누락 등으로 인한), 우리는이 이벤트 "부재 감지"를 호출합니다 ("위음성"의 아날로그입니다). - -이것은 다음 표에 요약 할 수 있습니다. - -  | phpMussel은 파일을 차단 필요가 없습니다 | phpMussel은 파일을 차단해야합니다 ----|---|--- -phpMussel은 파일을 차단하지 않습니다 | 진정한 네거티브 (올바른 추론) | 부재 검출 (그것은 "위음성"와 같습니다) -phpMussel은 파일을 차단합니다 | __위양성__ | 진정한 양성 (올바른 추론) - -#### 서명은 얼마나 자주 업데이트됩니까? - -업 데이트 빈도는 서명 파일에 따라 다릅니다. phpMussel 서명 파일의 모든 메인테이너가 자주 업 데이트를 시도하지만, 우리의 여러분에게는 그 밖에도 다양한 노력이있어, 우리는 프로젝트 외부에서 생활하고 있으며, 아무도 재정적으로 보상되지 않는, 따라서 정확한 업 데이트 일정은 보장되지 않습니다. 일반적으로 충분한 시간이 있으면 서명이 업 데이트됩니다. 당신이 뭔가를 제공 할 수 있다면, 원조는 항상 높게 평가됩니다. - -#### phpMussel을 사용하는 데 문제가 발생했지만 무엇을 해야할지 모르겠어요! 도와주세요! - -- 당신은 최신 소프트웨어 버전을 사용하고 있습니까? 당신은 최신 서명 파일 버전을 사용하고 있습니까? 그렇지 않은 경우, 먼저 업 데이트하십시오. 문제가 해결되지 여부를 확인하십시오. 그것이 계속되면 읽어보십시오. -- 당신은 문서를 확인 했습니까? 만약 그렇지 않으면, 그렇지하십시오. 문서를 사용하여 문제를 해결할 수없는 경우, 계속 읽어보십시오. -- **[이슈 페이지를](https://github.com/phpMussel/phpMussel/issues)** 확인 했습니까? 문제가 이전에 언급되어 있는지 확인하십시오. 제안, 아이디어, 솔루션이 제공되었는지 여부를 확인하십시오. -- 문제가 해결되지 않으면 알려 주시기 바랍니다. 이슈 페이지에서 토론을 창조한다. - -#### 5.4.0보다 오래된 PHP 버전에서 phpMussel (v2 이전)을 사용하고 싶습니다; 도울 수 있니? - -아니오. PHP >= 5.4.0은 phpMussel < v2의 최소 요구 사항입니다. - -#### 7.2.0보다 오래된 PHP 버전에서 phpMussel (v2)을 사용하고 싶습니다; 도울 수 있니? - -아니오. PHP >= 7.2.0은 phpMussel v2의 최소 요구 사항입니다. - -*참조 : [호환성 차트](https://maikuolan.github.io/Compatibility-Charts/).* - -#### 단일 phpMussel 설치를 사용하여 여러 도메인을 보호 할 수 있습니까? - -예. phpMussel 설치는 특정 도메인에 국한되지 않습니다, 따라서 여러 도메인을 보호하기 위해 사용할 수 있습니다. 일반적으로, 하나의 도메인 만 보호 설치 우리는 "단일 도메인 설치"이 라고 부릅니다에서 여러 도메인을 보호하는 설치 우리는 "멀티 도메인 설치"이 라고 있습니다. 다중 도메인 설치를 사용하는 경우 다른 도메인에 다른 서명 파일 세트를 사용할 필요가 있거나 다른 도메인에 phpMussel을 다른 설정해야합니다 이것을 할 수 있습니다. 설정 파일을로드 한 후 (`config.ini`), phpMussel 요청 된 도메인의 "구성 재정 파일"의 존재를 확인합니다 (`xn--hq1bngz0pl7nd2aqft27a.tld.config.ini`), 그리고 발견 된 경우, 구성 재정 파일에 의해 정의 된 구성 값은 설정 파일에 의해 정의 된 구성 값이 아니라 실행 인스턴스에 사용됩니다. 구성 재정 파일은 설정 파일과 동일합니다. 귀하의 재량에 따라 phpMussel에서 사용할 수있는 모든 구성 지시문 전체 또는 필요한 하위 섹션을 포함 할 수 있습니다. 구성 재정 파일은 그들이 의도하는 도메인에 따라 지정됩니다 (그래서 예를 들면, 도메인 `https://www.some-domain.tld/` 컨피규레이션 재정 파일이 필요한 경우, 구성 재정 파일의 이름은 `some-domain.tld.config.ini` 할 필요가 있습니다. 일반 구성 파일과 동일한 위치에 보관해야합니다). 도메인 이름은 `HTTP_HOST` 에서옵니다. "www"는 무시됩니다. - -#### 나는 이것을 설치하거나 그것이 내 웹 사이트상에서 동작하는 것을 보장하는 시간을 보내고, 하고 싶지 않아; 그것을 할 수 있습니까? 나는 당신을 고용 할 수 있습니까? - -아마. 이는 사례별로 검토되고 있습니다. 당신의 요구로 제공할 수 있는 것을 가르쳐주세요. 우리가 도울 수 있는지를 가르쳐주고 있습니다. - -#### 당신 또는 이 프로젝트의 모든 개발자는 고용 가능합니까? - -*위를 참조하십시오.* - -#### 나는 전문가의 변경 및 사용자 맞춤형 등이 필요합니다; 도울 수 있니? - -*위를 참조하십시오.* - -#### 나는 개발자, 웹 사이트 디자이너, 또는 프로그래머입니다. 이 프로젝트 관련 작업을 할 수 있습니까? - -예. 우리의 라이센스는이를 금지하지 않습니다. - -#### 나는 프로젝트에 공헌하고 싶다; 이것은 수 있습니까? - -예. 프로젝트에 기여 환영합니다. 자세한 내용은 "CONTRIBUTING.md"를 참조하십시오. - -#### 파일 검색시 특정 정보에 액세스하려면 어떻게해야합니까? - -이것은 phpMussel 그들을 검사하도록 지시하기 전 에이 목적을 위해 사용하는 배열을 할당하여 수행할 수 있습니다. - -다음 예제에서는이 목적을 위해 `$Foo` 가 할당되어 있습니다. `/파일/경로/...` 를 스캔 한 후 `/파일/경로/...` 파일에 대한 정보는 `$Foo` 에 있습니다. - -```PHP -Cron을 사용하여 자동으로 업데이트 할 수 있습니까? - -예. 외부 스크립트를 통해 업데이트 페이지와 상호 작용하기위한 프런트 엔드에 API가 내장되어 있습니다. 별도의 스크립트 인 "[Cronable](https://github.com/Maikuolan/Cronable)"을 사용할 수 있습니다. Cron 관리자 또는 Cron 스케줄러가이 사용할 수 있습니다, 패키지 및 기타 지원되는 패키지를 자동으로 업데이트하는 데 사용할 수 있습니다 (이 스크립트는 자체 문서를 제공합니다.). - -#### phpMussel은 ANSI가 아닌 이름으로 파일을 스캔 수 있습니까? - -스캔하려는 디렉토리가 있다고 가정합니다. 이 디렉토리에는 비 ANSI 이름을 가진 일부 파일이 있습니다. -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -CLI 모드 나 phpMussel API를 사용하여 스캔한다고 가정 해보십시오. - -일부 시스템에서 PHP를 사용할 때, phpMussel은 디렉토리를 스캔 할 때이 파일을 보거나 스캔 할 수 없습니다. 빈 디렉토리를 검색 할 때도 동일한 결과가 나타납니다 : - -``` - Sun, 01 Apr 2018 22:27:41 +0800 시작했다. - Sun, 01 Apr 2018 22:27:41 +0800 완료. -``` - -또한, PHP < 7.1.0을 사용할 때 파일을 개별적으로 스캔하면 다음과 같은 결과가 생성됩니다 : - -``` - Sun, 01 Apr 2018 22:27:41 +0800 시작했다. - > 현재 분석 중 : 'X:/directory/Пример.txt' (FN: b831eb8f): - -> 유효하지 않은 파일! - Sun, 01 Apr 2018 22:27:41 +0800 완료. -``` - -또는 다음과 같습니다 : - -``` - Sun, 01 Apr 2018 22:27:41 +0800 시작했다. - > X:/directory/??????.txt는 파일 또는 디렉토리가 아닙니다. - Sun, 01 Apr 2018 22:27:41 +0800 완료. -``` - -이는 PHP 7.1.0 이전에 ANSI가 아닌 파일 이름이 처리되는 방식 때문입니다. 이 문제가 발생하면 PHP 설치를 7.1.0 이상으로 업데이트하십시오. PHP >= 7.1.0에서는, ANSI가 아닌 파일 이름이 더 잘 처리되며 phpMussel은 파일을 제대로 검색 할 수 있어야합니다. - -비교를 위해, PHP >= 7.1.0를 사용하여 디렉토리를 스캔하려고 할 때의 결과 : - -``` - Sun, 01 Apr 2018 22:27:41 +0800 시작했다. - -> 현재 분석 중 : '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> 문제는 발견되지 않았습니다. - -> 현재 분석 중 : '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> 문제는 발견되지 않았습니다. - -> 현재 분석 중 : '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> 문제는 발견되지 않았습니다. - Sun, 01 Apr 2018 22:27:41 +0800 완료. -``` - -개별적으로 파일을 검사하려고 시도하면 다음과 같습니다 : - -``` - Sun, 01 Apr 2018 22:27:41 +0800 시작했다. - > 현재 분석 중 : 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> 문제는 발견되지 않았습니다. - Sun, 01 Apr 2018 22:27:41 +0800 완료. -``` - -#### 블랙리스트 – 화이트리스트 – 그레이리스트 – 그들은 무엇이며 어떻게 사용합니까? - -용어는 다른 맥락에서 다른 의미를 전달합니다. phpMussel에는, 이러한 용어가 사용되는 세 가지 상황이 있습니다 : 파일 크기 응답, 파일 형식 응답, 및 서명 그레이리스트. - -최소한의 처리 비용으로 원하는 결과를 얻으려면, phpMussel이 파일을 실제로 스캔하기 전에 확인할 수있는 간단한 방법이 몇 가지 있습니다 (예를 들어, 파일의 크기, 이름, 및 확장자). 예를 들어; 파일이 너무 큰 경우 또는 확장자가 우리의 웹 사이트에 허용하지 않으려는 파일 유형을 나타내는 경우, 즉시 파일에 플래그를 세울 수 있으며, 스캔 할 필요가 없습니다. - -파일 크기 응답 파일이 지정된 제한을 초과하면 phpMussel가 응답하는 방법입니다. 실제 목록은 포함되지 않지만, 파일은 그 크기에 따라 효과적으로 블랙리스트에있는 화이트리스트에있는 또는 그레이리스트에 있다고 생각합니다. 한계와 원하는 응답을 각각 지정하는 두 개의 별개의 구성 지시문이 있습니다. - -파일 유형의 응답은 phpMussel 파일 확장명에 응답하는 방법입니다. 어떤 확장자가 어떤 목록에 있어야하는지 명시 적으로 지정하는 세 가지 별개의 구성 지시문이 있습니다. 확장자가 지정된 확장자와 각각 일치하면 파일이 효과적으로 나열된 것으로 간주 될 수 있습니다. - -이 두 컨텍스트는 화이트리스트에있는 스캔 또는 플래그 지정해서는 없다는 것을 의미합니다, 블랙리스트에있는 플래그 지정해야합니다 것을 의미합니다 (따라서 스캔해야 아니다) 그리고, 그레이리스트에있는 플래그를 세울 필요가 있는지 여부를 판단하기 위해 추가 분석이 필요합니다 것을 의미합니다 (따라서 스캔해야합니다). - -서명 그레이리스트는 본질적으로 무시해서는 시그니처 목록입니다 (이 내용은 위의 문서에서 쉽게 설명하고 있습니다). 서명은 회색 목록에 서명이 트리거되면 phpMussel 내가 일을 계속 회색 목록에 서명 관하여 특별한 조치를 취하지 않습니다. 무언의 동작은 트리거 된 서명의 정상적인 작동이기 때문에 시그니처 블랙리스트가 없습니다. 이러한 맥락에서 필요하지 않기 때문에 서명 화이트리스트가 없습니다. - -서명 파일 전체를 비활성화하거나 제거하지 않고 특정 서명에 의해 발생한 문제를 해결해야하는 경우 서명 그레이리스트가 도움이됩니다. - -#### 서명 파일이 업데이트 페이지를 통해 활성화되거나 비활성화되면, 구성에서 문자 또는 숫자로 정렬됩니다. 분류 방식을 변경할 수 있습니까? - -예. 특정 순서로 실행할 파일이 필요할 때, 그들의 이름 앞에 설정 지시자가있는 임의의 데이터를 추가 할 수있다 (콜론을 사용하여이 데이터와 이름을 구분하십시오). 이후에 업데이트 페이지가 파일을 다시 정렬하면, 추가 된 임의의 데이터가 정렬 순서에 영향을줍니다. 이렇게하면 파일이 원하는 순서대로 실행됩니다, 그 중 하나의 이름을 바꿀 필요가 없습니다. - -예를 들어, 다음과 같이 나열된 파일이있는 구성 지시문을 가정합니다 : - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -`file3.php`를 먼저 실행시키고 싶다면, 파일 이름 앞에 `aaa:`와 같은 것을 추가 할 수 있습니다 : - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -그런 다음 새 파일 `file6.php`가 활성화되면, 업데이트 페이지에서 모두 다시 정렬하면 다음과 같이 끝납니다 : - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -파일이 비활성화 될 때와 동일한 상황입니다. 반대로, 파일을 마지막으로 실행하려면, 파일 이름 앞에 `zzz:`와 같은 것을 추가 할 수 있습니다. 어떤 경우이든 해당 파일의 이름을 바꿀 필요가 없습니다. - -#### "PDO DSN"은 무엇입니까? phpMussel과 함께 PDO를 사용하려면 어떻게해야합니까? - -"PDO"는 "[PHP Data Objects](https://www.php.net/manual/en/intro.pdo.php)"의 약어입니다 (PHP 데이터 객체). PHP가 다양한 PHP 응용 프로그램에서 일반적으로 사용하는 일부 데이터베이스 시스템에 연결할 수 있도록 인터페이스를 제공합니다. - -"DSN"은 "[data source name](https://en.wikipedia.org/wiki/Data_source_name)"의 약어입니다 (데이터 소스 이름). "PDO DSN"은 PDO가 데이터베이스에 연결하는 방법을 설명합니다. - -phpMussel은 캐싱 목적으로 PDO 을 활용할 수 있는 옵션을 제공합니. 이 기능이 제대로 작동하려면, phpMussel을 적절히 구성하고 (따라서 PDO를 사용하도록 설정), 사용할 phpMussel 용 데이터베이스를 새로 작성하고 (phpMussel 용 데이터베이스를 아직 염두에 두지 않은 경우), 그런 아래 설명된 구조에 따라 데이터베이스에 새 테이블을 작성하십시오. - -데이터베이스 연결이 성공한 경우, 그러나 필요한 테이블이 존재하지 않습니다, 자동 생성이 시도됩니다. 그러나 이 동작은 광범위하게 테스트 되지 않았으며 성공을 보장할 수 없습니다. - -물론 이것은 실제로 phpMussel이 PDO 을 사용하도록 하려는 경우에만 적용됩니다. 플랫 파일 캐싱 (기본 구성에 따라) 또는 제공된 다양한 캐싱 옵션을 사용하기에 충분하다면, 데이터베이스, 테이블 등을 설정하는 데 어려움을 겪을 필요가 없습니다. - -아래 설명된 구조는 "phpmussel"을 데이터베이스 이름으로 사용하지만, DSN 구성에 동일한 이름이 복제되는 한 데이터베이스에 원하는 이름을 사용할 수 있습니다. - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -phpMussel의 `pdo_dsn` 설정 지시어는 아래와 같이 설정해야합니다. - -``` -사용되는 데이터베이스 드라이버에 따라... -├─4d (경고 : 실험적, 테스트 되지 않은, 권장하지 않음!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └데이터베이스를 찾기 위해 연결할 호스트입니다. -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └사용할 데이터베이스의 이름입니다. -│ │ │ -│ │ └호스트에 연결할 포트 번호입니다. -│ │ -│ └데이터베이스를 찾기 위해 연결할 호스트입니다. -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └사용할 데이터베이스의 이름입니다. -│ │ │ -│ │ └데이터베이스를 찾기 위해 연결할 호스트입니다. -│ │ -│ └가능한 값 : "mssql", "sybase", "dblib". -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├로컬 데이터베이스 파일의 경로일 수 있습니다. -│ │ -│ ├호스트 및 포트 번호와 연결할 수 있습니다. -│ │ -│ └이것을 사용하려면 Firebird 설명서를 참조하십시오. -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └연결할 카탈로그 된 데이터베이스입니다. -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └연결할 카탈로그 된 데이터베이스입니다. -├─mysql (가장 추천!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └호스트에 연결할 포트 번호입니다. -│ │ │ -│ │ └데이터베이스를 찾기 위해 연결할 호스트입니다. -│ │ -│ └사용할 데이터베이스의 이름입니다. -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├카탈로그 된 특정 데이터베이스를 참조 할 수 있습니다. -│ │ -│ ├호스트 및 포트 번호와 연결할 수 있습니다. -│ │ -│ └이것을 사용하려면 Oracle 설명서를 참조하십시오. -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├카탈로그 된 특정 데이터베이스를 참조 할 수 있습니다. -│ │ -│ ├호스트 및 포트 번호와 연결할 수 있습니다. -│ │ -│ └이것을 사용하려면 ODBC/DB2 설명서를 참조하십시오. -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └사용할 데이터베이스의 이름입니다. -│ │ │ -│ │ └호스트에 연결할 포트 번호입니다. -│ │ -│ └데이터베이스를 찾기 위해 연결할 호스트입니다. -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └사용할 로컬 데이터베이스 파일의 경로입니다. -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └사용할 데이터베이스의 이름입니다. - │ │ - │ └호스트에 연결할 포트 번호입니다. - │ - └데이터베이스를 찾기 위해 연결할 호스트입니다. -``` - -DSN의 특정 부분에 무엇을 사용해야할지 확실하지 않은 경우, 아무것도 변경하지 않고 그대로 작동하는지 먼저 확인하십시오. - -`pdo_username` 및 `pdo_password` 는 데이터베이스에 대해 선택한 사용자 이름 및 비밀번호와 같아야합니다. - -#### 내 업로드 기능이 비동기입니다 (예를 들어, ajax, ajaj, json 등을 사용합니다). 업로드가 차단되면 특별한 메시지 나 경고가 표시되지 않습니다. 무슨 일이야? - -이것은 정상입니다. phpMussel의 표준 "업로드 거부"페이지는 HTML로 제공됩니다. 일반적인 동기 요청에는 충분하지만, 업로드 기능이 다른 것을 기대하는 경우 충분하지 않을 수 있습니다. 업로드 기능이 비동기식이거나 업로드 상태가 비동기식으로 제공될 것으로 예상되는 경우, phpMussel이 업로드 기능의 요구를 충족시키기 위해 시도 할 수있는 몇 가지가 있습니다. - -1. HTML 이외의 것을 제공하기 위해 사용자 정의 출력 템플 리트 작성. -2. 표준 "업로드 거부"페이지를 완전히 무시하고 업로드가 차단될 때 업로드 핸들러가 다른 작업을 수행하도록 사용자 정의 플러그인 작성 (이 목적을 위해 업 로더 핸들러가 제공하는 플러그인 훅이 있습니다). -3. 업로드 핸들러를 완전히 비활성화하고 대신 업로드 기능 내에서 phpMussel API를 호출하십시오. - -#### phpMussel이 EICAR를 감지 할 수 있습니까? - -예. EICAR 감지를 위한 서명은 "phpMussel 표준 정규식 서명 파일"에 (`phpmussel_regex.db`) 포함되어 있습니다. 서명 파일이 설치 및 활성화되어있는 한, phpMussel은 EICAR을 감지할 수 있어야 합니다. ClamAV 데이터베이스에는 특히 EICAR 감지를 위한 수많은 서명이 포함되어 있음으로 ClamAV는 EICAR을 쉽게 감지 할 수 있습니다, 그러나 phpMussel은 ClamAV에서 제공하는 전체 서명의 일부만 사용하므로 phpMussel에서 EICAR을 감지하는 데 그 자체로는 충분하지 않을 수 있습니다. 이를 감지하는 기능은 정확한 구성에 따라 달라질 수 있습니다. - ---- - - -### 11. 법률 정보 - -#### 11.0 섹션 프리앰블 - -이 절은 패키지의 사용 및 구현에 관한 가능한 법적 고려 사항을 설명하고 기본 관련 정보를 제공하기위한 것입니다. 이 정보는 자국에서있을 수있는 법적 요구 사항 때문에 일부 사용자에게 중요 할 수 있습니다. 일부 사용자는이 정보에 따라 웹 사이트 정책을 조정해야 할 수도 있습니다. - -무엇보다, 나는 (패키지 저자)가 변호사 또는 자격을 갖춘 법률 전문가가 아님을 알아 주시기 바랍니다. 따라서, 나는 법률 자문을 제공 할 자격이 없다. 또한 법률 요건은 국가 및 관할 구역마다 다를 수 있습니다. 이러한 다양한 법적 요구 사항도 때로는 충돌 할 수 있습니다 (예를 들면 : [개인 정보 보호 권리와](https://ko.wikipedia.org/wiki/%EC%A0%95%EB%B3%B4%ED%86%B5%EC%8B%A0%EB%A7%9D_%EC%9D%B4%EC%9A%A9%EC%B4%89%EC%A7%84_%EB%B0%8F_%EC%A0%95%EB%B3%B4%EB%B3%B4%ED%98%B8_%EB%93%B1%EC%97%90_%EA%B4%80%ED%95%9C_%EB%B2%95%EB%A5%A0#%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%EC%9D%98_%EB%B3%B4%ED%98%B8) [잊혀진 권리를](https://namu.wiki/w/%EC%9E%8A%ED%9E%90%20%EA%B6%8C%EB%A6%AC) 선호하는 국가들, 확장 된 데이터 보존을 선호하는 국가들에 비해). 패키지에 대한 액세스가 특정 국가 또는 관할 지역에만 국한되지, 않으므로 패키지 사용자베이스가 지리적으로 다양 할 수 있습니다. 이 점을 고려해 볼 때, 나는 모든 사람에게 "법적으로 준수하는"것이 무엇을 의미 하는지를 말할 입장이 아닙니다. 그러나 여기에있는 정보가 패키지의 맥락에서 법적으로 준수하기 위해해야 할 일을 스스로 결정하는 데 도움이되기를 바랍니다. 의심의 여지가 있거나 법률적인 관점에서 추가 도움과 조언이 필요한 경우 자격을 갖춘 법률 전문가와상의하는 것이 좋습니다. - -#### 11.1 책임 - -패키지 라이센스에 의해 이미 명시된 바와 같이, 패키지에는 어떠한 보증도 없습니다. 여기에는 모든 책임 범위가 포함되지만 이에 국한되지는 않습니다. 이 패키지는 편리함을 위해 제공되며, 유용 할 것으로 기대되며, 귀하에게 도움이 될 것입니다. 그러나, 당신이 패키지를 사용하든, 당신 자신의 선택입니다. 당신은 패키지를 사용하도록 강요 당하지 않지만, 그렇게 할 때, 당신은 그 결정에 대한 책임이 있습니다. 본인 및 기타 패키지 제공자는 귀하가 직접, 간접적으로, 암시 적으로, 또는 다른 방법으로 관계없이, 결정한 결과에 대해 법적 책임을지지 않습니다. - -#### 11.2 제 3 자 - -정확한 구성과 구현에 따라, 패키지는 경우에 따라 제 3 자와 통신하고 정보를 공유 할 수 있습니다. 이 정보는 일부 관할 구역에 따라 일부 상황에서 "[개인 식별 정보](https://ko.wikipedia.org/wiki/%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4)"(PII)로 정의 될 수 있습니다. - -이 정보가 이러한 제 3 자에 의해 어떻게 사용될 수 있는지는 제 3 자에 의해 설정된 다양한 정책의 적용을받습니다. 설명서는 이러한 요점을 다루지 않습니다. 그러나 이러한 모든 경우에 이러한 제 3 자와의 정보 공유를 비활성화 할 수 있습니다. 그러한 모든 경우, 이를 사용하기로 선택한 경우, 이러한 제 3 자의 개인 정보, 보안 및 PII 사용과 관련하여 우려 할 사항을 조사하는 것은 귀하의 책임입니다. 의심스러운 점이 있거나 PII와 관련하여 이러한 제 3 자의 행위에 만족하지 않는 경우, 이러한 제 3 자와의 모든 정보 공유를 비활성화하는 것이 가장 좋습니다. - -투명성을 목적으로, 공유되는 정보의 유형은 아래에 설명되어 있습니다. - -##### 11.2.0 웹 글꼴 - -phpMussel 프론트 엔드 및 "업로드 거부"페이지의 표준 UI ("사용자 인터페이스")뿐만 아니라 일부 사용자 정의 테마는 미적인 이유로 웹 글꼴을 사용할 수 있습니다. 웹 글꼴은 기본적으로 사용되지 않습니다. 사용하도록 설정하면 사용자의 브라우저와 웹 글꼴을 호스팅하는 서비스 간의 직접 통신이 발생합니다. 여기에는 사용자의 IP 주소, 사용자 에이전트, 운영 체제 및 요청에 사용 가능한 기타 세부 정보와 같은 정보를 전달하는 것이 포함될 수 있습니다. 대부분의 웹 글꼴은 [Google Fonts](https://fonts.google.com/) 서비스에서 호스팅합니다. - -*관련 설정 지시어 :* -- `general` -> `disable_webfonts` - -##### 11.2.1 URL 스캐너 - -파일 업로드 내에서 발견 된 URL은 패키지 구성 방식에 따라 Google 안전 브라우징 API와 공유 될 수 있습니다. Google 안전 브라우징 API는 제대로 작동하려면 API 키가 있어야하며 기본적으로 사용 중지됩니다. - -*관련 설정 지시어 :* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -phpMussel은 파일 업로드를 검색 할 때 Virus Total API와 파일 해시를 공유하도록 구성 할 수 있습니다. 앞으로 어떤 시점에서 전체 파일을 공유 할 계획이 있지만 아직 지원되지 않습니다. 이 기능을 사용하려면 API 키가 있어야합니다. - -Virus Total과 공유되는 정보 (파일 및 관련 파일 메타 데이터 포함)는 연구 목적으로 파트너, 계열사, 및 기타 여러 사람들과 공유 할 수도 있습니다. 이에 대한 자세한 내용은 개인 정보 취급 방침을 참조하십시오. - -*참조하십시오 : [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*관련 설정 지시어 :* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 로깅 - -로깅은 여러 가지 이유로 phpMussel의 중요한 부분입니다. 로깅없이 phpMussel이 얼마나 효과적으로 수행하는지 확인하기 위해 가양 성을 진단하는 것이 어려울 수 있습니다. 그것의 부족을 확인하는 것은 어려울 수 있으며 의도 한대로 기능을 계속 수행하려면 구성이나 서명에 어떤 변경이 필요할 수 있습니다. 어쨌든 로깅은 일부 사용자가 원하지 않는 경우도 있으며 전체적으로 선택 사항입니다. phpMussel에서 로깅은 기본적으로 사용되지 않습니다. 이를 사용하려면 phpMussel을 적절히 구성해야합니다. - -또한, 관할권 및 구현 컨텍스트에 따라 (예 : 당신이 개인으로서 또는 기업체로서 및 상업적 또는 비상업적 기반 여부 운영되고 있는지 여부), 로깅의 법적인 허용이 달라질 수 있습니다 (예 : 로깅의 할 수있는 정보의 유형, 기간 및 상황). 따라서, 이 섹션을주의 깊게 읽는 것이 유용 할 수 있습니다. - -phpMussel이 수행 할 수있는 로깅에는 여러 유형이 있습니다. 서로 다른 유형의 로깅에는 여러 가지 다른 유형의 정보가 포함됩니다. - -##### 11.3.0 스캔 로그 - -패키지 구성에서 활성화하면, phpMussel은 검사하는 파일의 로그를 보존합니다. 이 유형의 로깅은 다음과 같은 두 가지 형식으로 사용할 수 있습니다 : -- 사람이 읽을 수있는 로그 파일. -- 직렬화 된 로그 파일. - -사람이 읽을 수있는 로그 파일 항목은 일반적으로 다음과 같습니다 (예로서) : - -``` -Mon, 21 May 2018 00:47:58 +0800 시작합니다. -> 현재 분석 중 : 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> phpMussel-Testfile.ASCII.Standard 발견했습니다! -Mon, 21 May 2018 00:48:04 +0800 완료. -``` - -검사 로그 항목에는 일반적으로 다음 정보가 포함됩니다 : -- 파일이 분석 된 날짜와 시간. -- 분석 된 파일의 이름. -- 파일의 이름과 내용을 CRC32b 해시합니다. -- 파일에서 발견 된 내용 (무엇인가가 발견되면). - -*관련 설정 지시어 :* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -이러한 지시문을 비워두면이, 유형의 로깅은 비활성화 된 상태로 유지됩니다. - -##### 11.3.1 차단 된 업로드 - -패키지 구성에서 활성화하면, phpMussel은 차단 된 업로드 로그를 보존합니다. - -이러한 로그는 일반적으로 다음과 같습니다 (예로서) : - -``` -날짜 : Mon, 21 May 2018 00:47:56 +0800 -IP 주소 : 127.0.0.1 -== 스캔 결과 (신고 된 이유) == -phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)을 발견했습니다! -== 해시 서명 재구성 == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -"/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu"로 격리. -``` - -일반적으로 다음 정보가 포함됩니다 : -- 업로드가 차단 된 날짜와 시간. -- 업로드가 시작된 IP 주소입니다. -- 파일이 차단 된 이유 (발견 된 것). -- 차단 된 파일의 이름입니다. -- MD5 및 파일 크기가 차단되었습니다. -- 파일이 격리되었는지 여부 및 내부 이름 사용 여부. - -*관련 설정 지시어 :* -- `general` -> `scan_kills` - -##### 11.3.2 프론트 엔드 로깅 - -이 로깅은 프런트 엔드 로그인 시도와 관련이 있습니다. 사용자가 프런트 엔드에 로그인을 시도 할 때 및 프런트 엔드 액세스가 활성화 된 경우에만 발생합니다. - -프런트 엔드 로그 항목에는 로그인을 시도하는 사용자의 IP 주소, 시도가 발생한 날짜와 시간 및 시도의 결과가 포함됩니다 (로그인 성공 또는 로그인 실패). 프론트 엔드 로그 항목은 일반적으로 다음과 같이 표시됩니다 (예로서) : - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - 로그인 했습니다. -``` - -*관련 설정 지시어 :* -- `general` -> `frontend_log` - -##### 11.3.3 로그 회전 - -일정 기간 후에 로그를 제거하려고 할 수 있습니다, 또는 법에 따라 그렇게해야 할 수도 있습니다 (즉, 로그를 보관하는 것이 법적으로 허용되는 시간은 법률에 의해 제한 될 수 있습니다). 로그 파일의 이름에 날짜/시간 표시자를 (예를 들어, `{yyyy}-{mm}-{dd}.log`) 포함하고 (패키지 구성에 지정된대로) 로그 회전을 활성화하여이 작업을 수행 할 수 있습니다 (로그 회전을 사용하면 지정된 제한을 초과하면 로그 파일에 대해 몇 가지 작업을 수행 할 수 있습니다). - -예 : 법적으로 30 일 후에 로그를 삭제해야한다면, 로그 파일 이름에 `{dd}.log`를 지정하고 (`{dd}`는 일 수를 나타냅니다), `log_rotation_limit` 값을 30으로 설정하고, `log_rotation_action` 값을 `Delete`로 설정할 수 있습니다. - -또는, 오랜 시간 동안 로그를 유지해야하는 경우, 로그 회전을 비활성화하거나, 로그 파일을 압축하기 위해 `log_rotation_action` 값을 `Archive`로 설정하십시오 (이렇게하면 점유하는 디스크 공간의 총량이 줄어 듭니다). - -*관련 설정 지시어 :* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 로그 자르기 - -원하는 경우 특정 크기를 초과하면 개별 로그 파일을자를 수 있습니다. - -*관련 설정 지시어 :* -- `general` -> `truncate` - -##### 11.3.5 IP 주소 PSEUDONYMISATION - -첫째, 용어에 익숙하지 않은 경우, "pseudonymisation"는 보충 정보없이 특정 "데이터 주체"로 식별 될 수없는 방식으로 개인 데이터를 처리하는 것을 의미합니다 (개인 정보를 자연인에게 확인할 수 없도록 추가 정보가 별도로 유지되고 기술적 및 조직적 조치를 조건으로 제공되어야합니다). - -다음 자료는 추가 정보를 제공합니다. -- [[trust-hub.com] What is pseudonymisation?](https://www.trust-hub.com/news/what-is-pseudonymisation/) -- [[Wikipedia] Pseudonymization](https://en.wikipedia.org/wiki/Pseudonymization) - -어떤 경우에는, 수집, 처리 또는 저장되는 "PII"에 대해 "anonymisation"또는 "pseudonymisation"을 구현할 법적 구속을받을 수 있습니다. 이 개념은 현재 상당 기간 존재 해 왔지만 GDPR/DSGVO는 "pseudonymisation"을 언급하고 장려합니다. - -원하는 경우 phpMussel은 IP 주소를 기록 할 때이 작업을 수행 할 수 있습니다. 기록 될 때 IPv4 주소의 마지막 옥텟과 IPv6 주소의 두 번째 부분 이후의 모든 항목은 "x"로 표시됩니다. 이것은 본질적으로 IPv4 주소를 24 번째 서브넷 요소의 초기 주소로 반올림하고 IPv6 주소를 32 번째 서브넷 요소의 초기 주소로 반올림합니다. - -*관련 설정 지시어 :* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 통계 - -phpMussel은 선택적으로 특정 시간 이후로 검색 및 차단 된 총 파일 수와 같은 통계를 추적 할 수 있습니다. 이 기능은 기본적으로 비활성화되어 있지만 패키지 구성을 통해 활성화 할 수 있습니다. 추적되는 정보 유형은 PII로 간주되어서는 안됩니다. - -*관련 설정 지시어 :* -- `general` -> `statistics` - -##### 11.3.7 암호화 - -phpMussel은 캐시 또는 로그 정보를 [암호화](https://ko.wikipedia.org/wiki/%EC%95%94%ED%98%B8%ED%99%94)하지 않습니다. 캐시 및 로그 암호화는 향후 도입 될 수 있지만 현재 구체적인 계획은 없습니다. 승인되지 않은 제 3 자의 개인 식별 정보 (PII)에 대한 액세스 (예, 캐시 또는 로그) : 공개적으로 접근 가능한 위치에 phpMussel을 설치하지 않을 것을 권장합니다 (예, 대부분의 표준 웹 서버에서 사용할 수있는 표준 `public_html` 디렉토리 외부에 phpMussel 설치) 과 적절하게 제한적인 권한이 시행되는지 확인하십시오 (특히 vault 디렉토리의 경우). 문제가 지속되면 phpMussel을 구성하여이 정보가 수집되거나 기록되지 않도록 할 수 있습니다 (예, 로깅 비활성화). - -#### 11.4 COOKIE (쿠키) - -사용자가 프론트 엔드에 성공적으로 로그인하면, phpMussel은 후속 요청에 대해 사용자를 기억할 수 있도록 [쿠키](https://ko.wikipedia.org/wiki/HTTP_%EC%BF%A0%ED%82%A4)를 설정합니다 (즉, 쿠키는 로그인 세션에 대해 사용자를 인증하는 데 사용됩니다). 로그인 페이지에서, 사용자는 관련 작업에 참여할 경우 쿠키가 설정된다는 사실을 눈에 띄게 경고합니다. 쿠키는 코드베이스의 다른 지점에서 설정되지 않습니다. - -*관련 설정 지시어 :* -- `general` -> `disable_frontend` - -#### 11.5 마케팅과 광고 - -phpMussel은 마케팅이나 광고 목적으로 정보를 수집하거나 처리하지 않습니다. 수집되거나 기록 된 정보를 판매하거나 이익을 얻지 않습니다. phpMussel은 상업적 기업이 아니며 상업적 이익과 관련이 없으므로, 이러한 일을하는 것이 타당하지 않습니다. 이것은 프로젝트가 시작된 이래로 그랬다, 오늘날에도 계속해서 그러합니다. 또한, 이러한 일을하는 것은 프로젝트의 정신과 목적에 맞지 않습니다과, 내가 프로젝트를 계속 유지한다면, 결코 일어나지 않을 것이다. - -#### 11.6 개인 정보 정책 - -경우에 따라 웹 사이트의 모든 페이지와 섹션에 개인 정보 취급 방침에 대한 링크를 명확하게 표시해야 할 수도 있습니다. 이는 개인 정보 보호 관행, 수집하는 개인 식별 정보 유형 및 개인 정보 사용 방법에 대해 사용자에게 알리는 데 중요 할 수 있습니다. 이러한 링크를 phpMussel의 "업로드 거부"페이지에 포함 시키려면 개인 정보 보호 정책에 대한 URL을 지정하는 구성 지시문이 제공됩니다. - -*관련 설정 지시어 :* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -일반 데이터 보호 규정 (GDPR)은 2018 년 5 월 25 일부터 효력을 발생하는 유럽 연합 (EU)의 규정입니다. 이 규정의 주요 목표는 EU 시민과 주민들에게 개인 정보를 통제하고 프라이버시 및 개인 정보와 관련하여 EU 내 규정을 통일하는 것입니다. - -이 규정에는 유럽 연합 (EU)의 "데이터 주체"에 대한 "[개인 식별 정보](https://ko.wikipedia.org/wiki/%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4)"(PII) 처리와 관련된 특정 조항이 포함되어 있습니다 ("데이터 주체"는 식별 된 또는 식별 가능한 자연인을 의미합니다). 규정을 준수하려면 "기업"(규정에 정의 된대로) 및 관련 시스템 및 프로세스가 수행해야하는 몇 가지 사항이 있습니다 : 표준으로 "디자인에 의한 개인 정보 보호"구현; 최대한 높은 개인 정보 설정 사용; 저장된 정보 나 처리 된 정보에 대한 안전 장치 구현 (여기에는 다음이 포함됩니다 : 데이터의 pseudonymisation 또는 완전한 anonymisation 구현); 데이터 수집 유형, 처리 방법, 이유, 보유 기간 및 제 3 자와의 공유 여부를 모호하지 않게 선언하십시오; 제 3 자와 공유하는 데이터의 유형, 방법, 이유 등을 설명합니다. - -규정에 정의 된대로 합법적 인 근거가없는 한 데이터를 처리 할 수 없습니다. 이것은 다음을 의미합니다 : 처리는 법적 의무를 준수하여 수행되어야합니다, 또는, 명백하고, 정보에 입각하고, 모호하지 않은 동의가 데이터 주체로부터 얻어진 후에 만 그것을 행한다. - -규제의 일부 측면은 시간이 지남에 따라 변경 될 수 있습니다. 구식 정보의 확산을 피하기 위해, 관련 정보를 여기에 포함하는 대신 권위있는 출처에서 규제에 대해 배우는 것이 더 좋습니다 (여기에 포함 된 정보가 오래 될 수 있습니다). - -추가 정보를 배우기 위해 권장되는 자료 : -- [유럽 개인정보 보호법 GDPR 안내](https://www.privacy.go.kr/gdpr) -- [유럽 개인정보보호법, GDPR을 알아보자 | HACKTAGON](https://hacktagon.github.io/chinnie/law/gdpr/privacy/GDPR_01) -- [REGULATION (EU) 2016/679 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex:32016R0679) - ---- - - -최종 업데이트 : 2022년 5월 12일. diff --git a/v2-and-earlier/readme.nl.md b/v2-and-earlier/readme.nl.md deleted file mode 100644 index cf1d494..0000000 --- a/v2-and-earlier/readme.nl.md +++ /dev/null @@ -1,1729 +0,0 @@ -## Documentatie voor phpMussel v2 (Nederlandse). - -### Inhoud -- 1. [PREAMBULE](#SECTION1) -- 2. [HOE TE INSTALLEREN](#SECTION2) -- 3. [HOE TE GEBRUIKEN](#SECTION3) -- 4. [FRONTEND MANAGEMENT](#SECTION4) -- 5. [CLI (COMMANDLIJN INTERFACE)](#SECTION5) -- 6. [BESTANDEN IN DIT PAKKET](#SECTION6) -- 7. [CONFIGURATIE-OPTIES](#SECTION7) -- 8. [SIGNATURE FORMAAT](#SECTION8) -- 9. [BEKENDE COMPATIBILITEITSPROBLEMEN](#SECTION9) -- 10. [VEELGESTELDE VRAGEN (FAQ)](#SECTION10) -- 11. [LEGALE INFORMATIE](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. PREAMBULE - -Dank u voor het gebruiken van phpMussel, een PHP-script ontwikkeld om trojans, virussen, malware en andere bedreigingen te ontworpen, binnen bestanden geüpload naar uw systeem waar het script is haakte, gebaseerd op de signatures van ClamAV en anderen. - -[PHPMUSSEL](https://phpmussel.github.io/) COPYRIGHT 2013 en verder GNU/GPLv2 van [Caleb M (Maikuolan)](https://github.com/Maikuolan). - -Dit script is gratis software; u kunt, onder de voorwaarden van de GNU General Public License zoals gepubliceerd door de Free Software Foundation, herdistribueren en/of wijzigen dit; ofwel versie 2 van de Licentie, of (naar uw keuze) enige latere versie. Dit script wordt gedistribueerd in de hoop dat het nuttig zal zijn, maar ZONDER ENIGE GARANTIE; zonder zelfs de impliciete garantie van VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL. Zie de GNU General Public License voor meer informatie, gelegen in het `LICENSE.txt` bestand en ook beschikbaar uit: -- . -- . - -Speciale dank aan [ClamAV](https://www.clamav.net/) zowel voor project inspiratie en voor de signatures dat dit script maakt gebruik daarvan, zonder welke, het script zou waarschijnlijk niet bestaan, of op zijn best, zou heeft zeer beperkte waarde. - -Speciale dank aan SourceForge, Bitbucket, en GitHub voor het hosten van de project-bestanden, en de extra bronnen van een aantal signatures gebruikt door phpMussel: [PhishTank](https://www.phishtank.com/), [NLNetLabs](https://nlnetlabs.nl/), [Malware.Expert](https://malware.expert/) en anderen, en speciale dank aan allen die het project steunen, aan iemand anders die ik anders misschien vergeten te vermelden, en voor u, voor het gebruik van het script. - -Dit document en de bijbehorende pakket kunt gedownload gratis zijn van: -- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -### 2. HOE TE INSTALLEREN - -#### 2.0 HANDMATIG INSTALLEREN (VOOR WEBSERVERS) - -1) Omdat u zijn lezen dit, ik ben ervan uit u al gedownload een gearchiveerde kopie van het script, uitgepakt zijn inhoud en heeft het ergens op uw lokale computer. Vanaf hier, u nodig te bepalen waar op uw host of CMS die inhoud te plaatsen. Een bestandsmap zoals `/public_html/phpmussel/` of soortgelijk (hoewel, het is niet belangrijk welke u kiest, zolang het is iets veilig en iets waar u blij mee bent) zal volstaan. *Voordat u het uploaden begint, lees verder..* - -2) Hernoemen `config.ini.RenameMe` naar `config.ini` (gelegen binnen `vault`), en facultatief (sterk aanbevolen voor ervaren gebruikers, maar niet aan te raden voor beginners of voor de onervaren), open het (dit bestand bevat alle beschikbare phpMussel configuratie opties; boven elke optie moet een korte opmerking te beschrijven wat het doet en wat het voor). Pas deze opties als het u past, volgens welke geschikt is voor uw configuratie. Sla het bestand, sluiten. - -3) Upload de inhoud (phpMussel en zijn bestanden) naar het bestandsmap die u zou op eerder besloten (u nodig niet de `*.txt`/`*.md` bestanden opgenomen, maar meestal, u moeten uploaden alles). - -4) CHMOD het `vault`-bestandsmap naar "755" (als er problemen, u kan proberen "777"; dit is minder veilig, hoewel). De belangrijkste bestandsmap opslaan van de inhoud (degene die u eerder koos), gewoonlijk, kunt worden genegeerd, maar CHMOD-status moet worden gecontroleerd als u machtigingen problemen heeft in het verleden met uw systeem (standaard, moet iets zijn als "755"). In het kort: Om het pakket goed te laten werken, PHP moet bestanden in de `vault`-bestandsmap kunnen lezen en schrijven. Veel dingen (updaten, loggen, enz) zullen niet mogelijk zijn, als PHP niet naar de `vault`-bestandsmap kan schrijven, en het pakket zal helemaal niet werken als PHP niet kan lezen vanuit de `vault`-bestandsmap. Voor de beste beveiliging echter de `vault`-bestandsmap mag NIET publiek toegankelijk zijn (gevoelige informatie, zoals de informatie in `config.ini` of `frontend.dat`, kan worden blootgesteld aan potentiële aanvallers als de `vault`-bestandsmap publiek toegankelijk is). - -5) Installeer alle signatures die u nodig hebt. *Zien: [SIGNATURES INSTALLEREN](#INSTALLING_SIGNATURES).* - -6) Volgende, u nodig om "haak" phpMussel om uw systeem of CMS. Er zijn verschillende manieren waarop u kunt "haak" scripts zoals phpMussel om uw systeem of CMS, maar het makkelijkste is om gewoon omvatten voor het script aan het begin van een kern bestand van uw systeem of CMS (een die het algemeen altijd zal worden geladen wanneer iemand heeft toegang tot een pagina in uw website) met behulp van een `require` of `include` opdracht. Meestal is dit wel iets worden opgeslagen in een bestandsmap zoals `/includes`, `/assets` of `/functions`, en zal vaak zijn vernoemd iets als `init.php`, `common_functions.php`, `functions.php` of soortgelijk. U nodig om te bepalen welk bestand dit is voor uw situatie; Als u problemen ondervindt bij het bepalen van dit voor uzelf, ga naar de phpMussel issues pagina op GitHub of de phpMussel support forums voor assistentie; Het is mogelijk dat ofwel mijzelf of een andere gebruiker kunt ervaring met de CMS die u gebruikt heeft (u nodig om ons te laten weten welk CMS u gebruikt), en dus, in staat zijn om wat hulp te bieden in dit gebied. Om dit te doen [te gebruiken `require` of `include`], plaatst u de volgende regel code aan het begin op die kern bestand, vervangen van de string die binnen de aanhalingstekens met het exacte adres van het `loader.php` bestand (lokaal adres, niet het HTTP-adres; zal vergelijkbaar zijn met de eerder genoemde vault adres). - -`` - -Opslaan bestand, sluiten, heruploaden. - --- OF ALTERNATIEF -- - -Als u gebruik een Apache webserver en als u heeft toegang om `php.ini`, u kunt gebruiken de `auto_prepend_file` richtlijn naar prepend phpMussel wanneer een PHP verzoek wordt gemaakt. Zoiets als: - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -Of dit in het `.htaccess` bestand: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) Op dit punt, u bent klaar! Echter, u moet waarschijnlijk test het uit om ervoor te zorgen dat het werken correct. Voor het testen van het bestand upload protecties, proberen om de testen bestanden te uploaden opgenomen in het pakket als `.tests/samples` naar uw website via uw gebruikelijke browser-gebaseerde uploaden methoden. (Zorg ervoor dat u de `phpmussel*.*db` signatuurbestanden hebt opgenomen in de `active`-configuratierichtlijn om de testbestanden te activeren). Wanneer alles werkt, verschijnt er een bericht uit phpMussel bevestigen dat de upload met succes werd geblokkeerd. Wanneer er niets, is er iets niet correct werkt. Als u met behulp van een geavanceerde functies of als u met behulp van de andere types van het scannen mogelijk met het gereedschap, ik stel het uit te proberen met die ervoor zorgen dat het werkt zoals verwacht, ook. - -#### 2.1 HANDMATIG INSTALLEREN (VOOR CLI) - -1) Omdat u zijn lezen dit, ik ben ervan uit u al gedownload een gearchiveerde kopie van het script, uitgepakt zijn inhoud en heeft het ergens op uw lokale computer. Wanneer u heeft beslist dat u bent tevreden met de gekozen phpMussel locatie, voortzetten. - -2) phpMussel vereist van PHP moet worden geïnstalleerd op de host machine om uit te werken correct. Als u niet heeft PHP geïnstalleerd op uw machine, installeer PHP op uw machine, volgende instructies door de PHP installateur geleverd. - -3) Facultatief (sterk aanbevolen voor ervaren gebruikers, maar niet aan te raden voor beginners of voor de onervaren), open `config.ini` (gelegen binnen `vault`) – Dit bestand bevat alle beschikbare phpMussel configuratie opties. Boven elke optie moet een korte opmerking te beschrijven wat het doet en wat het voor. Wijzigen deze opties volgens welke geschikt is voor uw configuratie. Sla het bestand, sluiten. - -4) Facultatief, u kunt om phpMussel in CLI-modus te maken makkelijker voor uzelf door het creëren van een batch-bestand te automatisch laden PHP en phpMussel. Om dit te doen, open een platte tekst editor zoals Notepad of Notepad++, typt u het volledige pad naar de `php.exe` bestand in het bestandsmap van uw PHP-installatie, gevolgd door een spatie, gevolgd door het volledige pad naar de `loader.php` bestand in het bestandsmap van uw phpMussel installatie, Sla het bestand op met een `.bat` extensie ergens dat u het gemakkelijk vinden, en dubbelklik op het bestand om phpMussel te opereren in de toekomst. - -5) Installeer alle signatures die u nodig hebt. *Zien: [SIGNATURES INSTALLEREN](#INSTALLING_SIGNATURES).* - -6) Op dit punt, u bent klaar! Echter, u moet waarschijnlijk test het uit om ervoor te zorgen dat het werken correct. Om phpMussel testen, draaien phpMussel en probeer het scannen van de `.tests/samples` bestandsmap die bij het pakket. - -#### 2.2 INSTALLEREN MET COMPOSER - -[phpMussel is geregistreerd bij Packagist](https://packagist.org/packages/phpmussel/phpmussel), en dus, als u bekend bent met Composer, kunt u Composer gebruiken om phpMussel installeren (u zult nog steeds nodig om de configuratie, rechten, signatures en haken te bereiden niettemin; zie "handmatig installeren (voor webservers)" stappen 2, 4, 5, en 6). - -`composer require phpmussel/phpmussel` - -#### 2.3 SIGNATURES INSTALLEREN - -Sinds v1.0.0, signatures zijn niet opgenomen in het phpMussel-pakket. Signatures zijn vereist door phpMussel voor het opsporen van specifieke bedreigingen. Er zijn 3 hoofdmethoden om signatures te installeren: - -1. Installeer automatisch met de frontend updates pagina. -2. Genereer signatures met behulp van "SigTool" en installeer handmatig. -3. Download signatures van "phpMussel/Signatures" en installeer handmatig. - -##### 2.3.1 Installeer automatisch met de frontend updates pagina. - -Allereerst, moet u ervoor zorgen dat het frontend is ingeschakeld. *Zien: [frontend MANAGEMENT](#SECTION4).* - -Dan, alles wat u moet doen is ga naar de frontend updates pagina, vind de nodige signatuurbestanden, en gebruik de opties die op de pagina zijn aangebracht, installeer ze en activeer ze. - -##### 2.3.2 Genereer signatures met behulp van "SigTool" en installeer handmatig. - -*Zien: [SigTool documentatie](https://github.com/phpMussel/SigTool#documentation).* - -*Let ook op: SigTool verwerkt alleen de signatures van ClamAV. Om signatures van andere bronnen te verkrijgen, zoals die speciaal geschreven voor phpMussel, die de signatures bevat die nodig zijn voor het detecteren van phpMussel's testvoorbeelden, zal deze methode moeten worden aangevuld met een van de andere hier genoemde methoden.* - -##### 2.3.3 Download signatures van "phpMussel/Signatures" en installeer handmatig. - -Allereerst, ga naar [phpMussel/Signatures](https://github.com/phpMussel/Signatures). De repository bevat verschillende GZ-gecomprimeerde signatuurbestanden. Download de bestanden die u nodig hebt, decomprimeer ze en kopieer de gedecomprimeerde bestanden naar de `/vault/signatures` map om ze te installeren. Geef de namen van de gekopieerde bestanden op in de `active` richtlijn in uw phpMussel-configuratie om ze te activeren. - ---- - - -### 3. HOE TE GEBRUIKEN - -#### 3.0 HOE TE GEBRUIKEN (VOOR WEBSERVERS) - -phpMussel moet in staat zijn om correct te werken met minimale eisen van uw kant: Na de installatie, het moeten onmiddellijk aan het werk en zijn onmiddellijk bruikbare. - -Het scannen van het bestanden uploaden is geautomatiseerd en ingeschakeld door standaard, zo niets is vereist op namens u voor deze specifieke functie. - -Echter, u bent ook in staat om te instrueren phpMussel om te scannen specifiek bestanden, bestandsmappen en/of archieven. Om dit te doen, ten eerste, moet u ervoor zorgen dat de juiste configuratie is ingesteld in het `config.ini` configuratiebestand (`cleanup` moet worden uitgeschakeld), en als u klaar bent, in een PHP-bestand dat wordt gehaakt op phpMussel, gebruik de volgende functie in uw code: - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan` kunt worden een string, een array, of een array van arrays, en vermelding welk bestand, bestanden, bestandsmap en/of bestandsmappen om scannen. -- `$output_type` is een boolean, met vermelding van het formaat voor de scanresultaten te worden geretourneerd als. `false` instrueert de functie om de resultaten als een integer retourneer. `true` instrueert de functie om de resultaten als leesbare tekst retourneer. Bovendien, in elk geval, de resultaten kunnen worden geraadpleegd via globale variabelen na het scannen is voltooid. Deze variabele is optioneel, voorgedefinieerd als `false`. Deze integer resultaten worden hieronder beschreven: - -| Resultaten | Beschrijving | -|---|---| -| -4 | Betekent dat de data niet konden worden gescand vanwege encryptie. | -| -3 | Betekent problemen werden aangetroffen met de phpMussel signatuurbestanden. | -| -2 | Betekent dat beschadigd gegevens tijdens de scan werd ontdekt en dus de scan niet voltooid. | -| -1 | Betekent dat uitbreidingen of addons vereist door PHP om de scan te voeren werd ontbraken zijn en dus de scan niet voltooid. | -| 0 | Betekent dat het scandoel bestaat niet en dus was er niets te scannen. | -| 1 | Betekent dat het doel met succes werden gescand en geen problemen gedetecteerd. | -| 2 | Betekent dat het doel met succes werd gescand en problemen werden gedetecteerd. | - -- `$output_flatness` is een boolean, vermelding van de functie of de resultaten van de scan retourneren (wanneer er meerdere scandoelen) als een array of een string. `false` zullen de resultaten als een array retourneer. `true` zullen de resultaten als een string retourneer. Deze variabele is optioneel, voorgedefinieerd als `false`. - -Voorbeeld: - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -Retourneren iets als dit (als een string): - -``` - Wed, 16 Sep 2013 02:49:46 +0000 Gestart. - > Verifiëren '/user_name/public_html/my_file.html': - -> Geen problemen gevonden. - Wed, 16 Sep 2013 02:49:47 +0000 Afgewerkt. -``` - -Voor een volledige beschrijving van de soorten van de signatures gebruikt door phpMussel tijdens de scans en hoe het omgaat met deze signatures, raadpleeg de [SIGNATURE FORMAAT](#SECTION8) sectie van dit README bestand. - -Als u tegenkomen valse positieven, als u iets nieuws tegenkomen waarvan u denkt dat zou moeten geblokkeerd worden, of voor iets anders met betrekking tot signatures, neem dan contact met mij over het zo dat ik de noodzakelijke veranderingen kunnen maken, die, als u niet contact met mij over, ik zou niet per se bewust van. *(Zien: [Wat is een "vals positieve"?](#WHAT_IS_A_FALSE_POSITIVE)).* - -Voor uitschakelen om de signatures die bij phpMussel (zoals als u het ervaren van een vals positief specifiek voor uw doeleinden dat mag niet normaal van stroomlijn worden verwijderd), voeg de namen van de specifieke signatures die moet worden uitgeschakeld toe aan het greylist-bestand (`/vault/greylist.csv`), gescheiden door komma's. - -*Zie ook: [Hoe krijgt u toegang tot specifieke gegevens over bestanden als ze worden gescand?](#SCAN_DEBUGGING)* - -#### 3.1 HOE TE GEBRUIKEN (VOOR CLI) - -Raadpleeg de "HANDMATIG INSTALLEREN (VOOR CLI)" sectie van dit README bestand. - -Eveneens, noteren dat phpMussel is een *on-demand* scanner; Het is *GEEN* *on-access* scanner (anders dan voor het uploaden van bestanden, bij de tijd van de upload), en in tegenstelling tot conventionele anti-virus suites, het maakt niet actief geheugen controleren! Het zal alleen virussen te detecteren, in de bestand uploaden en in specifieke bestanden dat u expliciet zeggen dat het te scannen. - ---- - - -### 4. FRONTEND MANAGEMENT - -#### 4.0 WAT IS DE FRONTEND. - -De frontend biedt een gemakkelijke en eenvoudige manier te onderhouden, beheren en updaten van uw phpMussel installatie. U kunt bekijken, delen en downloaden log bestanden via de pagina logs, u kunt de configuratie wijzigen via de configuratiepagina, u kunt installeren en verwijderen/desinstalleren van componenten via de pagina updates, en u kunt uploaden, downloaden en wijzigen bestanden in uw vault via de bestandsbeheer. - -De frontend is standaard uitgeschakeld om ongeautoriseerde toegang te voorkomen (ongeautoriseerde toegang kan belangrijke gevolgen hebben voor uw website en de beveiliging hebben). Instructies voor het inschakelen van deze zijn hieronder deze paragraaf opgenomen. - -#### 4.1 HOE DE FRONTEND TE INSCHAKELEN. - -1) Vind de `disable_frontend` richtlijn in `config.ini`, en stel dat het `false` (deze is `true` door standaard). - -2) Toegang tot `loader.php` vanuit uw browser (b.v., `http://localhost/phpmussel/loader.php`). - -3) Inloggen u aan met de standaard gebruikersnaam en wachtwoord (admin/password). - -Notitie: Nadat u hebt ingelogd voor de eerste keer, om ongeautoriseerde toegang tot de frontend te voorkomen, moet u onmiddellijk veranderen uw gebruikersnaam en wachtwoord! Dit is zeer belangrijk, want het is mogelijk om willekeurige PHP-code te uploaden naar uw website via de frontend. - -Voor optimale beveiliging wordt het ten zeerste aanbevolen om "twee-factor authenticatie" voor alle frontend accounts in te schakelen (onderstaande instructies). - -#### 4.2 HOE DE FRONTEND GEBRUIKEN. - -Instructies worden op elke pagina van de frontend, om uit te leggen hoe het te gebruiken en het beoogde doel. Als u meer uitleg of een speciale hulp nodig hebben, neem dan contact op met ondersteuning. Als alternatief, zijn er een aantal video's op YouTube die zouden kunnen helpen door middel van een demonstratie. - -#### 4.3 TWEE-FACTOR AUTHENTICATIE - -Het is mogelijk om de frontend veiliger te maken door twee-factor authenticatie ("2FA") in te schakelen. Bij inloggen met een account waarvoor 2FA is ingeschakeld, een e-mail wordt verzonden naar het e-mailadres dat aan dat account is gekoppeld. Deze e-mail bevat een "2FA-code", die de gebruiker vervolgens moet invoeren, in aanvulling op de gebruikersnaam en het wachtwoord, om te kunnen inloggen met dat account. Dit betekent dat het verkrijgen van een accountwachtwoord niet genoeg is voor een hacker of potentiële aanvaller om zich bij dat account te kunnen aanmelden, omdat ze ook al toegang moeten hebben tot het e-mailadres dat aan dat account is gekoppeld om de 2FA-code die aan de sessie is gekoppeld te kunnen ontvangen en gebruiken, daarmee het frontend veiliger maken. - -Ten eerste, om twee-factor authenticatie in te schakelen, gebruikt u de frontend-updates-pagina om de PHPMailer-component te installeren. phpMussel gebruikt PHPMailer voor het verzenden van e-mails. Notitie: Hoewel phpMussel op zichzelf compatibel met >= 5.4.0 is, PHPMailer heeft nodig PHP >= 5.5.0, daarom is twee-factor authenticatie voor de frontend van phpMussel niet mogelijk voor PHP 5.4-gebruikers. - -Nadat u PHPMailer heeft geïnstalleerd, moet u de configuratie-richtlijnen voor PHPMailer invullen via de configuratiepagina of het configuratiebestand van phpMussel. Meer informatie over deze configuratie-richtlijnen is opgenomen in de configuratiesectie van dit document. Nadat u de PHPMailer-configuratie-richtlijnen hebt ingevuld, stelt u `enable_two_factor` in op `true`. Twee-factor authenticatie moet nu worden ingeschakeld. - -Volgende, u moet een e-mailadres koppelen aan een account, zodat phpMussel weet waar 2FA-codes moeten worden verzonden wanneer hij zich aanmeldt met dat account. Om dit te doen, gebruik het e-mailadres als de gebruikersnaam voor het account (b.v., `foo@bar.tld`), of neem het e-mailadres op als onderdeel van de gebruikersnaam op dezelfde manier als bij het normaal verzenden van een e-mail (b.v., `Foo Bar `). - -Notitie: Het beschermen van uw vault tegen ongeautoriseerde toegang (b.v., door de beveiliging van uw server en openbare toegangsrechten te verbeteren), is hier bijzonder belangrijk, vanwege deze ongeautoriseerde toegang tot uw configuratiebestand (dat is opgeslagen in uw vault), kan het risico lopen dat uw uitgaande SMTP-instellingen (inclusief SMTP gebruikersnaam en wachtwoord) worden weergegeven. U moet ervoor zorgen dat uw vault correct is beveiligd voordat u twee-factor authenticatie inschakelt. Als u dit niet kunt doen, moet u op z'n minst een nieuw e-mailaccount maken, speciaal voor dit doel, om de risico's van blootgestelde SMTP-instellingen te verminderen. - ---- - - -### 5. CLI (COMMANDLIJN INTERFACE) - -phpMussel kan worden uitgevoerd als een interactief bestand scanner in de CLI-modus onder Windows-gebaseerde systemen. Raadpleeg de sectie "HOE TE INSTALLEREN (VOOR CLI)" van deze README bestand voor meer informatie. - -Voor een lijst van beschikbare CLI commando's, bij de CLI-prompt, typ 'c', en druk op Enter. - -Daarnaast, voor diegenen die geïnteresseerd, een video-tutorial voor hoe te gebruiken phpMussel in de CLI-modus is hier beschikbaar: -- - ---- - - -### 6. BESTANDEN IN DIT PAKKET - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. CONFIGURATIE-OPTIES - -Het volgende is een lijst van variabelen die in de `config.ini` configuratiebestand van phpMussel, samen met een beschrijving van hun doel en functie. - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### "general" (Categorie) -Algemene configuratie voor phpMussel. - -##### "cleanup" -- Vrijmaken script variabelen en de cache na de uitvoering? False = Nee; True = Ja [Standaard]. Als u het script voor niets anders gebruikt dan het scannen van uploads, moet u dit zetten op `true` om geheugengebruik te minimaliseren. Anders moet u dit zetten op `false`, om de gegevens die nodig zijn om phpMussel uit te voeren in het geheugen te bewaren zonder deze onnodig opnieuw te laden. Heeft geen invloed in CLI-modus. -- Heeft geen invloed in CLI-modus. - -##### "scan_log" -- Bestandsnaam van het bestand te opnemen alle scanresultaten. Geef een bestandsnaam of laat leeg om te uitschakelen. - -##### "scan_log_serialized" -- Bestandsnaam van het bestand te opnemen alle scanresultaten (formaat is geserialiseerd). Geef een bestandsnaam of laat leeg om te uitschakelen. - -##### "scan_kills" -- Bestandsnaam van het bestand te opnemen alle geblokkeerde of gedood upload. Geef een bestandsnaam of laat leeg om te uitschakelen. - -*Handige tip: Als u wil, U kunt datum/tijd informatie toevoegen om de namen van uw logbestanden door deze op in naam inclusief: `{yyyy}` voor volledige jaar, `{yy}` voor verkorte jaar, `{mm}` voor maand, `{dd}` voor dag, `{hh}` voor het uur.* - -*Voorbeelden:* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### "error_log" -- Een bestand voor het vastleggen van gedetecteerde niet-fatale fouten. Geef een bestandsnaam, of laat leeg om uit te schakelen. - -##### "truncate" -- Trunceren logbestanden wanneer ze een bepaalde grootte bereiken? Waarde is de maximale grootte in B/KB/MB/GB/TB dat een logbestand kan groeien tot voordat het wordt getrunceerd. De standaardwaarde van 0KB schakelt truncatie uit (logbestanden kunnen onbepaald groeien). Notitie: Van toepassing op individuele logbestanden! De grootte van de logbestanden wordt niet collectief beschouwd. - -##### "log_rotation_limit" -- Logrotatie beperkt het aantal logbestanden dat op elk moment zou moeten bestaan. Wanneer nieuwe logbestanden worden gemaakt en het totale aantal logbestanden de opgegeven limiet overschrijdt, wordt de opgegeven actie uitgevoerd. U kunt hier de gewenste limiet opgeven. Een waarde van 0 zal logrotatie uitschakelen. - -##### "log_rotation_action" -- Logrotatie beperkt het aantal logbestanden dat op elk moment zou moeten bestaan. Wanneer nieuwe logbestanden worden gemaakt en het totale aantal logbestanden de opgegeven limiet overschrijdt, wordt de opgegeven actie uitgevoerd. U kunt hier de gewenste actie opgeven. Delete = Verwijder de oudste logbestanden, totdat de limiet niet langer wordt overschreden. Archive = Eerst archiveer en verwijder vervolgens de oudste logbestanden, totdat de limiet niet langer wordt overschreden. - -*Technische verduidelijking: In deze context, de "oudste" betekent de minste recentelijk gewijzigd.* - -##### "timezone" -- Dit wordt gebruikt om op te geven welke tijdzone phpMussel moet gebruiken voor de datum/tijd-bewerkingen. Als je het niet nodig hebt, negeer het. Mogelijke waarden worden bepaald door PHP. Het is in het algemeen in plaats aanbevolen de tijdzone richtlijn in uw bestand `php.ini` aan te passen, maar somtijds (zoals bij het werken met beperkte shared hosting providers) dit is niet altijd mogelijk om te voldoen, en dus, Dit optie is hier voorzien. - -##### "time_offset" -- *v1: "timeOffset"* -- Als uw server tijd niet overeenkomt met uw lokale tijd, u kunt opgeven hier een offset om de datum/tijd informatie gegenereerd door phpMussel aan te passen volgens uw behoeften. Het is in het algemeen in plaats aanbevolen de tijdzone richtlijn in uw bestand `php.ini` aan te passen, maar somtijds (zoals bij het werken met beperkte shared hosting providers) dit is niet altijd mogelijk om te voldoen, en dus, Dit optie is hier voorzien. Offset is in een minuten. -- Voorbeeld (een uur toe te voegen): `time_offset=60` - -##### "time_format" -- *v1: "timeFormat"* -- De datum notatie gebruikt door phpMussel. Standaard = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`. - -##### "ipaddr" -- Waar het IP-adres van het aansluiten verzoek te vinden? (Handig voor diensten zoals Cloudflare en dergelijke) Standaard = REMOTE_ADDR. WAARSCHUWING: Verander dit niet tenzij u weet wat u doet! - -Aanbevolen waarden voor "ipaddr": - -Waarde | Gebruik makend van ----|--- -`HTTP_INCAP_CLIENT_IP` | Incapsula reverse proxy. -`HTTP_CF_CONNECTING_IP` | Cloudflare reverse proxy. -`CF-Connecting-IP` | Cloudflare reverse proxy (alternatief; als bovenstaande niet werkt). -`HTTP_X_FORWARDED_FOR` | Cloudbric reverse proxy. -`X-Forwarded-For` | [Squid reverse proxy](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*Definieerd door de server configuratie.* | [Nginx reverse proxy](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` | Geen reverse proxy (standaardwaarde). - -##### "enable_plugins" -- Activeer ondersteuning voor phpMussel plugins? False = Nee; True = Ja [Standaard]. - -##### "forbid_on_block" -- Moet phpMussel reageren met 403 headers met het bestanden upload geblokkeerd bericht, of blijven met de gebruikelijke 200 OK? False = Nee (200); True = Ja (403) [Standaard]. - -##### "unsupported_media_type_header" -- Moet phpMussel 415 headers verzenden wanneer uploads worden geblokkeerd vanwege bestandstypes op de zwarte lijst? Indien true, deze vervangt instelling `forbid_on_block`. False = Nee [Standaard]; True = Ja. - -##### "delete_on_sight" -- Het inschakelen van dit richtlijn zal instrueren het script om elke gescande geprobeerd bestand upload dat gecontroleerd tegen elke detectie criteria te proberen onmiddellijk verwijderen, via signatures of anderszins. Bestanden vastbesloten te zijn schoon zal niet worden aangeraakt. In het geval van archieven, het hele archief wordt verwijderd, ongeacht of niet het overtredende bestand is slechts één van meerdere bestanden vervat in het archief. Voor het geval van bestand upload scannen, doorgaans, het is niet nodig om dit richtlijn te inschakelen, omdat doorgaans, PHP zal automatisch zuiveren de inhoud van zijn cache wanneer de uitvoering is voltooid, wat betekent dat het doorgans zal verwijdert ieder bestanden geüpload doorheen aan de server tenzij ze zijn verhuisd, gekopieerd of verwijderd alreeds. Dit richtlijn is toegevoegd hier als een extra maatregel van veiligheid voor degenen wier kopies van PHP misschien niet altijd gedragen op de manier verwacht. False = Na het scannen, met rust laten het bestand [Standaard]; True = Na het scannen, als niet schoon, onmiddellijk verwijderen. - -##### "lang" -- Geef de standaardtaal voor phpMussel. - -##### "lang_override" -- Waar mogelijk lokaliseren volgens HTTP_ACCEPT_LANGUAGE? True = Ja [Standaard]; False = Nee. - -##### "numbers" -- Specificeert hoe u nummers wilt weergeven. - -Momenteel ondersteunde waarden: - -Waarde | Produceert | Beschrijving ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | Standaardwaarde. -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*Notitie: Deze waarden zijn nergens gestandaardiseerd, en zullen waarschijnlijk niet relevant zijn buiten het pakket. Ook kunnen ondersteunde waarden in de toekomst veranderen.* - -##### "quarantine_key" -- phpMussel is in staat om gevlagd geprobeerd bestandsuploads te quarantaine in isolatie binnen de phpMussel vault, als dit is iets wat u wilt doen. Regelmatige gebruikers van phpMussel dat gewoon willen om hun websites of hosting-omgeving te beschermen zonder enige interesse in diep analyseren van gevlagd geprobeerd bestandsuploads moet dit functionaliteit hebben uitgeschakeld, maar elke gebruikers geïnteresseerd in de verdere analyse van gevlagd geprobeerd bestandsuploads voor malware onderzoek of voor soortgelijke zaken moeten inschakelen dit functionaliteit. Quarantaine van gevlagd geprobeerd bestandsuploads kunt ook somtijds helpen bij het opsporen van vals-positieven, als dit is iets dat vaak voorkomt voor u. Voor de uitschakelen van quarantaine functionaliteit, gewoon laat de `quarantine_key` richtlijn leeg, of wissen de inhoud van de richtlijn als het niet leeg alreeds. Voor de inschakelen van quarantaine functionaliteit, invoeren soms waarde in de richtlijn. De `quarantine_key` is een belangrijke beveiliging kenmerk van de quarantaine functionaliteit vereist als middel om de functionaliteit quarantaine te verhinderen exploitatie door potentiële aanvallers en als middel om verhinderen van elke mogelijke gegevens uitvoering van gegevens opgeslagen in de quarantaine. De `quarantine_key` moeten op dezelfde manier als uw wachtwoorden worden behandeld: De langer de beter, en bewaken het goed. Voor het beste gevolg, gebruik in combinatie met `delete_on_sight`. - -##### "quarantine_max_filesize" -- De maximaal toegestane bestandsgrootte van bestanden te worden in quarantaine plaatsen. Bestanden groter dan de opgegeven waarde zal NIET in quarantaine plaatsen. Dit richtlijn is belangrijk als een middel van maak het moeilijker voor potentiële aanvallers te overspoelen uw quarantaine met ongewenste gegevens potentieel veroorzaakt weggelopen gebruiksgegevens op uw hosting service. Standaard = 2MB. - -##### "quarantine_max_usage" -- De maximale geheugengebruik toegestaan voor de quarantaine. Als de totale geheugengebruik van de quarantaine bereikt dit waarde, de oudste bestanden in quarantaine zullen worden verwijderd totdat het totale geheugengebruik niet meer bereikt dit waarde. Dit richtlijn is belangrijk als een middel van maak het moeilijker voor potentiële aanvallers te overspoelen uw quarantaine met ongewenste gegevens potentieel veroorzaakt weggelopen gebruiksgegevens op uw hosting service. Standaard = 64MB. - -##### "quarantine_max_files" -- Het maximale aantal bestanden dat in de quarantaine kan bestaan. Wanneer nieuwe bestanden aan de quarantaine worden toegevoegd, worden oude bestanden, als dit aantal wordt overschreden, verwijderd totdat de rest dit aantal niet overschrijdt. Standaard = 100. - -##### "honeypot_mode" -- Wanneer honeypot-modus is ingeschakeld, phpMussel zal proberen om ieder bestandsupload dat het tegenkomt in quarantaine plaatsen, ongeacht of niet het bestand wordt geüpload is gecontroleerd tegen een meegeleverde signatures, en geen daadwerkelijke scannen of analyse van deze gevlagd geprobeerd bestandsuploads zal daadwerkelijk opgebeurt. Dit functionaliteit moet nuttig zijn voor degenen dat willen gebruik phpMussel voor de toepassing van virus/malware onderzoek, maar het is niet aanbevolen om dit functionaliteit te inschakelen wanneer het beoogde gebruik van phpMussel door de gebruiker is voor werkelijke bestandsupload scannen, noch aanbevolen te gebruik de honeypot functionaliteit voor andere doeleinden andere dan honeypotting. Als standaard, dit optie is uitgeschakeld. False = Uitgeschakeld [Standaard]; True = Ingeschakeld. - -##### "scan_cache_expiry" -- Hoe lang moeten phpMussel cache de resultaten van de scan? Waarde is het aantal seconden dat de resultaten van het scannen moet wordt gecached voor. Standaard is 21600 seconden (6 uur); Een waarde van 0 zal uitschakelen caching de resultaten van de scan. - -##### "disable_cli" -- Uitschakelen CLI-modus? CLI-modus is standaard ingeschakeld, maar kunt somtijds interfereren met bepaalde testtools (zoals PHPUnit bijvoorbeeld) en andere CLI-gebaseerde applicaties. Als u niet hoeft te uitschakelen CLI-modus, u moeten om dit richtlijn te negeren. False = Inschakelen CLI-modus [Standaard]; True = Uitschakelen CLI-modus. - -##### "disable_frontend" -- Uitschakelen frontend toegang? Frontend toegang kan phpMussel beter beheersbaar te maken, maar kan ook een potentieel gevaar voor de veiligheid zijn. Het is aan te raden om phpMussel te beheren via het backend wanneer mogelijk, maar frontend toegang is hier voorzien voor wanneer het niet mogelijk is. Hebben het uitgeschakeld tenzij u het nodig hebt. False = Inschakelen frontend toegang; True = Uitschakelen frontend toegang [Standaard]. - -##### "max_login_attempts" -- Maximum aantal frontend-inlogpogingen. Standaard = 5. - -##### "frontend_log" -- *v1: "FrontEndLog"* -- Bestand om de frontend login pogingen te loggen. Geef een bestandsnaam, of laat leeg om uit te schakelen. - -##### "disable_webfonts" -- Uitschakelen webfonts? True = Ja [Standaard]; False = Nee. - -##### "maintenance_mode" -- Inschakelen de onderhoudsmodus? True = Ja; False = Nee [Standaard]. Schakelt alles anders dan het frontend uit. Soms nuttig bij het bijwerken van uw CMS, frameworks, enz. - -##### "default_algo" -- Definieert welk algoritme u wilt gebruiken voor alle toekomstige wachtwoorden en sessies. Opties: PASSWORD_DEFAULT (standaard), PASSWORD_BCRYPT, PASSWORD_ARGON2I (vereist PHP >= 7.2.0), PASSWORD_ARGON2ID (vereist PHP >= 7.3.0). - -##### "statistics" -- Track phpMussel gebruiksstatistieken? True = Ja; False = Nee [Standaard]. - -##### "hide_version" -- Versleutelingsinformatie uit logs en pagina-uitvoer verbergen? True = Ja; False = Nee [Standaard]. - -##### "disabled_channels" -- Dit kan worden gebruikt om te voorkomen dat phpMussel bepaalde kanalen gebruikt bij het verzenden van verzoeken (b.v., bij het bijwerken, bij het ophalen van metagegevens van componenten, enzovoort). - -##### "default_timeout" -- Standaard time-out om te gebruiken voor externe verzoeken? Standaard = 12 seconden. - -#### "signatures" (Categorie) -Configuratie voor signatures. - -##### "active" -- *v1: "Active"* -- Een lijst van de actief signatuurbestanden, gescheiden door komma's. - -*Notitie:* -- *Signatuurbestanden moeten eerst worden geïnstalleerd voordat u ze kunt activeren.* -- *Om de testbestanden correct te laten werken, moeten de signatuurbestanden worden geïnstalleerd en geactiveerd.* -- *De waarde van deze richtlijn is in de cache opgeslagen. Na het wijzigingen, om enig effect te hebben, moet u mogelijk de cache verwijderen.* - -##### "fail_silently" -- Moet phpMussel rapporteren wanneer signatuurbestanden zijn ontbrekend of beschadigd? Als `fail_silently` is uitgeschakeld, ontbrekende en beschadigde bestanden zal worden gerapporteerd op het scannen, en als `fail_silently` is ingeschakeld, ontbrekende en beschadigde bestanden zal zijn genegeerd, met het scannen rapporten voor het bestanden die er geen problemen. Dit moet in het algemeen met rust gelaten worden tenzij u ervaart mislukt of soortgelijke problemen. False = Uitgeschakeld; True = Ingeschakeld [Standaard]. - -##### "fail_extensions_silently" -- Moet phpMussel rapporteren wanneer extensies zijn ontbreken? Als `fail_extensions_silently` is uitgeschakeld, ontbrekende extensies zal worden gerapporteerd op het scannen, en als `fail_extensions_silently` is ingeschakeld, ontbrekende extensies zal zijn genegeerd, met het scannen rapporten voor het bestanden die er geen problemen. Het uitschakelen van dit richtlijn kunt mogelijk verhogen van uw veiligheid, maar kunt ook leiden tot een toename van valse positieven. False = Uitgeschakeld; True = Ingeschakeld [Standaard]. - -##### "detect_adware" -- Moet phpMussel verwerken signatures voor het detecteren van adware? False = Nee; True = Ja [Standaard]. - -##### "detect_joke_hoax" -- Moet phpMussel verwerken signatures voor het detecteren van grap/beetnemerij malware/virussen? False = Nee; True = Ja [Standaard]. - -##### "detect_pua_pup" -- Moet phpMussel verwerken signatures voor het detecteren van PUAs/PUPs? False = Nee; True = Ja [Standaard]. - -##### "detect_packer_packed" -- Moet phpMussel verwerken signatures voor het detecteren van verpakkers en verpakt gegevens? False = Nee; True = Ja [Standaard]. - -##### "detect_shell" -- Moet phpMussel verwerken signatures voor het detecteren van shell scripts? False = Nee; True = Ja [Standaard]. - -##### "detect_deface" -- Moet phpMussel verwerken signatures voor het detecteren van schendingen/defacements en schenders/defacers? False = Nee; True = Ja [Standaard]. - -##### "detect_encryption" -- Moet phpMussel gecodeerde bestanden detecteren en blokkeren? False = Nee; True = Ja [Standaard]. - -#### "files" (Categorie) -Bestand hanteren configuratie. - -##### "max_uploads" -- Maximaal toegestane aantal bestanden te scannen tijdens bestandsupload scan voordat aborteren de scan en informeren de gebruiker ze zijn uploaden van te veel in een keer! Biedt bescherming tegen een theoretische aanval waardoor een aanvaller probeert te DDoS uw systeem of CMS door overbelasting phpMussel te vertragen het PHP proces tot stilstand. Aanbevolen: 10. U zou kunnen wil te verhogen of verlagen dit nummer afhankelijk van de snelheid van uw hardware. Noteren dat dit aantal niet verklaren voor of opnemen de inhoud van de archieven. - -##### "filesize_limit" -- Bestandsgrootte limiet in KB. 65536 = 64MB [Standaard]; 0 = Geen limiet (altijd op de greylist), ieder (positief) numerieke waarde aanvaard. Dit kunt handig zijn als uw PHP configuratie beperkt de hoeveelheid van geheugen een proces kunt houden of als u PHP configuratie beperkt het bestandsgrootte van uploads. - -##### "filesize_response" -- Wat te doen met bestanden dat overschrijden het bestandsgrootte limiet (als aanwezig). False = Whitelist; True = Blacklist [Standaard]. - -##### "filetype_whitelist", "filetype_blacklist", "filetype_greylist" -- Als uw systeem vergunningen alleen specifieke bestandstypen te uploaden, of als uw systeem expliciet ontkent bepaalde bestandstypen, specificeren deze bestandstypen in whitelists, blacklists en greylists kunt toenemen de snelheid waarin scannen is uitgevoerd via vergunningen het script te negeren bepaalde bestandstypen. Formaat is CSV (komma's gescheiden waarden). Als u wilt te scannen alles, eerder dan whitelist, blacklist of greylist, laat de variabele(/n) leeg; doen zo zal uitschakelen whitelist/blacklist/greylist. -- Logische volgorde van de verwerking is: - - Als het bestandstype is op de whitelist, niet scannen en niet blokkeren het bestand, en niet controleer het bestand tegen de blacklist of de greylist. - - Als het bestandstype is op de blacklist, niet scannen het bestand maar blokkeren het niettemin, en niet controleer het bestand tegen de greylist. - - Als de greylist is leeg of als de greylist is niet leeg en het bestandstype is op de greylist, scannen het bestand als per normaal en bepalen als om het gebaseerd op de resultaten van de scan te blokkeren, maar als de greylist is niet leeg en het bestandstype is niet op de greylist, behandel het bestand alsof op de blacklist, dus om het niet te scannen, maar toch blokkeren het niettemin. - -##### "check_archives" -- Om de inhoud van archieven proberen te controleer? False = Nee (niet doen controleer); True = Ja (doen controleer) [Standaard]. - -Formaat | Kan lezen | Kan recursief lezen | Kan encryptie detecteren | Notities ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | Vereist [libzip](https://secure.php.net/manual/en/zip.requirements.php) (normaal is het gebundeld met PHP). Wordt ook ondersteund (gebruikt het zip-formaat): ✔️ OLE-object detectie. ✔️ Office macro detectie. -Tar | ✔️ | ✔️ | ➖ | Geen speciale vereisten. Formaat ondersteunt geen encryptie. -Rar | ✔️ | ✔️ | ✔️ | Vereist de [rar](https://pecl.php.net/package/rar)-extensie (wanneer deze extensie niet is geïnstalleerd, kan phpMussel geen rar-bestanden lezen). -Phar | ❌ | ❌ | ❌ | Ondersteuning voor het lezen van phar-bestanden is verwijderd in v1.6.0, en zal vanwege bezorgdheid over de veiligheid niet opnieuw worden toegevoegd. - -*Als iemand in staat en bereid is te helpen bij het implementeren van ondersteuning voor het lezen van andere archiefformaten, zou dergelijke hulp welkom zijn.* - -##### "filesize_archives" -- Erven het bestandsgrootte blacklist/whitelist staat om de inhoud van archieven? False = Nee (gewoon greylist alles); True = Ja [Standaard]. - -##### "filetype_archives" -- Erven het bestandstype blacklist/whitelist staat om de inhoud van archieven? False = Nee (gewoon greylist alles) [Standaard]; True = Ja. - -##### "max_recursion" -- Maximale recursiediepte limiet voor archieven. Standaard = 3. - -##### "block_encrypted_archives" -- Detecteren en blokkeren gecodeerde archieven? Omdat phpMussel is niet in staat te scannen de inhoud van gecodeerde archieven, het is mogelijk dat archief encryptie kan worden toegepast door een aanvaller als middel van probeert te omzeilen phpMussel, anti-virus scanners en andere dergelijke beveiligingen. Instrueren phpMussel te blokkeren elke archieven dat het ontdekt worden gecodeerde zou kunnen helpen het risico in verband met deze dergelijke mogelijkheden te verminderen. False = Nee; True = Ja [Standaard]. - -##### "max_files_in_archives" -- Maximumaantal bestanden dat vanuit archieven moet worden gescand voordat de scan wordt afgebroken. Standaard = 0 (geen maximum). - -#### "attack_specific" (Categorie) -Aanval-specifieke richtlijnen. - -Chameleon aanval detectie: False = Uitgeschakeld; True = Ingeschakeld. - -##### "chameleon_from_php" -- Zoeken naar PHP header in bestanden die niet zijn PHP-bestanden noch herkende archieven. - -##### "can_contain_php_file_extensions" -- Een lijst met bestandsextensies die PHP-code mogen bevatten, gescheiden door komma's. Als PHP chameleon aanval detectie is ingeschakeld, zullen bestanden die PHP-code bevatten, met extensies die niet op deze lijst staan, worden gedetecteerd als PHP chameleon aanvallen. - -##### "chameleon_from_exe" -- Zoeken naar PHP header in bestanden die niet zijn executables noch herkende archieven en naar executables waarvan de headers zijn onjuist. - -##### "chameleon_to_archive" -- Detecteer onjuiste headers in archieven en gecomprimeerde bestanden. Ondersteunde: BZ/BZIP2, GZ/GZIP, LZF, RAR, ZIP. - -##### "chameleon_to_doc" -- Zoeken naar office documenten waarvan headers zijn onjuist (Ondersteunde: DOC, DOT, PPS, PPT, XLA, XLS, WIZ). - -##### "chameleon_to_img" -- Zoeken naar beelden waarvan headers zijn onjuist (Ondersteunde: BMP, DIB, PNG, GIF, JPEG, JPG, XCF, PSD, PDD, WEBP). - -##### "chameleon_to_pdf" -- Zoeken naar PDF-bestanden waarvan headers zijn onjuist. - -##### "archive_file_extensions" -- Herkende archief bestandsextensies (formaat is CSV; moet alleen toevoegen of verwijderen wanneer problemen voorkomen; onnodig verwijderen kan leiden tot vals-positieven te verschijnen voor archiefbestanden, terwijl onnodig toevoeging zal effectief whitelist wat u toevoegt van aanval-specifieke detectie; wijzigen met voorzichtigheid; ook noteren dat Dit heeft geen effect op welke archieven kan en niet kan wordt geanalyseerd op inhoudsniveau). De lijst, als is bij standaard, geeft die formaten gebruikt meest vaak door de meeste systemen en CMS, maar opzettelijk is niet noodzakelijk alomvattend. - -##### "block_control_characters" -- Blokkeren alle bestanden bevatten controle karakters (andere dan nieuwe regels)? (`[\x00-\x08\x0b\x0c\x0e\x1f\x7f]`) Als u _**ALLEEN**_ uploaden platte tekst, dan u kan inschakelen dit optie te bieden extra bescherming aan uw systeem. Hoewel, als u uploaden iets anders dan platte tekst, inschakelen dit kan leiden tot valse positieven. False = Niet blokkeren [Standaard]; True = Doen blokkeren. - -##### "corrupted_exe" -- Corrupte bestanden en verwerking fouten. False = Negeren; True = Blokkeren [Standaard]. Detecteren en blokkeren mogelijk beschadigd PE (Portable Executable) bestanden? Vaak (maar niet altijd), wanneer bepaalde aspecten van een PE-bestand zijn beschadigd of kan niet correct worden verwerkt, het kan wijzen op een virale infectie. De processen gebruikt door de meeste anti-virus programma's om virussen in PE-bestanden te detecteren vereisen de verwerking van die bestanden op bepaalde manieren, dat, als de programmeur van een virus kent, specifiek zal proberen te verhinderen, zodat haar virus onopgemerkt blijven. - -##### "decode_threshold" -- Drempelwaarde de lengte van onverwerkte gegevens waarbinnen decoderen commando's moeten gedetecteerd worden (in het geval er enige merkbare prestatieproblemen terwijl scannen). Standaard = 512KB. Zero of nulwaarde zal uitschakelen het drempelwaarde (het verwijderen van een dergelijke limiet gebaseerd op bestandsgrootte). - -##### "scannable_threshold" -- Drempelwaarde de lengte van onverwerkte gegevens dat phpMussel is toegestaan te lezen en scan (in het geval er enige merkbare prestatieproblemen terwijl scannen). Standaard = 32MB. Zero of nulwaarde zal uitschakelen het drempelwaarde. Algemeen, dit waarde moeten niet zijn lagere dan de gemiddelde bestandsgrootte van het bestandsuploads dat u wilt en verwacht te ontvangen aan uw server of website, moeten niet zijn meer dan de filesize_limit richtlijn, en moeten niet zijn meet dan ongeveer een vijfde van de totale toegestane geheugentoewijzing toegekend aan PHP via de `php.ini` configuratiebestand. Dit richtlijn bestaat te proberen om phpMussel te verhinderen van het gebruik van teveel geheugen (dat zou verhinderen het van de mogelijkheid te scannen bestanden met succes boven een bepaalde bestandsgrootte). - -##### "allow_leading_trailing_dots" -- Sta voorlopende en achterliggende stippen toe in bestandsnamen? Dit kan soms worden gebruikt om bestanden te verbergen, of om sommige systemen te misleiden om doorverwijzing van mappen mogelijk te maken. False = Niet toestaan [Standaard]. True = Toestaan. - -##### "block_macros" -- Probeer u alle bestanden met macro's te blokkeren? Sommige soorten documenten en spreadsheets kunnen uitvoerbare macro's bevatten, waardoor een gevaarlijke potentiële malwarevector wordt geboden. False = Niet blokkeren [Standaard]; True = Doen blokkeren. - -#### "compatibility" (Categorie) -Compatibiliteit richtlijnen voor phpMussel. - -##### "ignore_upload_errors" -- Dit richtlijn moet in het algemeen worden uitgeschakeld tenzij het is vereist voor de juiste functionaliteit van phpMussel op uw specifieke systeem. Normaal, wanneer uitgeschakeld, wanneer phpMussel detecteert de aanwezigheid van elementen van de `$_FILES` array(), het zal proberen initiëren een scan van het bestanden deze elementen vertegenwoordigen, en, als deze elementen zijn leeg, phpMussel zal terugkeren een foutmelding. Dit is het juiste gedrag voor phpMussel. Dat gezegd hebbende, voor sommige CMS, lege elementen in `$_FILES` kan optreden als gevolg van het natuurlijke gedrag van deze CMS, of fouten zouden zijn gerapporteerd wanneer er geen, in welk geval, het normale gedrag voor phpMussel zullen bemoeien met het normale gedrag van deze CMS. Als dergelijke een situatie opgebeurt voor u, inschakelen dit optie zal instrueren phpMussel niet te proberen te initiëren scannen voor dergelijke lege elementen, negeer hem wanneer gevonden en niet terugkeren gerelateerde foutmeldingen, dus toelaten de voortzetting van de pagina-aanvraag. False = UITGESCHAKELD; True = INGESCHAKELD. - -##### "only_allow_images" -- Indien ingesteld op true, worden alle niet-afbeeldingsbestanden die door de scanner worden aangetroffen, zullen werden onmiddellijk gemarkeerd, zonder te worden gescand. Dit kan in sommige gevallen de tijd verkorten die nodig is om een scan te voltooien. Standaard ingesteld op false. - -#### "heuristic" (Categorie) -Heuristische richtlijnen. - -##### "threshold" -- Er zijn bepaalde signatures van phpMussel dat zijn bedoeld om verdachte en potentieel kwaadaardige kwaliteiten te identificeren van bestanden wordt geüpload zonder zichzelf om bestanden wordt geüpload te identificeren specifiek als kwaadaardige. Dit "threshold" waarde vertelt phpMussel het maximaal totaalgewicht van verdachte en potentieel kwaadaardige kwaliteiten van bestanden wordt geüpload dat is toelaatbaar voordat deze bestanden worden gemarkeerd als kwaadaardig. De definitie van gewicht in dit verband is het aantal van verdachte en potentieel kwaadaardige kwaliteiten dat zijn geïdentificeerd. Standaard, dit waarde wordt ingesteld op 3. Algemeen, een lagere waarde zal resulteren in meer valse positieven maar meer kwaadaardige bestanden wordt gemarkeerd, terwijl een hogere waarde zal resulteren in minder valse positieven maar minder kwaadaardige bestanden wordt gemarkeerd. Algemeen, het is beste om dit waarde te laten op zijn standaard, tenzij u problemen ondervindt met betrekking tot het. - -#### "virustotal" (Categorie) -VirusTotal.com richtlijnen. - -##### "vt_public_api_key" -- Optioneel, met phpMussel, het is mogelijk om bestanden te scannen met behulp van de Virus Total API als een manier om een sterk verbeterde mate van bescherming te bieden tegen virussen, trojans, malware en andere bedreigingen. Standaard, scannen van bestanden met behulp van de Virus Total API is uitgeschakeld. Om het te inschakelen, een Virus Total API-sleutel is nodig. Vanwege de aanzienlijke voordeel dat dit zou kunnen om u te voorzien, het is iets dat ik sterk aanbevelen te inschakelen. Wees u ervan bewust, echter, dat voor gebruik op de Virus Total API, u _**MOET**_ akkoord gaan hun Algemene Voorwaarden en u _**MOET**_ voldoen aan alle richtlijnen per beschreven door de Virus Total documentatie! U bent NIET toegestaan om dit integratie functie te gebruiken TENZIJ: - - U heeft gelezen en u akkoord met de Algemene Voorwaarden van de Virus Total en zijn API. De Algemene Voorwaarden van de Virus Total en zijn API kan [Hier](https://www.virustotal.com/en/about/terms-of-service/) worden gevonden. - - U heeft gelezen en u begrijpt, ten minste, de preambule van de Virus Total Public API-documentatie (alles na "VirusTotal Public API v2.0" maar vóór "Contents"). De Virus Total Public API-documentatie kan [Hier](https://www.virustotal.com/en/documentation/public-api/) worden gevonden. - -Noteren: Als het scannen van bestanden met behulp van de Virus Total API is uitgeschakeld, u hoeft niet herziening van de richtlijnen in dit categorie (`virustotal`), omdat geen van hen iets te doen als dit is uitgeschakeld. Om een Virus Total API-sleutel te verwerven, van ergens op hun website, klik op de "Registreren" link gelegen in de richting van de rechterbovenhoek van de pagina, invoeren in de gevraagde informatie, en klik "Registreren" wanneer u klaar. Volg alle instructies geleverd, en wanneer u uw publieke API-sleutel heeft, kopieren/plakken dat publieke API om de `vt_public_api_key` richtlijn van de `config.ini` configuratiebestand. - -##### "vt_suspicion_level" -- Normaal, phpMussel zal beperken welke bestanden scant met behulp van de Virus Total API om het bestanden die zijn beschouwd "achterdochtig". Optioneel, u kan dit beperking aan te passen door de waarde van het `vt_suspicion_level` richtlijn. -- `0`: Bestanden worden beschouwd achterdochtig alleen als, na te zijn gescand door phpMussel met eigen signatures, zij geacht worden een heuristische gewicht te dragen. Dit zou effectief betekenen dat het gebruik van de Virus Total API zou zijn voor een tweede mening wanneer phpMussel vermoedt dat een bestand potentieel kwaadaardig kan zijn, maar kan niet helemaal uitsluiten dat het kan ook potentieel goedaardig zijn (niet-kwaadaardig) en daarom anders zou normaal niet blokkeren of vlag als kwaadaardig. -- `1`: Bestanden worden beschouwd achterdochtig alleen als, na te zijn gescand door phpMussel met eigen signatures, zij geacht worden een heuristische gewicht te dragen, als ze bekend is executable te zijn (PE bestanden, Mach-O bestanden, ELF/Linux bestanden, etc), of als ze bekend zijn van een formaat dat potentieel executable gegevens kan bevatten (zoals executable macros, DOC/DOCX bestanden, archiefbestanden zoals RARs, ZIPS en etc). Dit is de standaard en aanbevolen achterdocht niveau toe te passen, effectief betekent dat het gebruik van de Virus Total API zou zijn voor een tweede mening wanneer in eerste instantie niets kwaadaardige of slecht wordt gevonden door phpMussel met een bestand beschouwd achterdochtig te zijn en daarom anders zou normaal niet blokkeren of vlag als kwaadaardig. -- `2`: Alle bestanden beschouwd achterdochtig worden en moeten worden gescand met behulp van de Virus Total API. Ik meestal niet raden het toepassen van dit achterdocht niveau, vanwege het risico bereiken API-quotum veel sneller dan anders het geval zou zijn, maar er zijn bepaalde omstandigheden (zoals wanneer de webmaster of hostmaster heeft weinig geloof of vertrouwen in de geringste in een van de geüploade inhoud van hun gebruikers) waarin dit achterdocht niveau kon passend zijn. Met dit achterdocht niveau, Alle bestanden normaal niet geblokkeerd of gemarkeerd als kwaadaardig zou worden gescand met behulp van de Virus Total API. Noteren, echter, dat phpMussel zal ophouden met behulp van de Virus Total API wanneer uw API-quotum is bereikt (ongeacht van achterdocht niveau), en dat uw API-quotum zal waarschijnlijk veel sneller bereikt met het gebruik van dit achterdocht niveau. - -Noteren: Ongeacht van achterdocht niveau, elke bestanden die ofwel worden de zwarte lijst of witte lijst door phpMussel zal niet worden gescand met behulp van de Virus Total API, omdat die dergelijke bestanden reeds zou hebben verklaard als ofwel kwaadaardig of goedaardig door phpMussel tegen de tijd dat ze anders zouden hebben gescand door de Virus Total API, en daarom, extra scannen zou niet nodig. Het vermogen van phpMussel om bestanden te scannen met de Virus Total API is bedoeld om het vertrouwen bouwen verder voor of een bestand is kwaadaardig of goedaardig in die omstandigheden waarin phpMussel zelf is niet helemaal zeker de vraag van of een bestand is kwaadaardig of goedaardig. - -##### "vt_weighting" -- Moeten phpMussel de resultaten van het scannen met behulp van de Virus Total API toe te passen als detecties of detectie weging? Dit richtlijn bestaat, omdat, hoewel het scannen van een bestand met behulp van meerdere motoren (als Virus Total doet) moet leiden tot een verhoogde aantal van detecties (en dus in een hoger aantal van kwaadaardige bestanden worden gedetecteerd), het kan ook resulteren in een hoger aantal van valse positieven, en daarom, in sommige gevallen, de resultaten van de scan kan beter worden benut als betrouwbaarheidsscore eerder dan als een definitieve conclusie. Als een waarde van 0 wordt gebruikt, de resultaten van het scannen met behulp van de Virus Total API zal worden toegepast als detecties, en zo, als een motor gebruikt door Virus Total vlaggen het bestand wordt gescand als kwaadaardige, phpMussel zal het bestand overwegen kwaadaardig te zijn. Als een andere waarde wordt gebruikt, de resultaten van het scannen met behulp van de Virus Total API zal worden toegepast als detectie weging, en zo, het aantal van motoren gebruikt door Virus Total dat vlag het bestand wordt gescand als kwaadaardige zal dienen als een betrouwbaarheidsscore (of detectie weging) voor of het bestand dat wordt gescand moet worden beschouwd als kwaadaardige door phpMussel (de waarde die wordt gebruikt zal vertegenwoordigen de minimale betrouwbaarheidsscore of weging vereist om kwaadaardige te worden beschouwd). Een waarde van 0 wordt standaard gebruikt. - -##### "vt_quota_rate" en "vt_quota_time" -- Volgens de Virus Total API-documentatie, het is beperkt tot maximaal 4 verzoeken van welke aard in elk 1 minuut tijdsbestek. Als u een honeyclient, honeypot of andere automatisering te voorzien, dat gaat om middelen te verschaffen om VirusTotal en niet alleen rapporten opvragen heeft u recht op een hogere API-quotum. Normaal, phpMussel zal strikt houden aan deze beperkingen, maar vanwege de mogelijkheid van deze API-quotum verhoogd te worden, deze twee richtlijnen worden verstrekt als middel voor u om instrueren phpMussel wat limiet moeten houden worden. Tenzij u heeft geïnstrueerd om dit te doen, het is niet aan te raden voor u om deze waarden te verhogen, maar, als u heeft ondervonden problemen met betrekking tot uw tarief quota bereiken, afnemende deze waarden kunnen u soms helpen in het omgaan met deze problemen. Uw maximaal tarief bepaald als `vt_quota_rate` verzoeken van welke aard in elk `vt_quota_time` minuut tijdsbestek. - -#### "urlscanner" (Categorie) -Een URL scanner wordt meegeleverd met phpMussel, het opsporen van kwaadaardige URL's vanuit alle gegevens of bestanden gescand. - -Noteren: Als de URL scanner wordt uitgeschakeld, zult u geen behoefte aan een van de richtlijnen in dit categorie te herzien (`urlscanner`), omdat geen van hen zal alles doen als dit is uitgeschakeld. - -URL scanner API configuratie. - -##### "google_api_key" -- Inschakelt gebruik van de Google Safe Browsing API wanneer de noodzakelijke API sleutel wordt gedefinieerd. Google Safe Browsing API nodig hebben een API sleutel, dat kan worden verkregen van [Hier](https://console.developers.google.com/). -- Noteren: De cURL uitbreiding is nodig om deze functie te gebruiken. - -##### "maximum_api_lookups" -- Maximaal toelaatbaar aantal van de API verzoeken te voeren per individuele scan iteratie. Omdat elke extra API verzoek zullen toevoegen aan de totale tijd die nodig te voltooien elke scan iteratie, u kunt wensen om een beperking te specificeren teneinde versnellen het algehele scanproces. Wanneer ingesteld op 0, geen dergelijk maximaal toelaatbaar aantal wordt toegepast. Ingesteld op 10 standaard. - -##### "maximum_api_lookups_response" -- Wat te doen als het maximaal toelaatbaar aantal van API verzoeken wordt overschreden? False = Niets doen (voortzetten de verwerking) [Standaard]; True = Merken/blokkeren het bestand. - -##### "cache_time" -- Hoe lang (in seconden) moeten de resultaten van de API verzoeken worden gecached voor? Standaard is 3600 seconden (1 uur). - -#### "legal" (Category) -Configuratie met betrekking tot wettelijke vereisten. - -*Voor meer informatie over wettelijke vereisten en hoe dit uw configuratie-eisen kan beïnvloeden, zie het sectie "[LEGALE INFORMATIE](#SECTION11)" van de documentatie.* - -##### "pseudonymise_ip_addresses" -- Pseudonimiseren de IP-adressen bij het schrijven van logbestanden? True = Ja [Standaard]; False = Nee. - -##### "privacy_policy" -- Het adres van een relevant privacybeleid dat moet worden weergegeven in de voettekst van eventuele gegenereerde pagina's. Geef een URL, of laat leeg om uit te schakelen. - -#### "template_data" (Categorie) -Richtlijnen/Variabelen voor sjablonen en thema's. - -Sjabloongegevens betreft op de HTML-uitvoer die wordt gegenereerd en gebruikt voor de "Upload Geweigerd" bericht getoond om de gebruikers wanneer een bestand upload is geblokkeerd. Als u gebruik aangepaste thema's voor phpMussel, HTML-uitvoer is afkomstig van de `template_custom.html` bestand, en alternatief, HTML-uitvoer is afkomstig van de `template.html` bestand. Variabelen geschreven om dit sectie van het configuratiebestand worden geïnterpreteerd aan de HTML-uitvoer door middel van het vervangen van variabelennamen omringd door accolades gevonden binnen de HTML-uitvoer met de bijbehorende variabele gegevens. Bijvoorbeeld, waar `foo="bar"`, elk geval van `

{foo}

` gevonden binnen de HTML-uitvoer `

bar

` zal worden. - -##### "theme" -- Standaard thema om te gebruiken voor phpMussel. - -##### "magnification" -- *v1: "Magnification"* -- Lettergrootte vergroting. Standaard = 1. - -##### "css_url" -- De sjabloonbestand voor aangepaste thema's maakt gebruik van externe CSS-eigenschappen, terwijl de sjabloonbestand voor het standaardthema maakt gebruik van interne CSS-eigenschappen. Om phpMussel instrueren om de sjabloonbestand voor aangepaste thema's te gebruiken, geef het openbare HTTP-adres van uw aangepaste thema's CSS-bestanden via de `css_url` variabele. Als u dit variabele leeg laat, phpMussel zal de sjabloonbestand voor de standaardthema te gebruiken. - -#### "PHPMailer" (Categorie) -PHPMailer-configuratie. - -Op dit moment gebruikt phpMussel alleen PHPMailer voor front-end two-factor authenticatie. Als u de front-end niet gebruikt, of als u geen twee-factorenauthenticatie gebruikt voor de front-end, kunt u deze richtlijnen negeren. - -##### "event_log" -- *v1: "EventLog"* -- Een bestand voor het loggen van alle evenementen met betrekking tot PHPMailer. Geef een bestandsnaam, of laat leeg om uit te schakelen. - -##### "skip_auth_process" -- *v1: "SkipAuthProcess"* -- Wanneer `true`, geeft PHPMailer opdracht om het verificatieproces over te slaan dat normaal optreedt bij het verzenden van e-mail via SMTP. Dit moet worden vermeden, omdat bij het overslaan van dit verificatieproces uitgaande e-mail aan MITM-aanvallen kan worden blootgesteld, maar kan nodig zijn in gevallen waarin dit verificatieproces verhindert dat PHPMailer verbinding maakt met een SMTP-server. - -##### "enable_two_factor" -- *v1: "Enable2FA"* -- Deze richtlijn bepaalt of 2FA wordt gebruikt voor frontend-accounts. - -##### "host" -- *v1: "Host"* -- De SMTP-host dat moet worden gebruikt voor uitgaande e-mail. - -##### "port" -- *v1: "Port"* -- Het poortnummer dat moet worden gebruikt voor uitgaande e-mail. Standaard = 587. - -##### "smtp_secure" -- *v1: "SMTPSecure"* -- Het protocol voor het verzenden van e-mail via SMTP (TLS of SSL). - -##### "smtp_auth" -- *v1: "SMTPAuth"* -- Deze richtlijn bepaalt of SMTP-sessies moeten worden geverifieerd (moet meestal alleen worden gelaten). - -##### "username" -- *v1: "Username"* -- De gebruikersnaam voor het verzenden van e-mail via SMTP. - -##### "password" -- *v1: "Password"* -- Het wachtwoord voor het verzenden van e-mail via SMTP. - -##### "set_from_address" -- *v1: "setFromAddress"* -- Het afzenderadres voor het verzenden van e-mail via SMTP. - -##### "set_from_name" -- *v1: "setFromName"* -- De naam van de afzender voor het verzenden van e-mail via SMTP. - -##### "add_reply_to_address" -- *v1: "addReplyToAddress"* -- Het antwoordadres voor het verzenden van e-mail via SMTP. - -##### "add_reply_to_name" -- *v1: "addReplyToName"* -- De antwoordnaam voor het verzenden van e-mail via SMTP. - -#### "supplementary_cache_options" (Categorie) -Aanvullende cache-opties. - -##### "prefix" -- De hier opgegeven waarde wordt toegevoegd aan alle cache-invoersleutels. Standaard leeg. Als er meerdere installaties op dezelfde server staan, dit kan handig zijn om hun caches gescheiden van elkaar te houden. - -##### "enable_apcu" -- Dit geeft aan of APCu moet worden gebruikt voor caching. Standaard = False. - -##### "enable_memcached" -- Dit geeft aan of Memcached moet worden gebruikt voor caching. Standaard = False. - -##### "enable_redis" -- Dit geeft aan of Redis moet worden gebruikt voor caching. Standaard = False. - -##### "enable_pdo" -- Dit geeft aan of PDO moet worden gebruikt voor caching. Standaard = False. - -##### "memcached_host" -- Memcached hostwaarde. Standaard = "localhost". - -##### "memcached_port" -- Memcached poortwaarde. Standaard = "11211". - -##### "redis_host" -- Redis hostwaarde. Standaard = "localhost". - -##### "redis_port" -- Redis poortwaarde. Standaard = "6379". - -##### "redis_timeout" -- Redis timeoutwaarde. Standaard = "2.5". - -##### "pdo_dsn" -- PDO DSN-waarde. Standaard = "`mysql:dbname=phpmussel;host=localhost;port=3306`". - -*Zie ook: [Wat is een "PDO DSN"? Hoe kan ik PDO gebruiken met phpMussel?](#HOW_TO_USE_PDO)* - -##### "pdo_username" -- PDO gebruikersnaam. - -##### "pdo_password" -- PDO wachtwoord. - ---- - - -### 8. SIGNATURE FORMAAT - -*Zie ook:* -- *[Wat is een "signature"?](#WHAT_IS_A_SIGNATURE)* - -De eerste 9 bytes `[x0-x8]` van een phpMussel signatuurbestand zijn `phpMussel`, en fungeren als een "magisch nummer" (magic number), om ze te identificeren als signatuurbestanden (dit helpt om te voorkomen dat phpMussel per ongeluk probeert bestanden te gebruiken die geen signatuurbestanden zijn). De volgende byte `[x9]` identificeert het type signatuurbestand, dat phpMussel moet weten om het signatuurbestand correct te kunnen interpreteren. De volgende typen signatuurbestanden worden herkend: - -Type | Byte | Beschrijving ----|---|--- -`General_Command_Detections` | `0?` | Voor CSV (komma gescheiden waarden) signatuurbestanden. Waarden (signatures) zijn hexadecimale gecodeerde strings om te zoeken naar bestanden. Signatures hier hebben geen namen of andere details (alleen de string die wordt gedetecteerd). -`Filename` | `1?` | Voor bestandsnaam signatures. -`Hash` | `2?` | Voor hash signatures. -`Standard` | `3?` | Voor signatuurbestanden die direct met de inhoud van het bestand werken. -`Standard_RegEx` | `4?` | Voor signatuurbestanden die direct met de inhoud van het bestand werken. Signatures kunnen reguliere expressies bevatten. -`Normalised` | `5?` | Voor signatuurbestanden die werken met ANSI-genormaliseerde bestandsinhoud. -`Normalised_RegEx` | `6?` | Voor signatuurbestanden die werken met ANSI-genormaliseerde bestandsinhoud. Signatures kunnen reguliere expressies bevatten. -`HTML` | `7?` | Voor signatuurbestanden die werken met HTML-genormaliseerde bestandsinhoud. -`HTML_RegEx` | `8?` | Voor signatuurbestanden die werken met HTML-genormaliseerde bestandsinhoud. Signatures kunnen reguliere expressies bevatten. -`PE_Extended` | `9?` | Voor signatuurbestanden die werken met PE metadata (andere dan PE sectionele metadata). -`PE_Sectional` | `A?` | Voor signatuurbestanden die werken met PE sectionele metadata. -`Complex_Extended` | `B?` | Voor signatuurbestanden die werken met verschillende regels op basis van uitgebreide metadata die gegenereerd worden door phpMussel. -`URL_Scanner` | `C?` | Voor signatuurbestanden die werken met URL's. - -De volgende byte `[x10]` is een nieuwe lijn `[0A]`, en concludeert de phpMussel signatuurbestand header. - -Elke lijn daarna die niet lege is een signature of regel. Elke signature of regel bevat één lijn. De ondersteunde signature formaten worden hieronder beschreven. - -#### *BESTANDSNAAM SIGNATURES* -Alle bestandsnaam signatures volgt het formaat: - -`NAME:FNRX` - -Waar NAME is de naam te noemen voor dat signature en FNRX is de reguliere expressie patroon om bestandsnamen (ongecodeerde) te controleer tegen. - -#### *HASH SIGNATURES* -Alle HASH signatures volgt het formaat: - -`HASH:FILESIZE:NAME` - -Waar HASH is de hash (doorgaans MD5) van een hele bestand, FILESIZE is de totale grootte van het bestand en NAME is de naam te noemen voor dat signature. - -#### *PE SECTIONELE SIGNATURES* -Alle PE sectionele signatures volgt het formaat: - -`SIZE:HASH:NAME` - -Waar HASH is de MD5 hash van een sectie van een PE bestand, SIZE is de totale grootte van die sectie en NAME is de naam te noemen voor dat signature. - -#### *PE UITGEBREIDE SIGNATURES* -Alle PE uitgebreide signatures volgt het formaat: - -`$VAR:HASH:SIZE:NAME` - -Waar $VAR is de naam van de PE-variabele te controleer tegen, HASH is de MD5 hash van die variabele, SIZE is de totale grootte van die variabele en NAME is de naam te noemen voor dat signature. - -#### *COMPLEXE UITGEBREIDE SIGNATURES* -Complexe uitgebreid signatures zijn nogal verschillend van de andere signature typen mogelijk met phpMussel, doordat wat ze gecontroleerd tegen wordt bepaald door de signatures zelf en ze kunnen controleer tegen meervoudig criteria. De controle criteria zijn begrensd door ";" en de controle type en de controle gegevens van elke controle criteria wordt begrensd door ":" zoals zo dat formaat voor deze signatures heeft de neiging om een beetje uitzien als: - -`$variable1:GEGEVENS;$variable2:GEGEVENS;Signaturenaam` - -#### *AL HET ANDERE* -Alle andere signatures volgt het formaat: - -`NAME:HEX:FROM:TO` - -Waar NAME is de naam te noemen voor dat signature en HEX is een hexadecimale gecodeerd segment van het bestand bestemd om te worden gecontroleerd door de gegeven signature. FROM en TO optioneel parameters zijn, aangeeft van waaruit en waaraan in de brongegevens om te controleren tegen. - -#### *REGEX (REGULAR EXPRESSIONS)* -Elke vorm van reguliere expressie begrepen en correct verwerkt door moet ook correct worden begrepen en verwerkt door phpMussel en signatures. Echter, Ik stel voor het nemen van extreem voorzichtigheid bij het schrijven van nieuwe signatures op basis van reguliere expressie, omdat, als u niet helemaal zeker wat u doet, kan er zeer onregelmatig en/of onverwachte resultaten worden. Neem een kijkje op de phpMussel broncode als u niet helemaal zeker over de context waarin regex verklaringen geïnterpreteerd worden. Ook, vergeet niet dat alle patronen (met uitzondering van bestandsnaam, archief metadata en MD5 patronen) moet hexadecimaal gecodeerd worden (voorgaande patroon syntaxis, natuurlijk)! - ---- - - -### 9. BEKENDE COMPATIBILITEITSPROBLEMEN - -#### PHP en PCRE -- PHP en PCRE is vereist voor phpMussel te kunnen functioneren juist. Zonder PHP, of zonder de PCRE extensie van PHP, phpMussel zullen niet worden uitgevoerd of functioneren juist. U moet er zeker van uw systeem heeft zowel PHP en PCRE geïnstalleerd en beschikbaar voordat downloaden en installeren phpMussel. - -#### ANTI-VIRUS SOFTWARECOMPATIBILITEIT - -Compatibiliteitsproblemen tussen phpMussel en sommige antivirusleveranciers zijn in het verleden soms bekend, dus om de paar maanden of daaromtrent, controleer ik de nieuwste beschikbare versies van de phpMussel-codebase tegen Virus Total, om te zien of daar problemen worden gemeld. Wanneer daar problemen worden gemeld, vermeld ik de gerapporteerde problemen hier in de documentatie. - -Toen ik het laatst controleerde (2022.05.12), werden er geen problemen gemeld. - -Ik geen signatuurbestanden, documentatie of andere randinhoud controleer. De signatuurbestanden veroorzaken altijd een aantal valse positieven wanneer andere antivirusoplossingen deze detecteren. Ik zou daarom ten zeerste aanbevelen dat als u phpMussel wilt installeren op een machine waar al een andere antivirusoplossing bestaat, de phpMussel-signatuurbestanden op de witte lijst worden gezet. - ---- - - -### 10. VEELGESTELDE VRAGEN (FAQ) - -- [Wat is een "signature"?](#WHAT_IS_A_SIGNATURE) -- [Wat is een "vals positieve"?](#WHAT_IS_A_FALSE_POSITIVE) -- [Hoe vaak worden signatures bijgewerkt?](#SIGNATURE_UPDATE_FREQUENCY) -- [Ik heb een fout tegengekomen tijdens het gebruik van phpMussel en ik weet niet wat te doen! Help alstublieft!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [Ik wil phpMussel (voorafgaand aan v2) gebruiken met een PHP-versie ouder dan 5.4.0; Kan u helpen?](#MINIMUM_PHP_VERSION) -- [Ik wil phpMussel (v2) gebruiken met een PHP-versie ouder dan 7.2.0; Kan u helpen?](#MINIMUM_PHP_VERSION_V2) -- [Kan ik een enkele phpMussel-installatie gebruiken om meerdere domeinen te beschermen?](#PROTECT_MULTIPLE_DOMAINS) -- [Ik wil niet tijd verspillen met het installeren van dit en om het te laten werken met mijn website; Kan ik u betalen om het te doen?](#PAY_YOU_TO_DO_IT) -- [Kan ik u of een van de ontwikkelaars van dit project voor privéwerk huren?](#HIRE_FOR_PRIVATE_WORK) -- [Ik heb speciale modificaties en aanpassingen nodig; Kan u helpen?](#SPECIALIST_MODIFICATIONS) -- [Ik ben een ontwikkelaar, website ontwerper, of programmeur. Kan ik werken aan dit project accepteren of aanbieden?](#ACCEPT_OR_OFFER_WORK) -- [Ik wil bijdragen aan het project; Kan ik dit doen?](#WANT_TO_CONTRIBUTE) -- [Hoe krijgt u toegang tot specifieke gegevens over bestanden als ze worden gescand?](#SCAN_DEBUGGING) -- [Kan ik cron gebruiken om automatisch bij te werken?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [Kan phpMussel bestanden met niet-ANSI-namen scannen?](#SCAN_NON_ANSI) -- [Blacklists (zwarte lijsten) – Whitelists (witte lijsten) – Greylists (grijze lijst) – Wat zijn ze en hoe gebruik ik ze?](#BLACK_WHITE_GREY) -- [Wanneer ik signatuurbestanden activeer of deactiveer via de updates-pagina, sorteert deze ze alfanumeriek in de configuratie. Kan ik de manier wijzigen waarop ze worden gesorteerd?](#CHANGE_COMPONENT_SORT_ORDER) -- [Wat is een "PDO DSN"? Hoe kan ik PDO gebruiken met phpMussel?](#HOW_TO_USE_PDO) -- [Mijn uploadfaciliteit is asynchroon (b.v., gebruikt ajax, ajaj, json, enz). Ik zie geen speciaal bericht of waarschuwing wanneer een upload is geblokkeerd. Wat is er aan de hand?](#AJAX_AJAJ_JSON) -- [Kan phpMussel EICAR detecteren?](#DETECT_EICAR) - -#### Wat is een "signature"? - -In de context van phpMussel, een "signature" verwijst naar gegevens die als indicator/identifier werken voor iets specifiek waarnaar we op zoek zijn, meestal in de vorm van een zeer klein, duidelijk, onschadelijk segment van iets groter en anderszins schadelijk, zoals een virus of een trojan, of in de vorm van een controleschema, een hash of een andere identificerende indicator, en bevat gewoonlijk een label, en enkele andere gegevens om extra context te bieden die door phpMussel kan worden gebruikt om te bepalen de beste manier te gaan wanneer het ontmoet waar we naar op zoek zijn. - -#### Wat is een "vals positieve"? - -De term "vals positieve" (*alternatief: "vals positieve fout"; "vals alarm"*; Engels: *false positive*; *false positive error*; *false alarm*), zeer eenvoudig beschreven, en een algemene context, wordt gebruikt bij het testen voor een toestand, om verwijst naar om de resultaten van die test, wanneer de resultaten positief zijn (d.w.z, de toestand wordt vastgesteld als "positief"), maar wordt verwacht "negatief" te zijn (d.w.z, de toestand in werkelijkheid is "negatief"). Een "vals positieve" analoog aan "huilende wolf" kan worden beschouwd (waarin de toestand wordt getest, is of er een wolf in de buurt van de kudde, de toestand is "vals" in dat er geen wolf in de buurt van de kudde, en de toestand wordt gerapporteerd als "positief" door de herder door middel van schreeuwen "wolf, wolf"), of analoog aan situaties in medische testen waarin een patiënt gediagnosticeerd als met een ziekte of aandoening, terwijl het in werkelijkheid, hebben ze geen ziekte of aandoening. - -Enkele andere termen die worden gebruikt zijn "waar positieve", "waar negatieve" en "vals negatieve". Een "waar positieve" verwijst naar wanneer de resultaten van de test en de huidige staat van de toestand zijn beide waar (of "positief"), and a "waar negatieve" verwijst naar wanneer de resultaten van de test en de huidige staat van de toestand zijn beide vals (of "negatief"); En "waar positieve" of en "waar negatieve" wordt beschouwd als een "correcte gevolgtrekking" zijn. De antithese van een "vals positieve" is een "vals negatieve"; Een "vals negatieve" verwijst naar wanneer de resultaten van de test is negatief (d.w.z, de aandoening wordt vastgesteld als "negatief"), maar wordt verwacht "positief" te zijn (d.w.z, de toestand in werkelijkheid is "positief"). - -In de context van phpMussel, deze termen verwijzen naar de signatures van phpMussel en de bestanden die ze blokkeren. Wanneer phpMussel blokkeert een bestand, als gevolg van slechte, verouderde of onjuiste signature, maar moet niet hebben gedaan, of wanneer het doet om de verkeerde redenen, we verwijzen naar deze gebeurtenis als een "vals positieve". Wanneer phpMussel niet in slaagt te blokkeren om een bestand dat had moeten worden geblokkeerd, als gevolg van onvoorziene bedreigingen, ontbrekende signatures of tekorten in zijn signatures, we verwijzen naar deze gebeurtenis als een "gemiste detectie" (dat is analoog aan een "vals negatieve"). - -Dit kan worden samengevat in de onderstaande tabel: - -  | phpMussel moet *NIET* een bestand te blokkeren | phpMussel *MOET* een bestand te blokkeren ----|---|--- -phpMussel *NIET* doet blokkeren van een bestand | Waar negatieve (correcte gevolgtrekking) | Gemiste detectie (analoog aan vals negatieve) -phpMussel *DOET* blokkeren van een bestand | __Vals positieve__ | Waar positieve (correcte gevolgtrekking) - -#### Hoe vaak worden signatures bijgewerkt? - -Bijwerkfrequentie varieert afhankelijk van de signatuurbestanden betrokken. Alle de onderhouders voor phpMussel signatuurbestanden algemeen proberen om hun signatures regelmatig bijgewerkt te houden, maar als gevolg van dat ieder van ons hebben verschillende andere verplichtingen, ons leven buiten het project, en zijn niet financieel gecompenseerd (d.w.z., betaald) voor onze inspanningen aan het project, een nauwkeurige updateschema kan niet worden gegarandeerd. In het algemeen, signatures zullen worden bijgewerkt wanneer er genoeg tijd om dit te doen. Het verlenen van bijstand wordt altijd gewaardeerde als u bent bereid om dat te doen. - -#### Ik heb een fout tegengekomen tijdens het gebruik van phpMussel en ik weet niet wat te doen! Help alstublieft! - -- Gebruikt u de nieuwste versie van de software? Gebruikt u de nieuwste versies van uw signatuurbestanden? Indien het antwoord op een van deze twee vragen is nee, probeer eerst om alles te bijwerken, en controleer of het probleem zich blijft voordoen. Als dit aanhoudt, lees verder. -- Hebt u door alle documentatie gecontroleerd? Zo niet, doe dat dan. Als het probleem niet kan worden opgelost met behulp van de documentatie, lees verder. -- Hebt u de **[issues pagina](https://github.com/phpMussel/phpMussel/issues)** gecontroleerd, om te zien of het probleem al eerder is vermeld? Als het eerder vermeld, controleer of eventuele suggesties, ideeën en/of oplossingen werden verstrekt, en volg als per nodig om te proberen het probleem op te lossen. -- Als het probleem blijft bestaan, zoek hulp door een nieuw issue op de issues pagina te maken. - -#### Ik wil phpMussel (voorafgaand aan v2) gebruiken met een PHP-versie ouder dan 5.4.0; Kan u helpen? - -Nee. PHP >= 5.4.0 is een minimale vereiste voor phpMussel < v2. - -#### Ik wil phpMussel (v2) gebruiken met een PHP-versie ouder dan 7.2.0; Kan u helpen? - -Nee. PHP >= 7.2.0 is een minimale vereiste voor phpMussel v2. - -*Zie ook: [Compatibiliteitskaarten](https://maikuolan.github.io/Compatibility-Charts/).* - -#### Kan ik een enkele phpMussel-installatie gebruiken om meerdere domeinen te beschermen? - -Ja. phpMussel-installaties zijn niet van nature gebonden naar specifieke domeinen, en kan daarom worden gebruikt om meerdere domeinen te beschermen. Algemeen, wij verwijzen naar phpMussel installaties die slechts één domein beschermen als "single-domain installaties", en wij verwijzen naar phpMussel installaties die meerdere domeinen en/of subdomeinen beschermen als "multi-domain installaties". Als u een multi-domain installaties werken en nodig om verschillende signatuurbestanden voor verschillende domeinen te gebruiken, of nodig om phpMussel anders geconfigureerd voor verschillende domeinen te zijn, het is mogelijk om dit te doen. Nadat het configuratiebestand hebt geladen (`config.ini`), phpMussel controleert het bestaan van een "configuratie overschrijdend bestand" specifiek voor het domein (of sub-domein) dat wordt aangevraagd (`het-domein-dat-wordt-aangevraagd.tld.config.ini`), en als gevonden, elke configuratie waarden gedefinieerd door het configuratie overschrijdend bestand zal worden gebruikt in plaats van de configuratie waarden die zijn gedefinieerd door het configuratiebestand. Het configuratie overschrijdende bestanden zijn identiek aan het configuratiebestand, en naar eigen goeddunken, kan de volledige van alle configuratie richtlijnen beschikbaar voor phpMussel bevatten, of wat dan ook kleine subsectie dat nodig is die afwijkt van de waarden die normaal door het configuratiebestand worden gedefinieerd. Het configuratie overschrijdende bestanden worden genoemd volgens het domein waaraan ze bestemd zijn (dus, bijvoorbeeld, als u een configuratie overschrijdend bestand voor het domein `https://www.some-domain.tld/` nodig hebt, het configuratie overschrijdende bestanden moeten worden genoemd als `some-domain.tld.config.ini`, en moeten naast het configuratiebestand, `config.ini`, in de vault geplaatst worden). De domeinnaam is afgeleid van de koptekst `HTTP_HOST` van het verzoek; "www" wordt genegeerd. - -#### Ik wil niet tijd verspillen met het installeren van dit en om het te laten werken met mijn website; Kan ik u betalen om het te doen? - -Misschien. Dit wordt per geval beoordeeld. Laat ons weten wat u nodig hebt, wat u aanbiedt, en wij laten u weten of we kunnen helpen. - -#### Kan ik u of een van de ontwikkelaars van dit project voor privéwerk huren? - -*Zie hierboven.* - -#### Ik heb speciale modificaties en aanpassingen nodig; Kan u helpen? - -*Zie hierboven.* - -#### Ik ben een ontwikkelaar, website ontwerper, of programmeur. Kan ik werken aan dit project accepteren of aanbieden? - -Ja. Onze licentie verbiedt dit niet. - -#### Ik wil bijdragen aan het project; Kan ik dit doen? - -Ja. Bijdragen aan het project zijn zeer welkom. Zie voor meer informatie "CONTRIBUTING.md". - -#### Hoe krijgt u toegang tot specifieke gegevens over bestanden als ze worden gescand? - -U kunt toegang krijgen tot specifieke gegevens over bestanden als ze worden gescand door een array toe te wijzen om hiervoor te gebruiken voordat u phpMussel instructeert om ze te scannen. - -In het onderstaande voorbeeld, `$Foo` is hiervoor toegewezen. Na het scannen `/bestandspad/...`, gedetailleerde informatie over de bestanden die `/bestandspad/...` bevat zullen door `$Foo` worden opgenomen. - -```PHP -Kan ik cron gebruiken om automatisch bij te werken? - -Ja. Een API is ingebouwd in het frontend voor interactie met de updates pagina via externe scripts. Een apart script, "[Cronable](https://github.com/Maikuolan/Cronable)", is beschikbaar, en kan door uw cron manager of cron scheduler gebruikt worden om deze en andere ondersteunde pakketten automatisch te updaten (dit script biedt zijn eigen documentatie). - -#### Kan phpMussel bestanden met niet-ANSI-namen scannen? - -Laten we zeggen dat er een map is die u wilt scannen. In deze map hebt u enkele bestanden met niet-ANSI-namen. -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -Laten we aannemen dat je de CLI-modus of de phpMussel API gebruikt om te scannen. - -Bij gebruik van PHP < 7.1.0, op sommige systemen, zal phpMussel deze bestanden niet zien wanneer ze proberen de map te scannen, en dus zullen ze deze bestanden niet kunnen scannen. U ziet waarschijnlijk dezelfde resultaten als wanneer u een lege map scant: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Gestart. - Sun, 01 Apr 2018 22:27:41 +0800 Afgewerkt. -``` - -Ook, bij het gebruik van PHP < 7.1.0, het afzonderlijk scannen van de bestanden levert de volgende resultaten op: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Gestart. - > Verifiëren 'X:/directory/Пример.txt' (FN: b831eb8f): - -> Ongeldige bestand! - Sun, 01 Apr 2018 22:27:41 +0800 Afgewerkt. -``` - -Of: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Gestart. - > X:/directory/??????.txt is geen bestand of map. - Sun, 01 Apr 2018 22:27:41 +0800 Afgewerkt. -``` - -Dit komt door de manier waarop PHP niet-ANSI-bestandsnamen heeft afgehandeld voorafgaand aan PHP 7.1.0. Als u dit probleem ondervindt, de oplossing is om uw PHP-installatie bij te werken naar 7.1.0 of nieuwer. In PHP >= 7.1.0 worden niet-ANSI-bestandsnamen beter afgehandeld, en phpMussel zou in staat moeten zijn om de bestanden correct te scannen. - -Ter vergelijking, de resultaten bij een poging om de map te scannen met behulp van PHP >= 7.1.0: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Gestart. - -> Verifiëren '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> Geen problemen gevonden. - -> Verifiëren '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> Geen problemen gevonden. - -> Verifiëren '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> Geen problemen gevonden. - Sun, 01 Apr 2018 22:27:41 +0800 Afgewerkt. -``` - -En probeer de bestanden afzonderlijk te scannen: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Gestart. - > Verifiëren 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> Geen problemen gevonden. - Sun, 01 Apr 2018 22:27:41 +0800 Afgewerkt. -``` - -#### Blacklists (zwarte lijsten) – Whitelists (witte lijsten) – Greylists (grijze lijst) – Wat zijn ze en hoe gebruik ik ze? - -De termen brengen verschillende betekenissen over in verschillende contexten. In phpMussel zijn er drie contexten waarin deze termen worden gebruikt: Bestandsgrootte respons, bestandstype respons, en de signature greylist. - -Om een gewenst resultaat te bereiken tegen minimale kosten voor verwerking, zijn er enkele eenvoudige dingen die phpMussel kan controleren voordat bestanden daadwerkelijk worden gescand, zoals de grootte, de naam en de extensie van een bestand. Bijvoorbeeld; Als een bestand te groot is, of als de extensie een bestandstype aangeeft dat we sowieso niet willen toestaan op onze websites, we kunnen het bestand onmiddellijk markeren en hoeven het niet te scannen. - -Bestandsgrootte respons is de manier waarop phpMussel reageert wanneer een bestand een opgegeven limiet overschrijdt. Hoewel er geen echte lijsten bij betrokken zijn, kan een bestand op basis van zijn grootte als effectief op de zwarte lijst, op de witte lijst of in de grijze lijst worden beschouwd. Er zijn twee afzonderlijke, optionele configuratie richtlijnen om respectievelijk een limiet en een gewenst antwoord op te geven. - -Bestandstype respons is de manier waarop phpMussel reageert op de extensie van het bestand. Er zijn drie afzonderlijke, optionele configuratie richtlijnen om expliciet aan te geven welke extensies op de zwarte lijst, op de witte lijst of in de grijze lijst moeten staan. Een bestand kan als effectief worden beschouwd op de zwarte lijst, op de witte lijst of in de grijze lijst als de extensie overeenkomt met een van de opgegeven extensies. - -In deze twee contexten, op de witte lijst staan betekent dat deze niet mag worden gescand of gemarkeerd; op de zwarte lijst staan betekent dat deze moet worden gemarkeerd (en daarom hoeft het niet te scannen); en op de grijze lijst staan betekent dat verdere analyse vereist is om te bepalen of we het moeten markeren (d.w.z, het moet worden gescand). - -De signature greylist is een lijst met signatures die in essentie moet worden genegeerd (dit wordt eerder in de documentatie kort genoemd). Wanneer een signature op de signature greylist wordt geactiveerd, blijft phpMussel werken door zijn signatures en onderneemt geen specifieke actie met betrekking tot de signature dat op de greylist staat. Er is geen zwarte lijst, omdat het impliciete gedrag is hetzelfde als het normaal gedrag voor getriggerde signatures, en er is geen signature witte lijst, omdat het impliciete gedrag niet echt zinvol is in overweging van hoe phpMussel normaal werkt en de mogelijkheden die het al heeft. - -De signature grijze lijst is handig als u problemen wilt oplossen die door een bepaalde signature worden veroorzaakt zonder het volledige signatuurbestand uit te schakelen of te deinstalleren. - -#### Wanneer ik signatuurbestanden activeer of deactiveer via de updates-pagina, sorteert deze ze alfanumeriek in de configuratie. Kan ik de manier wijzigen waarop ze worden gesorteerd? - -Ja. Als u bepaalde bestanden wilt dwingen om in een specifieke volgorde uit te voeren, kunt u enkele willekeurige gegevens vóór hun naam toevoegen in de configuratie richtlijn waar ze worden vermeld, gescheiden door een dubbele punt. Wanneer de updates-pagina vervolgens de bestanden opnieuw sorteert, heeft deze toegevoegde willekeurige gegevens invloed op de sorteervolgorde, waardoor ze vervolgens in de gewenste volgorde worden uitgevoerd, zonder dat ze hoeven te hernoemen. - -Stel dat u bijvoorbeeld een configuratie richtlijn aanneemt met de volgende bestanden: - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -Als u wilt dat `file3.php` het eerst uitvoert, u zou iets als `aaa:` kunnen toevoegen voor de naam van het bestand: - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -Als dan een nieuw bestand, `file6.php`, is geactiveerd, als de updates-pagina ze allemaal opnieuw sorteert, het zou zo moeten eindigen: - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -Dezelfde situatie wanneer een bestand is gedeactiveerd. Omgekeerd, als u wilde dat het bestand als laatste werd uitgevoerd, u zou iets als `zzz:` kunnen toevoegen voor de naam van het bestand. In elk geval hoeft u het betreffende bestand niet te hernoemen. - -#### Wat is een "PDO DSN"? Hoe kan ik PDO gebruiken met phpMussel? - -"PDO" is een acroniem voor "[PHP Data Objects](https://www.php.net/manual/en/intro.pdo.php)". Het biedt een interface voor PHP met sommige databasesystemen te verbinden die vaak worden gebruikt door verschillende PHP-applicaties. - -"DSN" is een acroniem voor "[data source name](https://en.wikipedia.org/wiki/Data_source_name)". De "PDO DSN" beschrijft aan PDO hoe te verbinden met een database. - -phpMussel biedt de optie om PDO te gebruiken voor cachingdoeleinden. Om dit correct te laten werken, moet u phpMussel dienovereenkomstig configureren, PDO ingeschakeld gemaakt, een nieuwe database maken die phpMussel kan gebruiken (als u nog geen database voor phpMussel in gedachten hebt), en een nieuwe tabel in uw database maken in overeenstemming met de hieronder beschreven structuur. - -Wanneer een databaseverbinding succesvol is, maar de benodigde tabel bestaat niet, zal deze proberen de tabel automatisch aan te maken. Dit gedrag is echter niet uitgebreid getest en succes kan niet worden gegarandeerd. - -Dit is natuurlijk alleen van toepassing als u daadwerkelijk wilt dat phpMussel PDO gebruikt. Als u tevreden bent dat phpMussel flatfile caching gebruikt (volgens de standaardconfiguratie), of een van de andere aangeboden cachingopties, hoeft u zich geen zorgen te maken over het opzetten van databases, tabellen, enzovoort. - -De hieronder beschreven structuur gebruikt "phpmussel" als de databasenaam, maar u kunt elke gewenste naam gebruiken voor uw database, zolang diezelfde naam wordt gerepliceerd in uw DSN-configuratie. - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -phpMussel's `pdo_dsn` configuratie-richtlijn moet worden geconfigureerd zoals hieronder beschreven. - -``` -Afhankelijk van welk databasestuurprogramma wordt gebruikt... -├─4d (Waarschuwing: Experimenteel, niet getest, niet aanbevolen!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └De host waarmee verbinding wordt gemaakt om de database te -│ vinden. -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └De naam van de database te -│ │ │ gebruiken. -│ │ │ -│ │ └Het poortnummer waarmee verbinding moet worden -│ │ gemaakt met de host. -│ │ -│ └De host waarmee verbinding wordt gemaakt om de database te -│ vinden. -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └De naam van de database te gebruiken. -│ │ │ -│ │ └De host waarmee verbinding wordt gemaakt om de database te -│ │ vinden. -│ │ -│ └Mogelijke waarden: "mssql", "sybase", "dblib". -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├Kan een pad zijn naar een lokaal databasebestand. -│ │ -│ ├Kan verbinding maken met een host en poortnummer. -│ │ -│ └Raadpleeg de Firebird-documentatie als u hiervan gebruik -│ wilt maken. -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └Met welke gecatalogiseerde database om verbinding mee te maken. -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └Met welke gecatalogiseerde database om verbinding mee te -│ maken. -├─mysql (Meest aanbevolen!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └Het poortnummer waarmee -│ │ │ verbinding moet worden gemaakt -│ │ │ met de host. -│ │ │ -│ │ └De host waarmee verbinding wordt gemaakt om de -│ │ database te vinden. -│ │ -│ └De naam van de database te gebruiken. -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├Kan verwijzen naar de specifieke gecatalogiseerde database. -│ │ -│ ├Kan verbinding maken met een host en poortnummer. -│ │ -│ └Raadpleeg de Oracle-documentatie als u hiervan gebruik wilt -│ maken. -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├Kan verwijzen naar de specifieke gecatalogiseerde database. -│ │ -│ ├Kan verbinding maken met een host en poortnummer. -│ │ -│ └Raadpleeg de ODBC/DB2-documentatie als u hiervan gebruik wilt maken. -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └De naam van de database te -│ │ │ gebruiken. -│ │ │ -│ │ └Het poortnummer waarmee verbinding moet worden -│ │ gemaakt met de host. -│ │ -│ └De host waarmee verbinding wordt gemaakt om de database te -│ vinden. -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └Het pad naar het te gebruiken lokale databasebestand. -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └De naam van de database te gebruiken. - │ │ - │ └Het poortnummer waarmee verbinding moet worden - │ gemaakt met de host. - │ - └De host waarmee verbinding wordt gemaakt om de database te - vinden. -``` - -Als u niet zeker weet wat u voor een bepaald deel van uw DSN moet gebruiken, probeer dan eerst te kijken of het werkt zoals het is, zonder iets te veranderen. - -Merk op dat `pdo_username` en `pdo_password` hetzelfde moeten zijn als de gebruikersnaam en het wachtwoord dat u hebt gekozen voor uw database. - -#### Mijn uploadfaciliteit is asynchroon (b.v., gebruikt ajax, ajaj, json, enz). Ik zie geen speciaal bericht of waarschuwing wanneer een upload is geblokkeerd. Wat is er aan de hand? - -Dit is normaal. De standaardpagina "Upload Geweigerd" van phpMussel wordt als HTML weergegeven, wat voldoende zou moeten zijn voor typische synchrone verzoeken, maar waarschijnlijk zal niet voldoende zijn als uw uploadfaciliteit iets anders verwacht. Als uw uploadfaciliteit asynchroon is, of verwacht dat een uploadstatus asynchroon wordt weergegeven, er zijn enkele dingen die u zou kunnen proberen om phpMussel te voorzien in de behoeften van uw uploadfaciliteit. - -1. Maak een aangepaste uitvoersjabloon om iets anders dan HTML weer te geven. -2. Maak een aangepaste plug-in om de standaardpagina "Upload Geweigerd" volledig te omzeilen en laat de uploadhandler iets anders doen wanneer een upload wordt geblokkeerd (er zijn enkele plug-inhaken die door de uploadhandler worden geleverd die hiervoor kunnen helpen). -3. Schakel de uploadhandler volledig uit en roep in plaats daarvan de phpMussel API aan alleen vanuit uw uploadfaciliteit. - -#### Kan phpMussel EICAR detecteren? - -Ja. Een signature voor het detecteren van EICAR is opgenomen in het "phpMussel standard regular expressions signature file" (`phpmussel_regex.db`). Zolang dat signatuurbestand is geïnstalleerd en geactiveerd, zou phpMussel moeten kunnen EICAR detecteren. Omdat de ClamAV-database ook tal van signatures bevat die specifiek zijn bedoeld voor het detecteren van EICAR, ClamAV kan gemakkelijk EICAR detecteren, maar aangezien phpMussel slechts een beperkte subset van de totale signatures die door ClamAV worden geleverd gebruikt, zijn ze op zichzelf misschien niet voldoende voor phpMussel om EICAR te detecteren. De mogelijkheid om het te detecteren kan ook afhangen van uw exacte configuratie. - ---- - - -### 11. LEGALE INFORMATIE - -#### 11.0 SECTIE PREAMBULE - -Dit sectie van de documentatie is bedoeld om mogelijke juridische overwegingen met betrekking tot het gebruik en de implementatie van het pakket te beschrijven, en om wat basisgerelateerde informatie te verstrekken. Dit kan voor sommige gebruikers belangrijk zijn om naleving van eventuele wettelijke vereisten in de landen waarin zij actief zijn te waarborgen, en sommige gebruikers moeten hun website-beleid mogelijk aanpassen in overeenstemming met deze informatie. - -Eerst en vooral, realiseer je alstublieft dat ik (de auteur van het pakket) geen advocaat en geen gekwalificeerde juridische professional van welke aard. Daarom ben ik niet juridisch gekwalificeerd om juridisch advies te geven. Ook in sommige gevallen, exacte wettelijke vereisten kunnen verschillen tussen verschillende landen en rechtsgebieden, en deze variërende wettelijke vereisten kunnen soms conflicteren (zoals bijvoorbeeld, in het geval van landen die voorrang geven aan [privacyrechten](https://nl.wikipedia.org/wiki/Privacy) en het [recht om te worden vergeten](https://nl.wikipedia.org/wiki/Recht_om_vergeten_te_worden), versus landen die de voorrang geven aan uitgebreide [dataretentie](https://nl.wikipedia.org/wiki/Dataretentie)). Overweeg ook dat toegang tot het pakket niet beperkt is tot specifieke landen of rechtsgebieden, en daarom is de gebruikersbasis van het pakket waarschijnlijk geografisch divers. Gezien deze punten, ben ik niet in de positie om aan te geven wat het betekent om "in overeenstemming met de wetgeving" te zijn voor alle gebruikers, in alle opzichten. Ik hoop echter dat de informatie hierin u zal helpen om zelf tot een beslissing te komen over wat u moet doen om wettelijk compatibel te blijven in de context van het pakket. Als u twijfels of zorgen hebt met betrekking tot de informatie hierin, of als u aanvullende hulp en advies nodig hebt vanuit een juridisch perspectief, ik zou aanraden een gekwalificeerde juridische professional te raadplegen. - -#### 11.1 AANSPRAKELIJKHEID EN VERANTWOORDELIJKHEID - -Zoals al aangegeven door de pakketlicentie, wordt het pakket geleverd zonder enige garantie. Dit omvat (maar is niet beperkt tot) alle reikwijdte van aansprakelijkheid. Het pakket wordt u aangeboden voor uw gemak, in de hoop dat dit nuttig zal zijn, en dat het u enig voordeel oplevert. Echter, of u het pakket gebruikt of implementeert, is uw eigen keuze. U bent niet gedwongen om het pakket te gebruiken of te implementeren, maar wanneer u dat doet, bent u verantwoordelijk voor dat besluit. Noch ik, noch andere bijdragers aan het pakket, zijn juridisch aansprakelijk voor de gevolgen van de beslissingen die u neemt, ongeacht of het direct, indirect, impliciet, of anderszins is. - -#### 11.2 DERDEN - -Afhankelijk van de precieze configuratie en implementatie, kan het pakket in sommige gevallen communiceren en informatie delen met derden. Deze informatie kan in sommige contexten door sommige rechtsgebieden worden gedefinieerd als "[persoonsgegevens](https://nl.wikipedia.org/wiki/Persoonsgegevens)". - -Hoe deze informatie door deze derden kan worden gebruikt, is onderworpen aan de verschillende beleidsregels uiteengezet door deze derden, en valt buiten het bestek van deze documentatie. In al dergelijke gevallen echter, het delen van informatie met deze derden kan worden uitgeschakeld. In al dergelijke gevallen, als u ervoor kiest om het in te schakelen, is het uw verantwoordelijkheid om eventuele zorgen die u heeft met betrekking tot de privacy, veiligheid, en gebruik van persoonsgegevens door deze derden te onderzoeken. Als er twijfels bestaan, of als u niet tevreden bent met het gedrag van deze derden met betrekking tot persoonsgegevens, is het wellicht het beste om het delen van informatie met deze derden uit te schakelen. - -Met het oog op transparantie wordt het type informatie dat wordt gedeeld en met wie, hieronder beschreven. - -##### 11.2.0 WEBFONTS - -Sommige aangepaste thema's, evenals de standaard UI ("gebruikersinterface") voor de frontend van phpMussel en de pagina "Upload Geweigerd", kunnen webfonts gebruiken om esthetische redenen. Webfonts zijn standaard uitgeschakeld, maar indien ingeschakeld, vindt directe communicatie plaats tussen de browser van de gebruiker en de service die de webfonts host. Dit kan mogelijk inhouden dat informatie wordt doorgegeven zoals het IP-adres van de gebruiker, user agent, besturingssysteem, en andere details die beschikbaar zijn voor het verzoek. De meeste van deze webfonts worden gehost door de [Google Fonts](https://fonts.google.com/)-service. - -*Relevante configuratie-opties:* -- `general` -> `disable_webfonts` - -##### 11.2.1 URL SCANNER - -URL's die worden gevonden in bestandsuploads kunnen worden gedeeld met de Google Safe Browsing API, afhankelijk van hoe het pakket is geconfigureerd. De Google Safe Browsing API heeft API-sleutels nodig om correct te werken, en is daarom standaard uitgeschakeld. - -*Relevante configuratie-opties:* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -Wanneer phpMussel een bestandsupload scant, kunnen de hashes van die bestanden worden gedeeld met de Virus Total API, afhankelijk van hoe het pakket is geconfigureerd. Er zijn plannen om op enig moment in de toekomst volledige bestanden te kunnen delen, maar deze functie wordt op dit moment niet door het pakket ondersteund. De Virus Total API heeft een API-sleutel nodig om correct te werken, en is daarom standaard uitgeschakeld. - -Informatie (inclusief bestanden en gerelateerde bestandsmetadata) die wordt gedeeld met Virus Total, kan ook worden gedeeld met hun partners en diverse anderen voor onderzoeksdoeleinden. Dit wordt in meer detail beschreven in hun privacybeleid. - -*Zien: [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*Relevante configuratie-opties:* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 LOGGEN - -Te toggen is om een aantal redenen een belangrijk onderdeel van phpMussel. Zonder loggen kan het moeilijk zijn om valse positieven te diagnosticeren, om precies vast te stellen hoe performant phpMussel zich in een bepaalde context bevindt, en het kan moeilijk zijn om te bepalen waar zijn tekortkomingen kunnen zijn, en welke veranderingen nodig kunnen zijn voor de configuratie of signatures dienovereenkomstig, zodat het blijft functioneren zoals bedoeld. Ongeacht, loggen is misschien niet wenselijk voor alle gebruikers, en blijft volledig optioneel. In phpMussel te loggen is standaard uitgeschakeld. Om dit in te schakelen, moet phpMussel dienovereenkomstig worden geconfigureerd. - -Ook, als te loggen wettelijk toegestaan is, en voor zover dat wettelijk toegestaan is (bijvoorbeeld, de soorten informatie die kan worden vastgelegd, voor hoelang, en onder welke omstandigheden), kan variëren, afhankelijk van het rechtsgebied en de context waarin phpMussel wordt geïmplementeerd (bijvoorbeeld, of u als een individu, als een bedrijf, en op commerciële of niet-commerciële basis opereert). Het kan daarom nuttig zijn om dit gedeelte zorgvuldig door te lezen. - -phpMussel kan informatie op verschillende manieren loggen, wat verschillende soorten informatie inhoudt, om verschillende redenen. - -##### 11.3.0 SCAN LOGS - -Indien ingeschakeld in de pakketconfiguratie houdt phpMussel logs bij van de bestanden die worden gescand. Dit type loggen is beschikbaar in twee verschillende indelingen: -- Door mensen leesbare logbestanden. -- Geserialiseerde logbestanden. - -Invoer naar een mensen leesbaar logbestand ziet er meestal als volgt uit (bijvoorbeeld): - -``` -Mon, 21 May 2018 00:47:58 +0800 Gestart. -> Verifiëren 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> Gedetecteerd phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 Afgewerkt. -``` - -Een scan log bevat meestal de volgende informatie: -- De datum en tijd waarop het bestand is gescand. -- De naam van het gescande bestand. -- CRC32b hashes van de naam en inhoud van het bestand. -- Wat werd er in het bestand gedetecteerd (als er iets werd gedetecteerd). - -*Relevante configuratie-opties:* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -Wanneer deze richtlijnen leeg worden gelaten, blijft dit type logboek uitgeschakeld. - -##### 11.3.1 SCAN KILLS - -Indien ingeschakeld in de pakketconfiguratie houdt phpMussel logs bij van de uploads die zijn geblokkeerd. - -Invoer van een "scan kills" logbestand ziet er ongeveer als volgt uit (bijvoorbeeld): - -``` -Datum: Mon, 21 May 2018 00:47:56 +0800 -IP adres: 127.0.0.1 -== Scanresultaten (waarom gemarkeerd) == -Gedetecteerd phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)! -== Hash signatures reconstructie == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -In quarantaine geplaatst als "/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu". -``` - -Een "scan kills" logsinvoer bevat meestal de volgende informatie: -- De datum en tijd waarop de upload is geblokkeerd. -- Het IP-adres waar de upload vandaan komt. -- De reden waarom het bestand werd geblokkeerd (wat werd gedetecteerd). -- De naam van het bestand geblokkeerd. -- Een MD5 en de grootte van het bestand zijn geblokkeerd. -- Of het bestand in quarantaine is geplaatst en onder welke interne naam. - -*Relevante configuratie-opties:* -- `general` -> `scan_kills` - -##### 11.3.2 FRONTEND LOGGEN - -Dit type loggen is bedoeld voor pogingen om bij de frontend in te loggen, en gebeurt alleen op wanneer een gebruiker zich probeert in te loggen bij de frontend (ervan uitgaande dat de frontend-toegang is ingeschakeld). - -Een frontend logsinvoer bevat het IP-adres van de gebruiker die probeert in te loggen, de datum en tijd waarop de poging heeft plaatsgevonden, en de resultaten van de poging (ingelogd succesvol of niet). Een frontend logsinvoer ziet er meestal als volgt uit (bijvoorbeeld): - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - Ingelogd. -``` - -*Relevante configuratie-opties:* -- `general` -> `frontend_log` - -##### 11.3.3 LOGROTATIE - -Mogelijk wilt u logs na een bepaalde periode opschonen, of mogelijk bent u wettelijk verplicht (d.w.z., de hoeveelheid tijd die het wettelijk toelaatbaar is om logs te bewaren, kan bij wet beperkt zijn). U kunt dit bereiken door datum/tijd-markeringen op te nemen in de namen van uw logbestanden, zoals gespecificeerd door uw pakketconfiguratie (b.v., `{yyyy}-{mm}-{dd}.log`), en vervolgens logrotatie in te schakelen (logrotatie stelt u in staat om enige actie in logbestanden uit te voeren wanneer de gespecificeerde limieten worden overschreden). - -Bijvoorbeeld: Als ik wettelijk verplicht was om logs na 30 dagen te verwijderen, kon ik `{dd}.log` opgeven in de namen van mijn logbestanden (`{dd}` verwijst naar de dagen), de waarde van `log_rotation_limit` op 30 zetten, en de waarde van `log_rotation_action` op `Delete` zetten. - -Omgekeerd, als u verplicht bent om logs gedurende langere tijd te bewaren, kunt u überhaupt geen logrotatie gebruiken, of kunt u de waarde van `log_rotation_action` op `Archive` zetten, om logbestanden te comprimeren, waardoor de totale hoeveelheid schijfruimte die ze innemen, wordt verminderd. - -*Relevante configuratie-opties:* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 LOGTRUNCATIE - -Het is ook mogelijk om afzonderlijke logbestanden af te kappen als ze een bepaalde grootte overschrijden, als dit iets is dat u misschien nodig heeft, of zou willen doen. - -*Relevante configuratie-opties:* -- `general` -> `truncate` - -##### 11.3.5 IP-ADRES PSEUDONIMISATIE - -Ten eerste, als u niet bekend bent met de term, "pseudonimisatie" verwijst naar de verwerking van persoonsgegevens als zodanig, zodat deze niet meer kan worden geïdentificeerd aan een specifieke persoon zonder aanvullende informatie, en op voorwaarde dat dergelijke aanvullende informatie afzonderlijk wordt bijgehouden en onderworpen wordt aan technische en organisatorische maatregelen om ervoor te zorgen dat persoonsgegevens niet kunnen worden geïdentificeerd aan een natuurlijke persoon. - -De volgende bronnen kunnen helpen om het in meer detail uit te leggen: -- [[privacycompany.eu] Wat is het verschil tussen pseudonimiseren en anonimiseren van persoonsgegevens en wat zijn de gevolgen?](https://www.privacycompany.eu/blog-wat-is-het-verschil-tussen-pseudonimiseren-en-anonimiseren-van-persoonsgegevens-en-wat-zijn-de-gevolgen/) -- [[nen.nl] Pseudonimisatie](https://www.nen.nl/Normontwikkeling/Pseudonimisatie.htm) -- [[considerati.com] Anonimiseren en pseudonimiseren: wat is het verschil en wat is het belang ervan?](https://www.considerati.com/nl/publicaties/blog/anonimiseren-en-pseudonimiseren-wat-is-het-verschil-en-wat-is-het-belang-ervan/) -- [[Wikipedia] Pseudonimiseren](https://nl.wikipedia.org/wiki/Pseudonimiseren) - -In sommige omstandigheden kan het wettelijk verplicht zijn om PII die is verzameld, verwerkt, of opgeslagen, te anonimiseren of te pseudonimiseren. Hoewel dit concept al geruime tijd bestaat, GDPR/DSGVO vermeldt, en moedigt specifiek "pseudonimisatie". - -phpMussel kan IP-adressen pseudonimiseren wanneer ze worden geregistreerd, als dit iets is dat u misschien nodig heeft, of zou willen doen. Wanneer phpMussel IP-adressen pseudonimiseert, wanneer geregistreerd, het laatste octet van IPv4-adressen, en alles na het tweede deel van IPv6-adressen wordt weergegeven door een "x" (effectief afronding van IPv4-adressen naar het initiële adres van het 24e subnet waar ze in factoreren, en IPv6-adressen naar het initiële adres van het 32e subnet waar ze in factoreren). - -*Relevante configuratie-opties:* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 STATISTIEKEN - -phpMussel is optioneel in staat om statistieken bij te houden, zoals het totale aantal gescande en geblokkeerde bestanden sinds een bepaald tijdstip. Deze functie is standaard uitgeschakeld, maar kan worden ingeschakeld via de pakketconfiguratie. Het type gevolgde informatie moet niet als PII worden beschouwd. - -*Relevante configuratie-opties:* -- `general` -> `statistics` - -##### 11.3.7 ENCRYPTIE - -phpMussel codeert de cache of logboekinformatie niet. [Encryptie](https://nl.wikipedia.org/wiki/Encryptie) voor de cache en logs kunnen in de toekomst worden geïntroduceerd, maar er zijn momenteel geen specifieke plannen voor. Als u zich zorgen maakt over ongeautoriseerde derden die toegang krijgen tot delen van phpMussel die mogelijk PII of gevoelige informatie bevatten, zoals de cache of logbestanden, raad ik phpMussel aan niet te installeren op een openbare locatie (b.v., installeer phpMussel buiten de standaard `public_html` directory of gelijkwaardig daarvan beschikbaar voor de meeste standaard webservers) en dat de juiste beperkende machtigingen worden afgedwongen voor de directory waar deze zich bevindt (in het bijzonder, voor de vault directory). Als dat niet voldoende is om uw zorgen weg te nemen, configureer dan phpMussel als zodanig dat de soorten informatie die uw zorgen veroorzaken, niet zullen worden verzameld of ingelogd (zoals door loggen uit te schakelen). - -#### 11.4 COOKIES - -Wanneer een gebruiker zich met succes ingelogd bij de frontend, stelt phpMussel een [cookie](https://nl.wikipedia.org/wiki/Cookie_(internet)) in om de gebruiker te kunnen onthouden voor volgende aanvragen (d.w.z., cookies worden gebruikt om de gebruiker te authenticeren voor een login-sessie). Op de inlogpagina wordt een cookiewaarschuwing prominent weergegeven, waardoor de gebruiker wordt gewaarschuwd dat een cookie zal worden ingesteld als deze zich bezighoudt met de relevante actie. Cookies zijn niet ingesteld op andere punten in de codebase. - -*Relevante configuratie-opties:* -- `general` -> `disable_frontend` - -#### 11.5 MARKETING EN ADVERTEREN - -phpMussel verzamelt of verwerkt geen informatie voor marketing of advertentie doeleinden, en verkoopt of profiteert niet van verzamelde of geregistreerde informatie. phpMussel is geen commerciële onderneming, en houdt geen verband met commerciële belangen, dus het zou geen zin hebben om deze dingen te doen. Dit is sinds het begin van het project het geval geweest, en is nog steeds het geval. Bovendien zou het doen van deze dingen contraproductief zijn ten opzichte van de geest en het beoogde doel van het project als geheel, en zolang ik het project blijf onderhouden, zal het nooit gebeuren. - -#### 11.6 PRIVACYBELEID - -In sommige omstandigheden kan het wettelijk verplicht zijn om duidelijk een link naar uw privacybeleid te tonen op alle pagina's en secties van uw website. Dit kan belangrijk zijn als middel om ervoor te zorgen dat gebruikers goed geïnformeerd zijn over uw exacte privacypraktijken, de soorten PII die u verzamelt, en hoe u van plan bent om het te gebruiken. Om een dergelijke link op de pagina "Upload Geweigerd" van phpMussel te kunnen opnemen, wordt een configuratie-optie verstrekt om de URL van uw privacybeleid op te geven. - -*Relevante configuratie-opties:* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO/AVG - -De Algemene Verordening Gegevensbescherming (AVG, of GDPR/DSGVO) is een verordening van de Europese Unie, die met ingang van 25 Mei 2018 in werking treedt. Het primaire doel van de verordening is om burgers en inwoners van de EU controle te geven over hun eigen persoonsgegevens, en om regelgeving binnen de EU te verenigen met betrekking tot privacy en persoonlijke gegevens. - -De verordening bevat specifieke bepalingen met betrekking tot de verwerking van "[persoonsgegevens](https://nl.wikipedia.org/wiki/Persoonsgegevens)" (PII) van alle "betrokkenen" (elke geïdentificeerde of identificeerbare natuurlijke persoon) vanuit of binnen de EU. Om aan de regelgeving te voldoen, moeten "ondernemingen" (zoals bepaald door de verordening), en alle relevante systemen en processen moeten standaard "[privacy by design](https://autoriteitpersoonsgegevens.nl/nl/zelf-doen/privacycheck/privacy-design)" implementeren, moet de hoogst mogelijke privacy-instellingen gebruiken, moet de nodige waarborgen implementeren voor alle opgeslagen of verwerkte informatie (inclusief, maar niet beperkt tot, de implementatie van pseudonimisering of volledige anonimisering van gegevens), moet duidelijk en ondubbelzinnig verklaren welke soorten gegevens zij verzamelen, hoe zij deze verwerken, om welke redenen, hoe lang zij deze bewaren, en of zij deze gegevens delen met derden, de soorten gegevens die met derden worden gedeeld, hoe, waarom, enzovoort. - -Gegevens worden mogelijk niet verwerkt tenzij er een wettelijke basis is om dit te doen, zoals bepaald door de verordening. In het algemeen betekent dit dat om de gegevens van een betrokkene op een wettige basis te verwerken, dit moet worden gedaan in overeenstemming met wettelijke verplichtingen, of alleen moet worden gedaan nadat de betrokkene expliciete, goed geïnformeerde, ondubbelzinnige toestemming heeft verkregen. - -Omdat aspecten van de verordening in de loop van de tijd kunnen evolueren, om de verspreiding van verouderde informatie te voorkomen, is het wellicht beter om de verordening te leren van een gezaghebbende bron, in tegenstelling tot het simpelweg opnemen van de relevante informatie hier in de documentatie van het pakket (die uiteindelijk verouderd kan raken naarmate de regelgeving evolueert). - -[EUR-Lex](https://eur-lex.europa.eu/) (een deel van de officiële website van de Europese Unie dat informatie biedt over EU-wetgeving) biedt uitgebreide informatie over GDPR/DSGVO/AVG, beschikbaar in 24 verschillende talen (op het moment dat dit wordt geschreven), en beschikbaar om te downloaden in PDF-formaat. Ik zou zeker aanraden om de informatie die ze bieden te lezen, om meer te leren over GDPR/DSGVO/AVG: -- [VERORDENING (EU) 2016/679 VAN HET EUROPEES PARLEMENT EN DE RAAD](https://eur-lex.europa.eu/legal-content/NL/TXT/?uri=celex:32016R0679) - -Als alternatief is er een kort (niet-gezaghebbende) overzicht van GDPR/DSGVO/AVG beschikbaar op Wikipedia: -- [Algemene verordening gegevensbescherming](https://nl.wikipedia.org/wiki/Algemene_verordening_gegevensbescherming) - ---- - - -Laatste Bijgewerkt: 12 Mei 2022 (2022.05.12). diff --git a/v2-and-earlier/readme.pt.md b/v2-and-earlier/readme.pt.md deleted file mode 100644 index 2928e57..0000000 --- a/v2-and-earlier/readme.pt.md +++ /dev/null @@ -1,1715 +0,0 @@ -## Documentação para phpMussel v2 (Português). - -### Conteúdo -- 1. [PREÂMBULO](#SECTION1) -- 2. [COMO INSTALAR](#SECTION2) -- 3. [COMO USAR](#SECTION3) -- 4. [GESTÃO DE FRONT-END](#SECTION4) -- 5. [CLI (COMANDO LINHA INTERFACE)](#SECTION5) -- 6. [ARQUIVOS INCLUÍDOS NESTE PACOTE](#SECTION6) -- 7. [OPÇÕES DE CONFIGURAÇÃO](#SECTION7) -- 8. [FORMATOS DE ASSINATURAS](#SECTION8) -- 9. [PROBLEMAS DE COMPATIBILIDADE CONHECIDOS](#SECTION9) -- 10. [PERGUNTAS MAIS FREQUENTES (FAQ)](#SECTION10) -- 11. [INFORMAÇÃO LEGAL](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. PREÂMBULO - -Obrigado por usar phpMussel, um PHP script projetado para detectar trojans, vírus, malware e outras ameaças dentro dos arquivos enviados para o seu sistema onde quer que o script é enganchado, baseado nas assinaturas do ClamAV e outros. - -[PHPMUSSEL](https://phpmussel.github.io/) COPYRIGHT 2013 e além GNU/GPLv2 através do [Caleb M (Maikuolan)](https://github.com/Maikuolan). - -Este script é um software livre; você pode redistribuí-lo e/ou modificá-lo de acordo com os termos da GNU General Public License como publicada pela Free Software Foundation; tanto a versão 2 da Licença, ou (a sua escolha) qualquer versão posterior. Este script é distribuído na esperança que possa ser útil, mas SEM QUALQUER GARANTIA; sem mesmo a implícita garantia de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM. Consulte a GNU General Public License para obter mais detalhes, localizado no arquivo `LICENSE.txt` e disponível também em: -- . -- . - -Um especial obrigado para [ClamAV](https://www.clamav.net/) por o projeto inspiração e para as assinaturas que este script utiliza, sem o qual, o script provavelmente não existiria, ou no melhor, seria de utilidade muito limitada. - -Um especial obrigado para SourceForge, Bitbucket e GitHub por hospedar os arquivos do projeto, e para os recursos adicionais de um número de assinaturas utilizados através do phpMussel: [PhishTank](https://www.phishtank.com/), [NLNetLabs](https://nlnetlabs.nl/), [Malware.Expert](https://malware.expert/) e outros, e um especial obrigado a todos aqueles que apoiam o projeto, a qualquer outra pessoa que eu possa ter esquecido de mencionar, e para você, por usar o script. - -Este documento e seu pacote associado pode ser baixado gratuitamente de: -- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -### 2. COMO INSTALAR - -#### 2.0 INSTALANDO MANUALMENTE (PARA WEB SERVIDORES) - -1) Por estar lendo isso, estou supondo que você já tenha baixado uma cópia arquivada do script, descomprimido seu conteúdo e tê-lo em algum lugar em sua máquina local. A partir daqui, você vai querer determinar onde no seu host ou CMS pretende colocar esses conteúdos. Um diretório como `/public_html/phpmussel/` ou semelhante (porém, não importa qual você escolher, assumindo que é seguro e algo você esteja satisfeito com) será o suficiente. Antes de começar o upload, continue lendo. - -2) Renomear `config.ini.RenameMe` para `config.ini` (localizado dentro `vault`), e opcionalmente (fortemente recomendado para usuários avançados, mas não recomendado para iniciantes ou para os inexperientes), abra-o (este arquivo contém todas as diretivas disponíveis para phpMussel; acima de cada opção deve ser um breve comentário descrevendo o que faz e para que serve). Ajuste essas opções de como lhe serve, conforme o que for apropriado para sua configuração específica. Salve o arquivo e feche. - -3) Carregar os conteúdos (phpMussel e seus arquivos) para o diretório que você tinha decidido anteriormente (você não precisa dos arquivos `*.txt`/`*.md` inclusos, mas principalmente, você deve carregar tudo). - -4) CHMOD o diretório `vault` para "755" (se houver problemas, você pode tentar "777"; embora isto é o menos seguro). O diretório principal que armazena o conteúdo (o que você escolheu anteriormente), geralmente, não precisa ser mexido, mas o CHMOD status deve ser verificado se você já teve problemas de permissões no passado no seu sistema (por padrão, deve ser algo como "755"). Em resumo: Para o pacote funcionar corretamente, o PHP precisa ser capaz de ler e gravar arquivos dentro do diretório `vault`. Muitas coisas (atualização, registro, etc) não serão possíveis, se o PHP não puder gravar no diretório `vault`, e o pacote não funcionará se o PHP não puder ler o diretório `vault`. No entanto, para uma segurança ideal, o diretório `vault` NÃO deve ser publicamente acessível (informações confidenciais, como as informações contidas em `config.ini` ou `frontend.dat`, podem ser expostas a atacantes em potencial se o diretório `vault` estiver publicamente acessível). - -5) Instale todas as assinaturas que você precisará. *Vejo: [INSTALANDO ASSINATURAS](#INSTALLING_SIGNATURES).* - -6) Em seguida, você vai precisar "enganchar" o phpMussel ao seu sistema ou CMS. Existem várias diferentes maneiras em que você pode "enganchar" scripts como phpMussel ao seu sistema ou CMS, mas o mais fácil é simplesmente incluir o script no início de um núcleo arquivo de seu sistema ou CMS (uma que vai geralmente sempre ser carregado quando alguém acessa qualquer página através de seu site) utilizando um comando `require` ou `include`. Normalmente, isso vai ser algo armazenado em um diretório como `/includes`, `/assets` ou `/functions`, e muitas vezes, ser nomeado algo como `init.php`, `common_functions.php`, `functions.php` ou semelhante. Você precisará determinar qual arquivo é para a sua situação; Se você encontrar dificuldades em determinar isso por si mesmo, para assistência, visite a página de issues phpMussel no GitHub ou os fóruns de suporte para phpMussel; É possível que eu ou outro usuário podem ter experiência com o CMS que você está usando (você precisa deixar-nos saber qual CMS você está usando), e assim, pode ser capaz de prestar alguma assistência neste domínio. Para fazer isso [usar `require` ou `include`], insira a seguinte linha de código para o início desse núcleo arquivo, substituindo a string contida dentro das aspas com o exato endereço do arquivo `loader.php` (endereço local, não o endereço HTTP; será semelhante ao vault endereço mencionado anteriormente). - -`` - -Salve o arquivo, fechar, recarrega-lo. - --- OU ALTERNATIVAMENTE -- - -Se você é usando um Apache webserver e se você tem acesso a `php.ini`, você pode usar a diretiva `auto_prepend_file` para pré-carga phpMussel sempre que qualquer solicitação para PHP é feito. Algo como: - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -Ou isso no `.htaccess` arquivo: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) Neste ponto, você está feito! Porém, você provavelmente deve testá-lo para garantir que ele está funcionando corretamente. Para testar a proteção de upload de arquivo, tente carregar dos arquivos testes incluídos no pacote em `.tests/samples` para seu site através de seu método habitual de upload no navegador. (Assegure-se de ter incluído os arquivos de assinatura `phpmussel*.*db` na diretiva de configuração `active` para que os arquivos de teste desencadear). Se tudo estiver funcionando, a mensagem deve aparecer a partir phpMussel confirmando que o carregamento foi bloqueado com sucesso. Se nada aparecer, algo está não funcionando corretamente. Se você estiver usando quaisquer recursos avançados ou se você estiver usando outros tipos de analise possível da ferramenta, eu sugiro tentar isso com aqueles para certificar que funciona como esperado, também. - -#### 2.1 INSTALANDO MANUALMENTE (PARA CLI) - -1) Por estar lendo isso, estou supondo que você já tenha baixado uma cópia arquivada do script, descomprimido seu conteúdo e tê-lo em algum lugar em sua máquina local. Quando você tiver determinado que você está feliz com a localização escolhida para o phpMussel, continue. - -2) phpMussel requer PHP instalado na máquina host para poder executar. Se você não ainda tem PHP instalado em sua máquina, por favor instalar o PHP em sua máquina, seguindo as instruções fornecidas pelo instalador do PHP. - -3) Opcionalmente (fortemente recomendado para avançados usuários, mas não recomendado para iniciantes ou para os inexperientes), abrir `config.ini` (localizado dentro `vault`) – Este arquivo contém todas as diretivas disponíveis para phpMussel. Acima de cada opção deve ter um breve comentário descrevendo o que faz e para que serve. Ajuste essas opções de como você vê o ajuste, conforme o que for apropriado para sua configuração específica. Salve o arquivo, feche. - -4) Opcionalmente, você pode fazer usando phpMussel no modo CLI mais fácil para si mesmo através da criação de um batch arquivo para carregar automaticamente PHP e phpMussel. Para fazer isso, abra um editor de simples texto como Notepad ou Notepad++, digite o caminho completo para o arquivo `php.exe` no diretório de instalação do PHP, seguido por um espaço, seguido pelo caminho completo para o arquivo `loader.php` no diretório da sua instalação do phpMussel, salvar o arquivo com a extensão `.bat` Em algum lugar que você vai encontrá-lo facilmente, e clique duas vezes nesse arquivo para executar phpMussel no futuro. - -5) Instale todas as assinaturas que você precisará. *Vejo: [INSTALANDO ASSINATURAS](#INSTALLING_SIGNATURES).* - -6) Neste ponto, você está feito! Porém, você provavelmente deve testá-lo para garantir que ele está funcionando corretamente. Para testar phpMussel, executar phpMussel e tentar analisar o diretório `.tests/samples` fornecida com o pacote. - -#### 2.2 INSTALANDO COM COMPOSER - -[phpMussel está registrado no Packagist](https://packagist.org/packages/phpmussel/phpmussel), e então, se você estiver familiarizado com o Composer, poderá usar o Composer para instalar o phpMussel (você ainda precisará preparar a configuração, permissões, assinaturas e ganchos embora; consulte "instalando manualmente (para web servidores)" as etapas 2, 4, 5, e 6). - -`composer require phpmussel/phpmussel` - -#### 2.3 INSTALANDO ASSINATURAS - -Desde a v1.0.0, as assinaturas não estão incluídas no pacote phpMussel. As assinaturas são requeridas pela phpMussel para detectar ameaças específicas. Existem 3 métodos principais para instalar assinaturas: - -1. Instale automaticamente usando o front-end página de atualizações. -2. Gerar assinaturas usando "SigTool" e instale-se manualmente. -3. Baixe as assinaturas de "phpMussel/Signatures" e instale-se manualmente. - -##### 2.3.1 Instale automaticamente usando o front-end página de atualizações. - -Primeiramente, você precisará certificar-se de que o front-end está habilitado. *Vejo: [GESTÃO DE FRONT-END](#SECTION4).* - -Então, tudo o que você precisa fazer é ir para o front-end página de atualizações, encontre os arquivos de assinatura necessários e use as opções fornecidas na página, instale-as e ative-as. - -##### 2.3.2 Gerar assinaturas usando "SigTool" e instale-se manualmente. - -*Vejo: [Documentação SigTool](https://github.com/phpMussel/SigTool#documentation).* - -*Observe também: O SigTool processa apenas as assinaturas do ClamAV. Para obter assinaturas de outras fontes, como as escritas especificamente para o phpMussel, que incluem as assinaturas necessárias para detectar as amostras de teste do phpMussel, esse método precisará ser complementado por um dos outros métodos mencionados aqui.* - -##### 2.3.3 Baixar as assinaturas de "phpMussel/Signatures" e instale-se manualmente. - -Primeiramente, vá para [phpMussel/Signatures](https://github.com/phpMussel/Signatures). O repositório contém vários arquivos de assinatura compactados em GZ. Baixe os arquivos que você precisa, descomprime-os e copie os arquivos descomprimidos para o diretório `/vault/signatures` para instalá-los. Listar os nomes dos arquivos copiados para a diretiva `active` na sua configuração phpMussel para ativá-los. - ---- - - -### 3. COMO USAR - -#### 3.0 COMO USAR (PARA WEB SERVIDORES) - -phpMussel deve ser capaz de operar corretamente com requisitos mínimos sobre a sua parte: Após instalá-lo, ele deve funcionar imediatamente e ser imediatamente utilizável. - -Análise dos arquivos carregados via upload é automatizado e ativado por padrão, por isso nada é exigido de você por essa função particular. - -Porém, você também é capaz de instruir phpMussel para verificar arquivos e/ou diretórios específicos. Para fazer isso, em primeiro lugar, você vai precisar assegurar que a configuração apropriada é definida no arquivo `config.ini` (`cleanup` deve ser desativado), e quando feito, em um arquivo PHP que está enganchado ao phpMussel, usar a seguinte função no seu código: - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan` pode ser uma string, um matriz, ou um matriz de matrizes, e indica qual arquivo, arquivos, diretório e/ou diretórios para analisar. -- `$output_type` é um booleano, indicando o formato para os resultados da verificação a serem retornados. `false` instrui a função para retornar resultados como um número inteiro. `true` instrui a função para retornar os resultados como texto legível. Adicionalmente, em ambos os casos, os resultados podem ser acessados através de variáveis globais após o análise já concluída. Esta variável é opcional, definida como `false` por padrão. O seguinte descreve os resultados inteiros: - -| Resultados | Descrição | -|---|---| -| -4 | Indica que os dados não puderam ser analisados devido a encriptação. | -| -3 | Indica que problemas foram encontrados com os arquivos de assinatura do phpMussel. | -| -2 | Indica que dados corrompidos foram detectados durante a análise, e portanto, a análise não foi concluída. | -| -1 | Indica que extensões ou complementos necessários pelo PHP para executar a análise estavam faltando, e portanto, a análise não foi concluída. | -| 0 | Indica que o alvo de análise não existe, e portanto, havia nada para verificar. | -| 1 | Indica que o alvo foi analisado e não foram detectados problemas. | -| 2 | Indica que o alvo foi analisado e problemas foram detectados. | - -- `$output_flatness` é um booleano, indicando para a função ou retornar os resultados de análise (quando há vários alvos para analisando) como uma matriz ou uma string. `false` irá retornar os resultados como uma matriz. `true` irá retornar os resultados como uma string. Esta variável é opcional, definida como `false` por padrão. - -Exemplos: - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -Retorna algo tal como esta (como uma string): - -``` - Wed, 16 Sep 2013 02:49:46 +0000 Começado. - > Verificando '/user_name/public_html/my_file.html': - -> Não problemas encontrados. - Wed, 16 Sep 2013 02:49:47 +0000 Terminado. -``` - -Por completos detalhes sobre que tipo de assinaturas phpMussel usa durante a análise e como ele usa essas assinaturas, consulte a [FORMATOS DE ASSINATURAS](#SECTION8) seção deste arquivo README. - -Se você encontrar quaisquer falsos positivos, se você encontrar algo novo que você acha deve ser bloqueado, ou para qualquer outra coisa com relação a assinatura, entre em contato comigo sobre isso para que eu possa fazer as mudanças necessárias, que, se você não entrar em contato comigo, eu posso não ser necessariamente conscientes de. *(Vejo: [O que é um "falso positivo"?](#WHAT_IS_A_FALSE_POSITIVE)).* - -Para desativar as assinaturas que estão incluídos com phpMussel (tal como se você está experimentando falsos positivos específico para seus fins que não deve normalmente ser removidos da agilize), adicione os nomes das assinaturas específicas a ser desabilitadas para o arquivo greyist das assinaturas (`/vault/greylist.csv`), separados por vírgulas. - -*Veja também: [Como acessar detalhes específicos sobre os arquivos quando eles são analisados?](#SCAN_DEBUGGING)* - -#### 3.1 COMO USAR (PARA CLI) - -Por favor, consulte a seção "INSTALANDO MANUALMENTE (PARA CLI)" deste arquivo README. - -Também estar ciente de que phpMussel é um scanner *on-demand*; *NÃO* é um scanner *on-access* (exceto para o carregamento de arquivos, no momento de carregamento), e ao contrário de antivírus suítes convencionais, não monitora memória ativa! Ele só vai detectar vírus contidos pelo carregamento de arquivos, e por esses arquivos específicos que você explicitamente diga a ele analisar. - ---- - - -### 4. GESTÃO DE FRONT-END - -#### 4.0 O QUE É O FRONT-END. - -O front-end fornece uma maneira conveniente e fácil de manter, gerenciar e atualizar sua instalação phpMussel. Você pode visualizar, compartilhar e baixar arquivos de log através da página de logs, você pode modificar a configuração através da página de configuração, você pode instalar e desinstalar componentes através da página de atualizações, e você pode carregar, baixar e modificar arquivos no seu vault através do gerenciador de arquivos. - -O front-end é desativado por padrão para evitar acesso não autorizado (acesso não autorizado pode ter consequências significativas para o seu site e para a sua segurança). Instruções para habilitá-lo estão incluídas abaixo deste parágrafo. - -#### 4.1 COMO HABILITAR O FRONT-END. - -1) Localize a directiva `disable_frontend` dentro `config.ini`, e defini-lo como `false` (ele será `true` por padrão). - -2) Acesse o `loader.php` do seu navegador (p.e., `http://localhost/phpmussel/loader.php`). - -3) Faça login com o nome de usuário e a senha padrão (admin/password). - -Nota: Depois de efetuar login pela primeira vez, a fim de impedir o acesso não autorizado ao front-end, você deve imediatamente alterar seu nome de usuário e senha! Isto é muito importante, porque é possível fazer upload de código PHP arbitrário para o seu site através do front-end. - -Além disso, para uma segurança ideal, é recomendável ativar a "autenticação de dois fatores" para todas as contas front-end (instruções fornecidas abaixo). - -#### 4.2 COMO USAR O FRONT-END. - -As instruções são fornecidas em cada página do front-end, para explicar a maneira correta de usá-lo e sua finalidade pretendida. Se precisar de mais explicações ou qualquer assistência especial, entre em contato com o suporte. Alternativamente, existem alguns vídeos disponíveis no YouTube que podem ajudar por meio de demonstração. - -#### 4.3 AUTENTICAÇÃO DE DOIS FATORES - -É possível tornar o front-end mais seguro ativando a autenticação de dois fatores ("2FA"). Ao fazer login numa conta ativada para 2FA, um e-mail é enviado para o endereço de e-mail associado a essa conta. Este e-mail contém um "código 2FA", que o usuário deve inserir, além do nome de usuário e da senha, para poder fazer login usando essa conta. Isso significa que a obtenção de uma senha de conta não seria suficiente para que qualquer hacker ou atacante em potencial pudesse fazer login nessa conta, já que eles também precisam ter acesso ao endereço de e-mail associado a essa conta para poder receber e utilizar o código 2FA associado à sessão, assim tornando assim o front-end mais seguro. - -Em primeiro lugar, para ativar a autenticação de dois fatores, usando a página de atualizações do front-end, instale o componente PHPMailer. O phpMussel utiliza o PHPMailer para enviar e-mails. Deve-se notar que embora o phpMussel, por si só, seja compatível com PHP >= 5.4.0, o PHPMailer requer PHP >= 5.5.0, significando, portanto, que ativando a autenticação de dois fatores para o front-end do phpMussel não será possível para usuários do PHP 5.4. - -Depois de instalar o PHPMailer, você precisará preencher as diretivas de configuração do PHPMailer por meio da página de configuração para phpMussel ou do arquivo de configuração. Mais informações sobre essas diretivas de configuração estão incluídas na seção de configuração deste documento. Depois de preencher as diretivas de configuração do PHPMailer, defina `enable_two_factor` para `true`. A autenticação de dois fatores agora deve estar ativada. - -Em seguida, você precisará associar um endereço de e-mail a uma conta para que o phpMussel saiba para onde enviar códigos 2FA ao fazer login com essa conta. Para fazer isso, use o endereço de e-mail como o nome de usuário da conta (como `foo@bar.tld`), ou incluir o endereço de e-mail como parte do nome de usuário da mesma forma que você faria ao enviar um e-mail normalmente (como `Foo Bar `). - -Nota: Proteger seu vault contra acesso não autorizado (p.e., por meio de endurecendo as permissões de segurança e de acesso público do seu servidor), é particularmente importante aqui, devido a esse acesso não autorizado ao seu arquivo de configuração (que é armazenado no seu vault), pode arriscar expor suas configurações de SMTP (incluindo nome de usuário e senha SMTP). Você deve garantir que seu vault esteja adequadamente protegido antes de ativar a autenticação de dois fatores. Se você não conseguir fazer isso, então, pelo menos, você deve criar uma nova conta de e-mail, dedicada para essa finalidade, a fim de reduzir os riscos associados às configurações SMTP expostas. - ---- - - -### 5. CLI (COMANDO LINHA INTERFACE) - -phpMussel pode ser executado como um interativo analisador de arquivo no modo CLI em sistemas baseados em Windows. Por favor, consulte a seção "COMO INSTALAR (PARA CLI)" deste arquivo README para mais detalhes. - -Para uma lista de comandos disponíveis Em CLI, no CLI prompt, digite 'c', e pressione Enter. - -Além disso, para os interessados, um tutorial em vídeo para saber como usar phpMussel no modo CLI está disponível aqui: -- - ---- - - -### 6. ARQUIVOS INCLUÍDOS NESTE PACOTE - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. OPÇÕES DE CONFIGURAÇÃO - -O seguinte é uma lista de variáveis encontradas no `config.ini` arquivo de configuração para phpMussel, juntamente com uma descrição de sua propósito e função. - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### "general" (Categoria) -Configuração geral por phpMussel. - -##### "cleanup" -- Deletar script variáveis e cache após a execução? False = Não; True = Sim [Padrão]. Se você não estiver usando o script para outra coisa senão a verificação de carregamentos, você deve defina-o como `true` para minimizar o uso de memória. Caso contrário, você deve defini-lo como `false`, a fim de reter na memória os dados necessários para executar o phpMussel sem recarregá-lo desnecessariamente. -- Não tem influência em CLI modo. - -##### "scan_log" -- Nome do arquivo para registrar todos os resultados do análises. Especifique um arquivo nome, ou deixe branco para desativar. - -##### "scan_log_serialized" -- Nome do arquivo para registrar todos os resultados do análises (formato é serializado). Especifique um arquivo nome, ou deixe branco para desativar. - -##### "scan_kills" -- Nome do arquivo para registrar todos os bloqueados ou matados carregamentos. Especifique um arquivo nome, ou deixe branco para desativar. - -*Dica útil: Se você quiser, você pode acrescentar informações tempo/hora aos nomes dos seus arquivos de log através incluir estas em nome: `{yyyy}` para o ano completo, `{yy}` para o ano abreviado, `{mm}` por mês, `{dd}` por dia, `{hh}` por hora.* - -*Exemplos:* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### "error_log" -- Um arquivo para registrar erros detectados que não são fatais. Especifique o nome de um arquivo, ou deixe em branco para desabilitar. - -##### "truncate" -- Truncar arquivos de log quando atingem um determinado tamanho? Valor é o tamanho máximo em B/KB/MB/GB/TB que um arquivo de log pode crescer antes de ser truncado. O valor padrão de 0KB desativa o truncamento (arquivos de log podem crescer indefinidamente). Nota: Aplica-se a arquivos de log individuais! O tamanho dos arquivos de log não é considerado coletivamente. - -##### "log_rotation_limit" -- A rotação de log limita o número de arquivos de log que devem existir a qualquer momento. Quando novos arquivos de log são criados, se o número total de arquivos de log exceder o limite especificado, a ação especificada será executada. Você pode especificar o limite desejado aqui. Um valor de 0 desativará a rotação de log. - -##### "log_rotation_action" -- A rotação de log limita o número de arquivos de log que devem existir a qualquer momento. Quando novos arquivos de log são criados, se o número total de arquivos de log exceder o limite especificado, a ação especificada será executada. Você pode especificar a ação desejada aqui. Delete = Deletar os arquivos de log mais antigos, até o limite não seja mais excedido. Archive = Primeiramente arquivar, e então deletar os arquivos de log mais antigos, até o limite não seja mais excedido. - -*Esclarecimento técnico: Neste contexto, "mais antigo" significa modificado menos recentemente.* - -##### "timezone" -- Isso é usado para especificar qual fuso horário o phpMussel deve usar para operações de data/hora. Se você não precisa disso, ignore. Valores possíveis são determinados pelo PHP. É geralmente recomendado no lugar para ajustar a directiva fuso horário no seu arquivo `php.ini`, mas às vezes (tais como quando se trabalha com provedores de hospedagem compartilhada e limitados) isto não é sempre possível fazer, e então, esta opção é fornecido aqui. - -##### "time_offset" -- *v1: "timeOffset"* -- Se o tempo do servidor não coincide com sua hora local, você pode especificar aqui um offset para ajustar as informações de data/tempo gerado por phpMussel de acordo com as suas necessidades. É geralmente recomendado no lugar para ajustar a directiva fuso horário no seu arquivo `php.ini`, mas às vezes (tais como quando se trabalha com provedores de hospedagem compartilhada e limitados) isto não é sempre possível fazer, e então, esta opção é fornecido aqui. Offset é em minutos. -- Exemplo (para adicionar uma hora): `time_offset=60` - -##### "time_format" -- *v1: "timeFormat"* -- O formato de notação de data/tempo utilizado pelo phpMussel. Padrão = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`. - -##### "ipaddr" -- Onde encontrar o IP endereço das solicitações? (Útil por serviços como o Cloudflare e tal) Padrão = REMOTE_ADDR. ATENÇÃO: Não mude isso a menos que você saiba o que está fazendo! - -Valores recomendados para "ipaddr": - -Valor | Usando ----|--- -`HTTP_INCAP_CLIENT_IP` | Proxy reverso Incapsula. -`HTTP_CF_CONNECTING_IP` | Proxy reverso Cloudflare. -`CF-Connecting-IP` | Proxy reverso Cloudflare (alternativa; se o acima não funcionar). -`HTTP_X_FORWARDED_FOR` | Proxy reverso Cloudbric. -`X-Forwarded-For` | [Proxy reverso Squid](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*Definido pela configuração do servidor.* | [Proxy reverso Nginx](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` | Nenhum proxy reverso (valor padrão). - -##### "enable_plugins" -- Ativar o suporte para os plugins do phpMussel? False = Não; True = Sim [Padrão]. - -##### "forbid_on_block" -- Deve phpMussel enviar 403 cabeçalho com a bloqueado arquivo carregamento mensagem, ou ficar com os habituais 200 OK? False = Não (200); True = Sim (403) [Padrão]. - -##### "unsupported_media_type_header" -- Deve phpMussel enviar 415 cabeçalhos quando os uploads são bloqueados devido a tipos de arquivos na lista negra? Quando true, esta configuração substitui `forbid_on_block`. False = Não [Padrão]; True = Sim. - -##### "delete_on_sight" -- Ativando esta opção irá instruir o script para tentar imediatamente deletando qualquer arquivo que ele encontra durante a análise que corresponde a qualquer critério de detecção, quer seja através de assinaturas ou de outra forma. Arquivos determinados para ser "limpo" não serão tocados. Em caso de compactados arquivos, o inteiro arquivo será deletado (independentemente de se o problemático arquivo é apenas um dos vários arquivos contidos dentro do compactado arquivo). Para o caso de arquivo carregamento análise, em geral, não é necessário ativar essa opção, porque normalmente, PHP irá automaticamente expurgar os conteúdos de o seu cache quando a execução foi concluída, significando que ele vai normalmente deletar todos os arquivos enviados através dele para o servidor a menos que tenha movido, copiado ou deletado já. A opção é adicionado aqui como uma medida de segurança para aqueles cujas cópias de PHP nem sempre se comportam da forma esperada. False = Após a análise, deixe o arquivo sozinho [Padrão]; True = Após a análise, se não limpo, deletar imediatamente. - -##### "lang" -- Especificar o padrão da linguagem por phpMussel. - -##### "lang_override" -- Localizar de acordo com HTTP_ACCEPT_LANGUAGE sempre que possível? True = Sim [Padrão]; False = Não. - -##### "numbers" -- Especifica como exibir números. - -Valores atualmente suportados: - -Valor | Produz | Descrição ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | Valor padrão. -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*Nota: Esses valores não são padronizados em nenhum lugar, e provavelmente não serão relevantes além do pacote. Adicionalmente, os valores suportados podem mudar no futuro.* - -##### "quarantine_key" -- phpMussel é capaz de colocar em quarentena marcados tentados arquivos carregamentos em isolamento dentro da phpMussel vault, se isso é algo que você quer que ele faça. Casuais usuários de phpMussel de que simplesmente desejam proteger seus sites ou hospedagem sem ter qualquer interesse em profundamente analisando qualquer marcados tentados arquivos carregamentos deve deixar esta funcionalidade desativada, mas qualquer usuário interessado em mais profundamente analisando marcados tentados arquivos carregamentos para pesquisa de malware ou de similares tais coisas deve ativada essa funcionalidade. Quarentena de marcados tentados arquivos carregamentos às vezes pode também ajudar em depuração de falso-positivos, se isso é algo que ocorre com frequência para você. Por desativar a funcionalidade de quarentena, simplesmente deixar a directiva `quarantine_key` vazio, ou apagar o conteúdo do directivo, se ele não está já vazio. Por ativar a funcionalidade de quarentena, introduzir algum valor no directiva. O `quarantine_key` é um importante segurança característica do quarentena funcionalidade necessária como um meio de prevenir a funcionalidade de quarentena de ser explorada por potenciais atacantes e como meio de evitar qualquer potencial execução de dados armazenados dentro da quarentena. O `quarantine_key` devem ser tratados da mesma maneira como suas senhas: O mais longo o mais melhor, e guardá-lo com força. Por melhor efeito, usar em conjunto com `delete_on_sight`. - -##### "quarantine_max_filesize" -- O máximo permitido tamanho do arquivos serem colocados em quarentena. Arquivos maiores que este valor NÃO serão colocados em quarentena. Esta directiva é importante como um meio de torná-lo mais difícil por qualquer potenciais atacante para inundar sua quarentena com indesejados dados potencialmente causando excesso uso de dados no seu hospedagem serviço. Padrão = 2MB. - -##### "quarantine_max_usage" -- O uso máximo de memória permitido através do quarentena. Se o total de memória utilizada pelo quarentena atingir este valor, os mais antigos arquivos em quarentena serão apagados até que a total memória utilizada já não atinge este valor. Esta directiva é importante como um meio de torná-lo mais difícil por qualquer potenciais atacante para inundar sua quarentena com indesejados dados potencialmente causando excesso uso de dados no seu hospedagem serviço. Padrão = 64MB. - -##### "quarantine_max_files" -- O número máximo de arquivos que podem existir na quarentena. Quando novos arquivos são adicionados à quarentena, se esse número for excedido, os arquivos antigos serão excluídos até que o restante não exceda mais esse número. Padrão = 100. - -##### "honeypot_mode" -- Quando o honeypot modo é ativada, phpMussel vai tente colocar no quarentena todos os uploads de arquivos que ele encontras, independentemente de se ou não o arquivo que está sendo carregado corresponde a qualquer incluídos assinaturas, e zero análise desses tentados arquivos carregamentos vai ocorrer. Esta funcionalidade deve ser útil por aqueles que desejam utilizar phpMussel por os fins de vírus/malware pesquisa, mas não é recomendado para ativar essa funcionalidade se o planejado uso de phpMussel pelo utilizador é por o real análise dos arquivos carregamentos nem recomendado para usar essa funcionalidade por fins outros que o uso do honeypot. Por padrão, essa opção está desativada. False = Desativado [Padrão]; True = Ativado. - -##### "scan_cache_expiry" -- Por quanto tempo deve phpMussel cache os resultados da verificação? O valor é o número de segundos para armazenar em cache os resultados da verificação para. O padrão é 21600 segundo (6 horas); Um valor de 0 irá desativar o cache os resultados da verificação. - -##### "disable_cli" -- Desativar o CLI modo? CLI modo é ativado por padrão, mas às vezes pode interferir com certas testes ferramentas (tal como PHPUnit, por exemplo) e outras aplicações baseadas em CLI. Se você não precisa desativar o CLI modo, você deve ignorar esta directiva. False = Ativar o CLI modo [Padrão]; True = Desativar o CLI modo. - -##### "disable_frontend" -- Desativar o acesso front-end? Acesso front-end pode fazer phpMussel mais manejável, mas também pode ser um risco de segurança potencial, também. É recomendado para gerenciar phpMussel através do back-end, sempre que possível, mas o acesso front-end é proporcionada para quando não é possível. Mantê-lo desativado, a menos que você precisar. False = Ativar o acesso front-end; True = Desativar o acesso front-end [Padrão]. - -##### "max_login_attempts" -- Número máximo de tentativas de login ao front-end. Padrão = 5. - -##### "frontend_log" -- *v1: "FrontEndLog"* -- Arquivo para registrar tentativas de login ao front-end. Especifique o nome de um arquivo, ou deixe em branco para desabilitar. - -##### "disable_webfonts" -- Desativar webfonts? True = Sim [Padrão]; False = Não. - -##### "maintenance_mode" -- Ativar o modo de manutenção? True = Sim; False = Não [Padrão]. Desativa tudo além do front-end. Às vezes útil para quando atualiza seu CMS, frameworks, etc. - -##### "default_algo" -- Define qual algoritmo usar para todas as futuras senhas e sessões. Opções: PASSWORD_DEFAULT (padrão), PASSWORD_BCRYPT, PASSWORD_ARGON2I (requer PHP >= 7.2.0), PASSWORD_ARGON2ID (requer PHP >= 7.3.0). - -##### "statistics" -- Monitorar as estatísticas de uso do phpMussel? True = Sim; False = Não [Padrão]. - -##### "hide_version" -- Ocultar informações da versão dos logs e da saída da página? True = Sim; False = Não [Padrão]. - -##### "disabled_channels" -- Isso pode ser usado para impedir que o phpMussel use canais específicos ao enviar solicitações (por exemplo, ao atualizar, ao buscar metadados de componentes, etc). - -##### "default_timeout" -- Tempo limite padrão a ser usado para solicitações externas? Padrão = 12 segundos. - -#### "signatures" (Categoria) -Configuração por assinaturas. - -##### "active" -- *v1: "Active"* -- Uma lista dos arquivos de assinaturas ativos, delimitados por vírgulas. - -*Nota:* -- *Arquivos de assinatura devem ser instalados primeiro, antes de você poder ativá-los.* -- *Para que os arquivos de teste funcionem corretamente, os arquivos de assinatura devem ser instalados e ativados.* -- *O valor desta diretiva é armazenado em cache. Depois de alterá-lo, para que as alterações entrem em vigor, talvez seja necessário excluir o cache.* - -##### "fail_silently" -- Deve phpMussel reportar quando os assinaturas arquivos estão perdido ou corrompido? Se `fail_silently` está desativado, perdidos e corrompidos arquivos serão reportado durante análise, e se `fail_silently` está ativado, perdidos e corrompidos arquivos serão ignoradas, com a análise reportando por estes arquivos em que não há problemas. Isso geralmente deve ser deixado sozinho a menos que você está experimentando PHP falhas ou semelhantes problemas. False = Desativado; True = Ativado [Padrão]. - -##### "fail_extensions_silently" -- Deve phpMussel reportar quando extensões não estão disponíveis? Se `fail_extensions_silently` está desativado, extensões indisponíveis serão reportado durante análise, e se `fail_extensions_silently` está ativado, extensões indisponíveis serão ignoradas, com a análise reportando por estes arquivos em que não há problemas. Desativando dessa directiva pode potencialmente aumentar a sua segurança, mas também pode levar a um aumento de falsos positivos. False = Desativado; True = Ativado [Padrão]. - -##### "detect_adware" -- Deve phpMussel usam assinaturas para detectar adware? False = Não; True = Sim [Padrão]. - -##### "detect_joke_hoax" -- Deve phpMussel usam assinaturas para detectar piada/engano malwares/vírus? False = Não; True = Sim [Padrão]. - -##### "detect_pua_pup" -- Deve phpMussel usam assinaturas para detectar PUAs/PUPs? False = Não; True = Sim [Padrão]. - -##### "detect_packer_packed" -- Deve phpMussel usam assinaturas para detectar embaladores e dados embaladas? False = Não; True = Sim [Padrão]. - -##### "detect_shell" -- Deve phpMussel usam assinaturas para detectar shell scripts? False = Não; True = Sim [Padrão]. - -##### "detect_deface" -- Deve phpMussel usam assinaturas para detectar vandalismo e vândalos? False = Não; True = Sim [Padrão]. - -##### "detect_encryption" -- Deve phpMussel detectar e bloquear arquivos criptografados? False = Não; True = Sim [Padrão]. - -#### "files" (Categoria) -Configuração geral por a manipulação de arquivos. - -##### "max_uploads" -- O máximo permitido número de arquivos para analisar durante os arquivos carregamentos análise antes de abortar a análise e informando ao usuário eles estão carregando demais muito de uma vez! Oferece proteção contra um teórico ataque pelo qual um atacante tenta DDoS o seu sistema ou CMS por meio de sobrecarregando phpMussel a fim de retardar o PHP processo para uma parada. Recomendado: 10. Você pode querer aumentar ou diminuir esse número, dependendo das atributos do seu hardware. Note-se que este número não lev. Em conta ou incluir o conteúdos dos compactados arquivos. - -##### "filesize_limit" -- Arquivo tamanho limit. Em KB. 65536 = 64MB [Padrão] 0 = Não limite (sempre greylisted), qualquer (positivo) numérico valor aceite. Isso pode ser útil quando sua PHP configuração limita a quantidade de memória que um processo pode ocupar ou se sua PHP configuração limita o arquivo tamanho de carregamentos. - -##### "filesize_response" -- Que fazer com arquivos que excedam o limite de arquivo tamanho (se existir). False = Whitelist; True = Blacklist [Padrão]. - -##### "filetype_whitelist", "filetype_blacklist", "filetype_greylist" -- Se o seu sistema só permite certos tipos de arquivos sejam carregado, ou se o seu sistema explicitamente nega certos tipos de arquivos, especificando esses tipos de arquivos no whitelists, blacklists e greylists pode aumentar a velocidado em que a análise é realizada através de permitindo o script para ignorar certos tipos de arquivos. O formato CSV (Comma Separated Values). Se você quer analisar tudo, ao invés de fazendo whitelist, blacklist ou greylist, deixe as variáveis em branco; Isso irá desativar whitelist/blacklist/greylist). -- Lógico ordem de processamento é: - - Se o tipo de arquivo está na whitelist, não verificar e não bloqueia o arquivo, e não verificar o arquivo contra o blacklist ou greylist. - - Se o tipo de arquivo está na blacklist, não verificar o arquivo, mas bloqueá-lo de qualquer maneira, e não verificar o arquivo contra o greylist. - - Se o greylist está vazia ou se o greylist não está vazia e o tipo de arquivo é no greylist, verificar o arquivo como por normal e determinar se a bloqueá-lo com base nos resultados do verificando, mas se o greylist não está vazia e o tipo de arquivo não é no greylist, tratar o arquivo da mesma maneira como está na blacklist, portanto não verificá-lo, mas bloqueá-lo de qualquer maneira. - -##### "check_archives" -- Tentativa de verificar os conteúdos dos compactados arquivos? False = Não (Não verificar); True = Sim (Verificar) [Padrão]. - -Formato | Pode ler | Pode ler recursivamente | Pode detectar criptografia | Notas ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | Requer [libzip](https://secure.php.net/manual/en/zip.requirements.php) (normalmente empacotado com PHP de qualquer maneira). Também suportado (usa o formato zip): ✔️ Detecção de objeto OLE. ✔️ Detecção de macro do Office. -Tar | ✔️ | ✔️ | ➖ | Nenhum requisito especial. O formato não suporta criptografia. -Rar | ✔️ | ✔️ | ✔️ | Requer a extensão [rar](https://pecl.php.net/package/rar) (quando esta extensão não está instalada, o phpMussel não pode ler arquivos rar). -Phar | ❌ | ❌ | ❌ | O suporte para leitura de arquivos phar foi removido na v1.6.0, e não será adicionado novamente, devido a preocupações de segurança. - -*Se alguém puder e estiver disposto a ajudar a implementar o suporte para ler outros formatos de arquivo, essa ajuda será bem-vinda.* - -##### "filesize_archives" -- Herdar o arquivo tamanho blacklist/whitelist para o conteúdo de compactados arquivos? False = Não (greylist tudo); True = Sim [Padrão]. - -##### "filetype_archives" -- Herdar o arquivo tipo blacklist/whitelist para o conteúdo de compactados arquivos? False = Não (greylist tudo) [Padrão]; True = Sim. - -##### "max_recursion" -- Máxima recursão profundidade limite por compactados arquivos. Padrão = 3. - -##### "block_encrypted_archives" -- Detectar e bloquear compactados arquivos criptografados? Porque phpMussel não é capaz de analisar o conteúdo de arquivos criptografados, é possível que a encriptação de arquivo pode ser empregado por um atacante como meio de tentar contornar phpMussel, analisadores antivírus e outras dessas proteções. Instruindo phpMussel para bloquear quaisquer arquivos que ele descobrir a ser criptografada poderia ajudar a reduzir o risco associado a essas tais possibilidades. False = Não; True = Sim [Padrão]. - -##### "max_files_in_archives" -- Número máximo de arquivos a serem analisados dentro dos arquivos antes de abortar a análise. Padrão = 0 (nenhum máximo). - -#### "attack_specific" (Categoria) -Configuração por específicas ataque detecções. - -A detecção de ataques de camaleão: False = Inativo; True = Ativo. - -##### "chameleon_from_php" -- Olha por PHP header em arquivos que são não PHP arquivos nem reconhecidos compactados arquivos. - -##### "can_contain_php_file_extensions" -- Uma lista de extensões de arquivos com permissão para conter código PHP, separadas por vírgulas. Se a detecção de ataques de camaleão PHP estiver ativada, os arquivos que contêm código PHP, que possuem extensões que não estão nesta lista, serão detectados como ataques de camaleão PHP. - -##### "chameleon_from_exe" -- Olha por executável headers em arquivos que são não executáveis nem reconhecidos compactados arquivos e por executáveis cujos headers estão incorretas. - -##### "chameleon_to_archive" -- Detectar headers incorretas em arquivos compactados. Suportados: BZ/BZIP2, GZ/GZIP, LZF, RAR, ZIP. - -##### "chameleon_to_doc" -- Olha por office documentos cujos headers estão incorretas (Suportados: DOC, DOT, PPS, PPT, XLA, XLS, WIZ). - -##### "chameleon_to_img" -- Olha por imagens cujos headers estão incorretas (Suportados: BMP, DIB, PNG, GIF, JPEG, JPG, XCF, PSD, PDD, WEBP). - -##### "chameleon_to_pdf" -- Olha por PDF arquivos cujos headers estão incorretas. - -##### "archive_file_extensions" -- Reconhecidos arquivos extensões (formato é CSV; só deve adicionar ou remover quando problemas ocorrem; desnecessariamente removendo pode causar falso-positivos para aparecer por compactados arquivos, enquanto desnecessariamente adicionando será essencialmente whitelist o que você está adicionando contra ataque específica detecção; modificar com cautela; Também notar que este não tem efeito em qual compactados arquivos podem e não podem ser analisados no escopo de conteúdo). A lista, como é padrão, é do formatos utilizados mais comumente através da maioria dos sistemas e CMS, mas intencionalmente não é necessariamente abrangente. - -##### "block_control_characters" -- Bloquear todos os arquivos que contenham quaisquer caracteres de controle, exceto linha quebras (`[\x00-\x08\x0b\x0c\x0e\x1f\x7f]`)? Se você está _**APENAS**_ carregando simple texto, então você pode ativar essa opção para fornecer alguma adicional proteção para o seu sistema. Mas, se você carregar qualquer coisa que não seja de texto simples, ativando isso pode resultas em falso positivos. False = Não bloquear [Padrão]; True = Bloquear. - -##### "corrupted_exe" -- Corrompidos arquivos e erros de análise. False = Ignorar; True = Bloquear [Padrão]. Detectar e bloquear potencialmente corrompidos PE (Portátil Executável) arquivos? Frequentemente (mas não sempre), quando certos aspectos de um PE arquivo é corrompido ou não pode ser analisado corretamente, essa pode ser indicativo de uma viral infecção. Os processos utilizados pela maioria dos antivírus programas para detectar vírus em PE arquivos requerem analisando os arquivos de certas maneiras, que, se o programador de um vírus é consciente de, especificamente irá tentar impedir, a fim de permitir seu vírus para permanecer não detectado. - -##### "decode_threshold" -- Opcional limitação para o comprimento dos dados para que dentro de decodificar comandos devem ser detectados (em caso de existirem quaisquer notável problemas de desempenho enquanto analisando). Padrão = 512KB. Zero ou nulo valor desativa o limitação (removendo qualquer limitação baseado em tamanho do arquivo). - -##### "scannable_threshold" -- Opcional limitação para o comprimento dos dados brutos para que phpMussel é permitido a ler e analisar (em caso de existirem quaisquer notável problemas de desempenho enquanto analisando). Padrão = 32MB. Zero ou nulo valor desativa o limitação. Em geral, esse valor não deve ser menor que o médio arquivo tamanho de carregamentos que você quer e espera para receber no seu servidor ou website, não deve ser mais que o filesize_limit directivo, e não deve ser menor que aproximadamente um quinto do total permissível memória alocação concedido para PHP através do `php.ini` configuração arquivo. Esta directiva existe para tentar impedir phpMussel de usando demais memória (que seria impedir-lo de ser capaz de analisando arquivos acima de um certo tamanho com sucesso). - -##### "allow_leading_trailing_dots" -- Permitir pontos iniciais e finais em nomes de arquivos? Às vezes, isso pode ser usado para ocultar arquivos, ou enganar alguns sistemas para permitir a passagem de diretórios. False = Não permitir [Padrão]. True = Permitir. - -##### "block_macros" -- Tente bloquear todos os arquivos que contenham macros? Alguns tipos de documentos e planilhas podem conter macros executáveis, fornecendo assim um perigoso vetor potencial de malware. False = Não bloquear [Padrão]; True = Bloquear. - -#### "compatibility" (Categoria) -Compatibilidade directivas por phpMussel. - -##### "ignore_upload_errors" -- Essa directiva deve ser geralmente desativada a menos que seja necessário por correta funcionalidade de phpMussel no seu específico sistema. Normalmente, quando desativado, quando phpMussel detecta a presença de elementos dentro a `$_FILES` array(), ele tentará iniciar uma análise dos arquivos que esses elementos representam, e, se esses elementos estão branco ou vazia, phpMussel irá retornar uma erro mensagem. Esse é um apropriado comportamento por phpMussel. Mas, por alguns CMS, vazios elementos podem ocorrer como resultado do natural comportamento dessas CMS, ou erros podem ser reportado quando não houver alguma, nesse caso, o normal comportamento por phpMussel será interferindo com o normal comportamento dessas CMS. Se tal situação ocorre por você, ativando esta opção irá instruir phpMussel para não tentar iniciar um análise por tais vazios elementos, ignorá-los quando encontrado e para não retornar qualquer relacionado erro mensagens, assim, permitindo a continuação da página carga. False = DESATIVADO; True = ATIVADO. - -##### "only_allow_images" -- Quando definido como true, todos os arquivos encontrados pelo scanner que não são imagens serão sinalizados imediatamente, sem serem analisados. Isso pode ajudar a reduzir o tempo necessário para concluir uma análise em alguns casos. Defina como false por padrão. - -#### "heuristic" (Categoria) -Heurísticos directivas para phpMussel. - -##### "threshold" -- Existem assinaturas específicas de phpMussel para identificando suspeitas e qualidades potencialmente maliciosos dos arquivos que estão sendo carregados sem por si só identificando aqueles arquivos que estão sendo carregados especificamente como sendo maliciosos. Este "threshold" (limiar) valor instrui phpMussel o que o total máximo peso de suspeitas e qualidades potencialmente maliciosos dos arquivos que estão sendo carregados que é permitida é antes que esses arquivos devem ser sinalizada como maliciosos. A definição de peso neste contexto é o número total de suspeitas e qualidades potencialmente maliciosos identificado. Por padrão, este valor será definido como 3. Um menor valor geralmente resultará numa maior ocorrência de falsos positivos mas um maior número de arquivos maliciosos sendo sinalizado, enquanto um maior valor geralmente resultará numa menor ocorrência de falsos positivos mas um menor número de arquivos maliciosos sendo sinalizado. É geralmente melhor a deixar esse valor em seu padrão a menos que você está enfrentando problemas relacionados a ela. - -#### "virustotal" (Categoria) -Configuração para Virus Total integração. - -##### "vt_public_api_key" -- Opcionalmente, phpMussel é capaz de verificar os arquivos usando o Virus Total API como uma maneira de fornecer um nível de proteção muito maior contra vírus, trojans, malware e outras ameaças. Por padrão, verificação de arquivos usando o Virus Total API está desativado. Para ativá-lo, um Virus Total API chave é necessária. Devido ao benefício significativo que isso poderia fornecer a você, é algo que eu recomendo ativar. Esteja ciente, porém, que para usar o Virus Total API, você _**DEVE**_ concordar com seus Termos de Uso e você _**DEVE**_ aderir a todas as orientações conforme descrito pelo da Virus Total documentação! Você NÃO tem permissão para usar este recurso de integração EXCETO SE: - - Você leu e concorda com os Termos de Uso da Virus Total e sua API. Os Termos de Uso da Virus Total e sua API pode ser encontrada [Aqui](https://www.virustotal.com/en/about/terms-of-service/). - - Você leu e você compreender, no mínimo, o preâmbulo da Virus Total Pública API documentação (tudo depois "VirusTotal Public API v2.0" mas antes "Contents"). Os Virus Total Pública API documentação pode ser encontrada [Aqui](https://www.virustotal.com/en/documentation/public-api/). - -Notar: Se a verificação de arquivos usando o Virus Total de API está desativado, você não será necessitar de rever alguma das directivas nesta categoria (`virustotal`), porque eles não vão fazer nada se este é desativado. Para adquirir um Virus Total API chave, desde qualquer lugar em seu site, clique no "Junte-se à comunidade" link situado próximo ao superior direita da página, digitar as informações solicitadas, e clique em "Cadastrar" quando acabado. Siga todas as instruções fornecidas, e quando você tem a sua pública API chave, copiar/colar essa pública API chave ao `vt_public_api_key` directiva do `config.ini` configuração arquivo. - -##### "vt_suspicion_level" -- Por padrão, phpMussel restringirá os arquivos que são verificado usando o Virus Total API a esses arquivos que considera "suspeito". Opcionalmente, você pode ajustar essa restrição via alterando o valor ao `vt_suspicion_level` directiva. -- `0`: Arquivos somente são considerados suspeitos se, quando ser verificado por phpMussel usando suas próprias assinaturas, eles são considerados para possuir um peso heurística. Isto eficazmente significa que a utilização da Virus Total API seria para um segundo opinião para quando phpMussel suspeita que um arquivo pode ser potencialmente malicioso, mas não pode afastar totalmente que podem também ser benigna (não malicioso) e por conseguinte normalmente em caso contrário não seria bloqueá-lo ou marcá-lo como malicioso. -- `1`: Arquivos são considerados suspeitos se, quando ser verificado por phpMussel usando suas próprias assinaturas, eles são considerados para possuir um peso heurística, se eles são conhecidos para ser executável (PE arquivos, Mach-O arquivos, ELF/Linux arquivos, etc), ou se eles são conhecidos para ser de um formato que pode potencialmente conter dados executável (tais como macros executáveis, DOC/DOCX arquivos, arquivos compactados tais como RARs, ZIPS e etc). Este é o padrão e recomendado nível de suspeita para aplicar, eficazmente significando que a utilização da Virus Total API seria para um segundo opinião para quando phpMussel inicialmente não encontrar qualquer coisa que é malicioso ou errado com um arquivo que ele considera ser suspeito e por conseguinte em caso contrário não seria bloqueá-lo ou marcá-lo como malicioso. -- `2`: Todos arquivos são considerados suspeitos e devem ser verificados usando o Virus Total API. Eu geralmente não recomendamos a aplicação desse nível de suspeita, devido ao risco de atingir sua API cota muito mais rápido do que de caso contrário seria o caso, mas existem certas circunstâncias (tal como quando o webmaster ou hostmaster tem muito pouca fé ou confiança em qualquer um dos conteúdos carregados por seus usuários) onde este nível suspeita pode ser adequado. Com este nível suspeita, todos arquivos normalmente não bloqueados ou marcados como sendo malicioso seria analisados usando o Virus Total API. Notar, porém, que phpMussel deixará usando o Virus Total API quando sua API cota foi atingido (independentemente do nível de suspeita), e que a sua cota será provavelmente ser alcançado muito mais rápido quando se usando este nível de suspeita. - -Notar: Independentemente do nível de suspeita, todos os arquivos que estão na blacklist ou whitelisted por phpMussel não serão analisados usando o Virus Total API, porque esses tais arquivos que já foram declaradas como quer malicioso ou benigno por phpMussel no momento em que eles teriam sido de caso contrário analisada pelo Virus Total API, e por conseguinte, análise adicional não seria necessário. A capacidade de phpMussel para verificar arquivos usando o Virus Total API é destinado para construir confiança em relação a se um arquivo é malicioso ou benigno nas circunstâncias em que phpMussel não é totalmente certo se um arquivo é malicioso ou benigno. - -##### "vt_weighting" -- Deve phpMussel aplicar os resultados de analisando usando o Virus Total API como detecções ou como detecção ponderação? Esta directiva existe, porque, embora verificando um arquivo usando múltiplos mecanismos (como Virus Total faz) deve resultar em um aumento da taxa de detecção (e por conseguinte em um maior número de arquivos maliciosos detectados), isto também pode resultar em um aumento número de falsos positivos, e por conseguinte, em algumas circunstâncias, os resultados de análise pode ser melhor utilizado como uma pontuação de confiança e não como uma conclusão definitiva. Se um valor de 0 é usado, os resultados de análise usando o Virus Total API será aplicado como detecções, e por conseguinte, Se qualquer mecanismo usado pelo Virus Total marca o arquivo que está sendo analisado como sendo malicioso, phpMussel considerará o arquivo a ser malicioso. Se qualquer outro valor é usado, os resultados de análise usando o Virus Total API será aplicado como detecção ponderação, e por conseguinte, o número de mecanismos utilizados pela Virus Total que marcar o arquivo que está sendo analisado como sendo malicioso servirá como uma pontuação de confiança (ou ponderação de detecção) para se ou não o arquivo que está sendo analisado deve ser considerado malicioso por phpMussel (o valor utilizado representará o mínima pontuação de confiança ou peso requerido a fim de ser considerado malicioso). Um valor de 0 é usado por padrão. - -##### "vt_quota_rate" e "vt_quota_time" -- De acordo com o Virus Total API documentação, é limitada a, no máximo, 4 solicitações de qualquer natureza dentro qualquer 1 minuto período de tempo. Se você executar um honeyclient, honeypot ou qualquer outro automação que vai fornecer recursos para Virus Total e não só recuperar relatórios você tem direito a uma melhor solicitações cota. Por padrão, phpMussel vai aderir estritamente a estas limitações, mas, devido à possibilidade de essas cotas a ser aumentada, estas duas directivas são fornecidos como um meio para que você possa instruir phpMussel sobre o limite que deve aderir para. Excepto se tenha sido instruído a fazê-lo, não é recomendado para você aumentar esses valores, mas, se você encontrou problemas relacionados com a atingir sua cota, diminuir esses valores podem _**POR VEZES**_ ajudá-lo em lidar com estes problemas. Seu taxa limite é determinada como `vt_quota_rate` solicitações de qualquer natureza dentro qualquer `vt_quota_time` minuto período de tempo. - -#### "urlscanner" (Categoria) -Um URL analisador está incluído com phpMussel, capaz de detectar URLs maliciosos dentro de todos os dados ou arquivos analisados. - -Notar: Se o URL analisador é desativado, você não terá que rever alguma das directivas nesta categoria (`urlscanner`), porque nenhum deles fará de tudo se este é desativado. - -URL analisador API uso configuração. - -##### "google_api_key" -- Permite o uso do Google Safe Browsing API quando a API chave necessária está definida. Para o uso de sua API, Google Safe Browsing API requerer uma API chave, que pode ser obtido a partir de [Aqui](https://console.developers.google.com/). -- Notar: A extensão cURL é necessária a fim de usar este recurso. - -##### "maximum_api_lookups" -- Número máximo admissível de API solicitações para executar por cada iteração de análise. Porque cada API solicitação adicional irá acrescentar ao tempo total necessário para completar cada iteração de análise, você pode querer estipular uma limitação a fim de acelerar o processo de análise. Quando definido para 0, nenhuma número máximo admissível será aplicada. Definido para 10 por padrão. - -##### "maximum_api_lookups_response" -- Que fazer se o número máximo admissível de API solicitações está ultrapassado? False = Fazer nada (continuar o processamento) [Padrão]; True = Marcar/bloquear o arquivo. - -##### "cache_time" -- Quanto tempo (em segundos) devem os resultados da API ser armazenados em cache? Padrão é 3600 segundos (1 hora). - -#### "legal" (Categoria) -Configuração relacionada aos requisitos legais. - -*Para obter mais informações sobre requisitos legais e como isso pode afetar seus requisitos de configuração, consulte a seção "[INFORMAÇÃO LEGAL](#SECTION11)" da documentação.* - -##### "pseudonymise_ip_addresses" -- Pseudonimiza endereços IP ao escrever os arquivos de log? True = Sim [Padrão]; False = Não. - -##### "privacy_policy" -- O endereço de uma política de privacidade relevante a ser exibida no rodapé de qualquer página gerada. Especifique um URL, ou deixe em branco para desabilitar. - -#### "template_data" (Categoria) -Directivas/Variáveis para modelos e temas. - -Os template dados está associada com o HTML usado para gerar a "Carregar Negado" mensagem exibida aos usuários quando arquivos carregamentos são bloqueados. Se você estiver usando temas personalizados para phpMussel, HTML é originado a partir do `template_custom.html` arquivo, e caso contrário, HTML é originado a partir do `template.html` arquivo. Variáveis escritas para esta seção do configuração arquivo são processado ao HTML via substituição de quaisquer nomes de variáveis cercado por colchetes encontrado dentro do HTML com os variáveis dados correspondentes. Por exemplo, onde `foo="bar"`, qualquer instância de `

{foo}

` encontrado dentro do HTML tornará `

bar

`. - -##### "theme" -- Tema padrão a ser usado para phpMussel. - -##### "magnification" -- *v1: "Magnification"* -- Ampliação de fonte. Padrão = 1. - -##### "css_url" -- O template arquivo para temas personalizados utiliza CSS propriedades externos, enquanto que o template arquivo para o padrão tema utiliza CSS propriedades internos. Para instruir phpMussel para usar o template arquivo para temas personalizados, especificar o endereço HTTP pública do seu temas personalizados CSS arquivos usando a `css_url` variável. Se você deixar essa variável em branco, phpMussel usará o template arquivo para o padrão tema. - -#### "PHPMailer" (Categoria) -Configuração do PHPMailer. - -Atualmente, o phpMussel usa o PHPMailer apenas para autenticação de dois fatores front-end. Se você não usa o front-end, ou se você não usa a autenticação de dois fatores para o front-end, você pode ignorar essas diretivas. - -##### "event_log" -- *v1: "EventLog"* -- Um arquivo para registrar todos os eventos em relação ao PHPMailer. Especifique o nome de um arquivo, ou deixe em branco para desabilitar. - -##### "skip_auth_process" -- *v1: "SkipAuthProcess"* -- Definir essa diretiva como `true` instrui o PHPMailer a ignorar o processo de autenticação que normalmente ocorre ao enviar e-mail via SMTP. Isso deve ser evitado, porque ignorar esse processo pode expor o e-mail de saída a ataques MITM, mas pode ser necessário nos casos em que esse processo impedir que o PHPMailer se conecte a um servidor SMTP. - -##### "enable_two_factor" -- *v1: "Enable2FA"* -- Esta diretiva determina se deve usar 2FA para contas front-end. - -##### "host" -- *v1: "Host"* -- O host SMTP a ser usado para e-mail de saída. - -##### "port" -- *v1: "Port"* -- O número da porta a ser usado para o e-mail de saída. Padrão = 587. - -##### "smtp_secure" -- *v1: "SMTPSecure"* -- O protocolo a ser usado ao enviar e-mail via SMTP (TLS ou SSL). - -##### "smtp_auth" -- *v1: "SMTPAuth"* -- Esta diretiva determina se autenticar sessões SMTP (geralmente deve ser deixado em paz). - -##### "username" -- *v1: "Username"* -- O nome de usuário a ser usada ao enviar e-mail via SMTP. - -##### "password" -- *v1: "Password"* -- A senha a ser usada ao enviar e-mail via SMTP. - -##### "set_from_address" -- *v1: "setFromAddress"* -- O endereço do remetente a ser citado ao enviar e-mail via SMTP. - -##### "set_from_name" -- *v1: "setFromName"* -- O nome do remetente a ser citado ao enviar e-mail via SMTP. - -##### "add_reply_to_address" -- *v1: "addReplyToAddress"* -- O endereço de resposta a ser citado ao enviar e-mail via SMTP. - -##### "add_reply_to_name" -- *v1: "addReplyToName"* -- O nome da resposta a ser citado ao enviar e-mail via SMTP. - -#### "supplementary_cache_options" (Categoria) -Opções de cache suplementares. - -##### "prefix" -- O valor especificado aqui será adicionado ao começo das chaves para todas as entradas de cache. Vazio por padrão. Quando existem várias instalações no mesmo servidor, isso pode ser útil para manter seus caches separados uns dos outros. - -##### "enable_apcu" -- Especifica se deve tentar usar o APCu para armazenamento em cache. Padrão = False. - -##### "enable_memcached" -- Especifica se deve tentar usar o Memcached para armazenamento em cache. Padrão = False. - -##### "enable_redis" -- Especifica se deve tentar usar o Redis para armazenamento em cache. Padrão = False. - -##### "enable_pdo" -- Especifica se deve tentar usar o PDO para armazenamento em cache. Padrão = False. - -##### "memcached_host" -- Valor da host do Memcached. Padrão = "localhost". - -##### "memcached_port" -- Valor da porta do Memcached. Padrão = "11211". - -##### "redis_host" -- Valor da host do Redis. Padrão = "localhost". - -##### "redis_port" -- Valor da porta do Redis. Padrão = "6379". - -##### "redis_timeout" -- Valor de tempo limite do Redis. Padrão = "2.5". - -##### "pdo_dsn" -- Valor DSN do PDO. Padrão = "`mysql:dbname=phpmussel;host=localhost;port=3306`". - -*Veja também: [O que é um "PDO DSN"? Como posso usar o PDO com o phpMussel?](#HOW_TO_USE_PDO)* - -##### "pdo_username" -- O nome de usuário do PDO. - -##### "pdo_password" -- A senha do PDO. - ---- - - -### 8. FORMATOS DE ASSINATURAS - -*Veja também:* -- *[O que é uma "assinatura"?](#WHAT_IS_A_SIGNATURE)* - -Os primeiros 9 bytes `[x0-x8]` de um arquivo de assinaturas para phpMussel são `phpMussel`, e atua como um "número mágico" (magic number), para identificá-los como arquivos de assinaturas (isso ajuda a evitar que o phpMussel tente acidentalmente usar arquivos que não sejam arquivos de assinaturas). O próximo byte `[x9]` identifica o tipo de arquivo de assinaturas, que phpMussel deve saber para poder interpretar corretamente o arquivo de assinaturas. Os seguintes tipos de arquivos de assinaturas são reconhecidos: - -Tipo | Byte | Descrição ----|---|--- -`General_Command_Detections` | `0?` | Para arquivos de assinaturas usando CSV (valores separados por vírgula). Valores (assinaturas) são cadeias codificadas em hexadecimal para procurar dentro de arquivos. As assinaturas aqui não têm nenhum nome ou outros detalhes (apenas a cadeia a ser detectada). -`Filename` | `1?` | Para assinaturas do nomes de arquivos. -`Hash` | `2?` | Para assinaturas de hash. -`Standard` | `3?` | Para arquivos de assinaturas que funcionam diretamente com o conteúdos de arquivos. -`Standard_RegEx` | `4?` | Para arquivos de assinaturas que funcionam diretamente com o conteúdos de arquivos. As assinaturas podem conter expressões regulares. -`Normalised` | `5?` | Para arquivos de assinatura que funcionam com o conteúdos de arquivos normalizado para ANSI. -`Normalised_RegEx` | `6?` | Para arquivos de assinatura que funcionam com o conteúdos de arquivos normalizado para ANSI. As assinaturas podem conter expressões regulares. -`HTML` | `7?` | Para arquivos de assinatura que funcionam com o conteúdos de arquivos normalizado para HTML. -`HTML_RegEx` | `8?` | Para arquivos de assinatura que funcionam com o conteúdos de arquivos normalizado para HTML. As assinaturas podem conter expressões regulares. -`PE_Extended` | `9?` | Para arquivos de assinaturas que funcionam com os metadados de archivos PE (mas não com metadados seccionais PE). -`PE_Sectional` | `A?` | Para arquivos de assinaturas que funcionam com metadados seccionais PE. -`Complex_Extended` | `B?` | Para arquivos de assinaturas que funcionam com várias regras com base em metadados expandidos gerados pelo phpMussel. -`URL_Scanner` | `C?` | Para arquivos de assinaturas que funcionam com URLs. - -O próximo byte `[x10]` é uma nova linha `[0A]`, e conclui o cabeçalho do arquivo de assinaturas para phpMussel. - -Cada linha não vazia depois disso é uma assinatura ou regra. Cada assinatura ou regra ocupa uma linha. Os formatos de assinatura suportados são descritos abaixo. - -#### *ASSINATURAS DE ARQUIVO NOME* -Todas as assinaturas de arquivo nome seguir o formato: - -`NOME:FNRX` - -Onde NOME é o nome para citar por essa assinatura e FNRX é o regex para verificar arquivos nomes (não codificados) contra. - -#### *ASSINATURAS HASH* -Todas as assinaturas hash seguir o formato: - -`HASH:TAMANHO:NOME` - -Onde HASH é o hash (geralmente MD5) de um inteiro arquivo, TAMANHO é o total tamanho do arquivo e NOME é o nome para citar por essa assinatura. - -#### *ASSINATURAS PE SECCIONAL* -Todas as assinaturas PE Seccional seguir o formato: - -`TAMANHO:HASH:NOME` - -Onde HASH é o hash MD5 de uma seção do PE arquivo, TAMANHO é o total tamanho da seção e NOME é o nome para citar por essa assinatura. - -#### *ASSINATURAS PE ESTENDIDAS* -Todas as assinaturas PE estendidas seguir o formato: - -`$VAR:HASH:TAMANHO:NOME` - -Onde $VAR é o nome da PE variável para verificar contra, HASH é o MD5 dessa variável, TAMANHO é o tamanho total dessa variável e NOME é o nome para citar por essa assinatura. - -#### *COMPLEXOS ESTENDIDAS ASSINATURAS* -Complexos estendidas assinaturas são bastante diferente para os outros tipos de assinaturas possíveis com phpMussel em que o que eles estão verificando contra é especificado pelas assinaturas e eles podem verificar contra vários critérios. Os critérios de verificação são delimitados por ";" e o verificação tipo e os verificação dados de cada verificação critérios é delimitados por ":" como assim que o formato por estas assinaturas tende a olhar um pouco assim: - -`$variável1:ALGUNSDADOS;$variável2:ALGUNSDADOS;AssinaturaNome` - -#### *TODAS OUTRAS* -Todas as outras assinaturas seguir o formato: - -`NOME:HEX:FROM:TO` - -Onde NOME é o nome para citar por essa assinatura e HEX é um hexadecimal codificado segmento do arquivo intentado a ser correspondido pela dado assinatura. TO e FROM são opcionais parâmetros, indicando de onde e para quais posições nos origem dados para verificar contra. - -#### *REGEX (REGULAR EXPRESSIONS)* -Qualquer forma de regex compreendido e processado corretamente pelo PHP também deve ser correctamente compreendido e processado por phpMussel e suas assinaturas. Mas, eu sugiro tomar extremo cuidado quando escrevendo novas assinaturas baseadas regex, porque, se você não está inteiramente certo do que está fazendo, isto pode tem altamente irregulares e inesperadas resultados. Olha para o código-fonte de phpMussel Se você não está totalmente certo sobre o contexto em que as regex declarações são processada. Além, lembre-se que todos isso (com exceção para arquivo nome, compactado arquivo metadados, MD5 a sintaxe) deve ser codificado hexadecimalmente! - ---- - - -### 9. CONHECIDOS COMPATIBILIDADE PROBLEMAS - -#### PHP e PCRE -- phpMussel requer PHP e PCRE para executar e funcionar corretamente. Sem PHP, ou sem a PCRE extensão do PHP, phpMussel não vai executará ou funcionar corretamente. Deve certificar-se de que seu sistema tenha PHP e PCRE instalado e disponível antes de baixar e instalar phpMussel. - -#### ANTIVÍRUS SOFTWARE COMPATIBILIDADE - -Problemas de compatibilidade entre o phpMussel e alguns fornecedores de antivírus às vezes ocorreram no passado, então, a cada poucos meses ou por aí, eu verifico as últimas versões disponíveis da base de código phpMussel contra o Virus Total, para ver se há algum problema reportado lá. Quando os problemas são reportados lá, eu lista as problemas reportados aqui, na documentação. - -Quando verifiquei mais recentemente (2022.05.12), nenhum problema foi reportado. - -Não verifico os arquivos de assinatura, a documentação ou outro conteúdo periférico. Os arquivos de assinatura sempre causam alguns falsos positivos quando detectados por outras soluções antivírus. Portanto, recomendo vivamente que, se você planeja instalar o phpMussel em uma máquina em que já exista outra solução antivírus, para adicionar os arquivos de assinatura do phpMussel na sua lista branca. - ---- - - -### 10. PERGUNTAS MAIS FREQUENTES (FAQ) - -- [O que é uma "assinatura"?](#WHAT_IS_A_SIGNATURE) -- [O que é um "falso positivo"?](#WHAT_IS_A_FALSE_POSITIVE) -- [Com que frequência as assinaturas são atualizadas?](#SIGNATURE_UPDATE_FREQUENCY) -- [Eu encontrei um problema ao usar phpMussel e eu não sei o que fazer sobre isso! Ajude-me!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [Eu quero usar phpMussel (antes de v2) com uma versão PHP mais velha do que 5.4.0; Você pode ajudar?](#MINIMUM_PHP_VERSION) -- [Eu quero usar phpMussel (v2) com uma versão PHP mais velha do que 7.2.0; Você pode ajudar?](#MINIMUM_PHP_VERSION_V2) -- [Posso usar uma única instalação do phpMussel para proteger vários domínios?](#PROTECT_MULTIPLE_DOMAINS) -- [Eu não quero mexer com a instalação deste e fazê-lo funcionar com o meu site; Posso pagar-te para fazer tudo por mim?](#PAY_YOU_TO_DO_IT) -- [Posso contratar você ou qualquer um dos desenvolvedores deste projeto para o trabalho privado?](#HIRE_FOR_PRIVATE_WORK) -- [Preciso de modificações especializadas, customizações, etc; Você pode ajudar?](#SPECIALIST_MODIFICATIONS) -- [Eu sou um desenvolvedor, designer de site, ou programador. Posso aceitar ou oferecer trabalho relacionado a este projeto?](#ACCEPT_OR_OFFER_WORK) -- [Quero contribuir para o projeto; Posso fazer isso?](#WANT_TO_CONTRIBUTE) -- [Como acessar detalhes específicos sobre os arquivos quando eles são analisados?](#SCAN_DEBUGGING) -- [Posso usar o cron para atualizar automaticamente?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [O phpMussel pode analisar arquivos com nomes não-ANSI?](#SCAN_NON_ANSI) -- [Blacklists (listas negras) – Whitelists (listas brancas) – Greylists (listas cinzentas) – Quais são eles e como eu os uso?](#BLACK_WHITE_GREY) -- [Quando eu ativar ou desativar os arquivos de assinatura através da página de atualizações, eles os classificam alfanumericamente na configuração. Posso mudar a maneira como eles são classificados?](#CHANGE_COMPONENT_SORT_ORDER) -- [O que é um "PDO DSN"? Como posso usar o PDO com o phpMussel?](#HOW_TO_USE_PDO) -- [Meu recurso de upload é assíncrono (p.e., usa ajax, ajaj, json, etc). Não vejo nenhuma mensagem ou aviso especial quando um upload é bloqueado. O que está acontecendo?](#AJAX_AJAJ_JSON) -- [O phpMussel pode detectar o EICAR?](#DETECT_EICAR) - -#### O que é uma "assinatura"? - -No contexto do phpMussel, uma "assinatura" refere-se a dados que actuam como um indicador/identificador para algo específico que estamos procurando, geralmente sob a forma de um segmento muito pequeno, distinto e inócuo de algo maior e em caso contrário prejudiciais, como um vírus ou um trojan, ou na forma de um checksum de arquivo, hash, ou outro indicador de identificação semelhante, e geralmente inclui uma etiqueta, e alguns outros dados para ajudar a fornecer contexto adicional que pode ser usado por phpMussel para determinar a melhor maneira de proceder quando ele encontra o que estamos procurando. - -#### O que é um "falso positivo"? - -O termo "falso positivo" (*alternativamente: "erro de falso positivo"; "alarme falso"*; Inglês: *false positive*; *false positive error*; *false alarm*), descrita de maneira muito simples, e num contexto generalizado, são usadas quando testando para uma condição, para se referir aos resultados desse teste, quando os resultados são positivos (isto é, a condição é determinada para ser "positivo", ou "verdadeiro"), mas espera-se que seja (ou deveria ter sido) negativo (isto é, a condição, na realidade, é "negativo", ou "falso"). Um "falso positivo" pode ser considerado análogo ao "chorando lobo" (em que a condição que está sendo testada é se existe um lobo perto do rebanho, a condição é "falso" em que não há nenhum lobo perto do rebanho, ea condição é relatada como "positivo" pelo pastor por meio de gritando "lobo, lobo"), ou análoga a situações em exames médicos em que um paciente é diagnosticado como tendo alguma doença quando, na realidade, eles não têm essa doença. - -Os resultados relacionados a quando testando para uma condição pode ser descrito usando os termos "verdadeiro positivo", "verdadeiro negativo" e "falso negativo". Um "verdadeiro positivo" refere-se a quando os resultados do teste ea real situação da condição são ambos verdadeiros (ou "positivos"), e um "verdadeiro negativo" refere-se a quando os resultados do teste ea real situação da condição são ambos falsos (ou "negativos"); Um "verdadeiro positivo" ou um "verdadeiro negativo" é considerado como sendo uma "inferência correcta". A antítese de um "falso positivo" é um "falso negativo"; Um "falso negativo" refere-se a quando os resultados do teste are negativo (isto é, a condição é determinada para ser "negativo", ou "falso"), mas espera-se que seja (ou deveria ter sido) positivo (isto é, a condição, na realidade, é "positivo", ou "verdadeiro"). - -No contexto da phpMussel, estes termos referem-se as assinaturas de phpMussel e os arquivos que eles bloqueiam. Quando phpMussel bloquear um arquivo devido ao mau, desatualizados ou incorretos assinatura, mas não deveria ter feito isso, ou quando ele faz isso pelas razões erradas, nos referimos a este evento como um "falso positivo". Quando phpMussel não consegue bloquear um arquivo que deveria ter sido bloqueado, devido a ameaças imprevistas, assinaturas em falta ou déficits em suas assinaturas, nos referimos a este evento como um "detecção em falta" ou "missing detection" (que é análogo a um "falso negativo"). - -Isto pode ser resumido pela seguinte tabela: - -  | phpMussel *NÃO* deve bloquear um arquivo | phpMussel *DEVE* bloquear um arquivo ----|---|--- -phpMussel *NÃO* bloquear um arquivo | Verdadeiro negativo (inferência correcta) | Detecção em falta (análogo a um falso negativo) -phpMussel *FAZ* bloquear um arquivo | __Falso positivo__ | Verdadeiro positivo (inferência correcta) - -#### Com que frequência as assinaturas são atualizadas? - -A frequência das atualizações varia de acordo com os arquivos de assinatura em questão. Todos os mantenedores dos arquivos de assinatura de phpMussel geralmente tentam manter suas assinaturas atualizadas como é possível, mas devido a que todos nós temos vários outros compromissos, nossas vidas fora do projeto, e devido a que nenhum de nós é financeiramente compensado (ou pago) para nossos esforços no projeto, um cronograma de atualização preciso não pode ser garantido. Geralmente, as assinaturas são atualizadas sempre que há tempo suficiente para atualizá-las. Assistência é sempre apreciada se você estiver disposto a oferecer qualquer. - -#### Eu encontrei um problema ao usar phpMussel e eu não sei o que fazer sobre isso! Ajude-me! - -- Você está usando a versão mais recente do software? Você está usando as versões mais recentes de seus arquivos de assinatura? Se a resposta a qualquer destas duas perguntas é não, tente atualizar tudo primeiro, e verifique se o problema persiste. Se persistir, continue lendo. -- Você já examinou toda a documentação? Se não, por favor, faça isso. Se o problema não puder ser resolvido usando a documentação, continue lendo. -- Você já examinou a **[página de issues](https://github.com/phpMussel/phpMussel/issues)**, para ver se o problema foi mencionado antes? Se já foi mencionado antes, verificar se foram fornecidas sugestões, ideias e/ou soluções, e siga conforme necessário para tentar resolver o problema. -- Se o problema ainda persistir, por favor procure ajuda sobre isso através de criando um novo issue na página de issues. - -#### Eu quero usar phpMussel (antes de v2) com uma versão PHP mais velha do que 5.4.0; Você pode ajudar? - -Não. PHP >= 5.4.0 é um requisito mínimo para phpMussel < v2. - -#### Eu quero usar phpMussel (v2) com uma versão PHP mais velha do que 7.2.0; Você pode ajudar? - -Não. PHP >= 7.2.0 é um requisito mínimo para phpMussel v2. - -*Veja também: [Gráficos de Compatibilidade](https://maikuolan.github.io/Compatibility-Charts/).* - -#### Posso usar uma única instalação do phpMussel para proteger vários domínios? - -Sim. As instalações do phpMussel não estão naturalmente atado com domínios específicos, e pode, portanto, ser usado para proteger vários domínios. Geralmente, referimo-nos a instalações do phpMussel que protegem apenas um domínio como "instalações de singular-domínio", e referimo-nos a instalações do phpMussel que protegem vários domínios e/ou subdomínios como "instalações multi-domínio". Se você operar uma instalação multi-domínio e precisa usar conjuntos diferentes de arquivos de assinaturas para domínios diferentes, ou precisam phpMussel para ser configurado de forma diferente para domínios diferentes, é possível fazer isso. Depois de carregar o arquivo de configuração (`config.ini`), o phpMussel verificará a existência de um "arquivo de sobreposição para a configuração" específico para o domínio (ou subdomínio) que está sendo solicitado (`o-domínio-que-está-sendo-solicitado.tld.config.ini`), e se encontrado, quaisquer valores de configuração definidos pelo arquivo de sobreposição para a configuração serão usados para a instância de execução em vez dos valores de configuração definidos pelo arquivo de configuração. Os arquivos de sobreposição para a configuração são idênticos ao arquivo de configuração, e a seu critério, pode conter a totalidade de todas as diretivas de configuração disponíveis para o phpMussel, ou qualquer subseção menor necessária que difere dos valores normalmente definidos pelo arquivo de configuração. Os arquivos de sobreposição para a configuração são nomeados de acordo com o domínio que eles são destinados para (por exemplo, se você precisar de um arquivo de sobreposição para a configuração para o domínio, `https://www.some-domain.tld/`, o seu arquivo de sobreposição para a configuração deve ser nomeado como `some-domain.tld.config.ini`, e deve ser colocado dentro da vault ao lado do arquivo de configuração, `config.ini`). O nome de domínio para a instância de execução é derivado do cabeçalho `HTTP_HOST` da solicitação; "www" é ignorado. - -#### Eu não quero mexer com a instalação deste e fazê-lo funcionar com o meu site; Posso pagar-te para fazer tudo por mim? - -Talvez. Isso é considerado caso a caso. Deixe-nos saber do que você precisa, o que você está oferecendo, e nós vamos deixar você saber se podemos ajudar. - -#### Posso contratar você ou qualquer um dos desenvolvedores deste projeto para o trabalho privado? - -*Veja acima.* - -#### Preciso de modificações especializadas, customizações, etc; Você pode ajudar? - -*Veja acima.* - -#### Eu sou um desenvolvedor, designer de site, ou programador. Posso aceitar ou oferecer trabalho relacionado a este projeto? - -Sim. Nossa licença não proíbe isso. - -#### Quero contribuir para o projeto; Posso fazer isso? - -Sim. As contribuições para o projeto são muito bem-vindas. Consulte "CONTRIBUTING.md" para obter mais informações. - -#### Como acessar detalhes específicos sobre os arquivos quando eles são analisados? - -Você pode acessar detalhes específicos sobre arquivos quando eles são analisados, atribuindo uma matriz para usar para esse propósito antes de instruir o phpMussel para analisá-los. - -No exemplo abaixo, `$Foo` é atribuído para este propósito. Depois de analisar `/caminho/de/arquivo/...`, informações detalhadas sobre os arquivos contidos em `/caminho/de/arquivo/...` serão contidas por `$Foo`. - -```PHP -Posso usar o cron para atualizar automaticamente? - -Sim. Uma API é integrada no front-end para interagir com a página de atualizações por meio de scripts externos. Um script separado, "[Cronable](https://github.com/Maikuolan/Cronable)", está disponível, e pode ser usado pelo seu cron manager ou cron scheduler para atualizar este e outros pacotes suportados automaticamente (este script fornece sua própria documentação). - -#### O phpMussel pode analisar arquivos com nomes não-ANSI? - -Digamos que haja um diretório que você queira analisar. Neste diretório, você tem alguns arquivos com nomes não-ANSI. -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -Vamos supor que você esteja usando o modo CLI ou a API do phpMussel para fazer a análise. - -Ao usar o PHP < 7.1.0, em alguns sistemas, o phpMussel não verá esses arquivos ao tentar analisar o diretório e, portanto, não conseguirá analisar esses arquivos. Você provavelmente verá os mesmos resultados como se fosse analisar um diretório vazio: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Começado. - Sun, 01 Apr 2018 22:27:41 +0800 Terminado. -``` - -Além disso, ao usar o PHP < 7.1.0, analisando os arquivos individualmente produz resultados como estes: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Começado. - > Verificando 'X:/directory/Пример.txt' (FN: b831eb8f): - -> Arquivo inválido! - Sun, 01 Apr 2018 22:27:41 +0800 Terminado. -``` - -Ou estes: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Começado. - > X:/directory/??????.txt não é um arquivo ou diretório. - Sun, 01 Apr 2018 22:27:41 +0800 Terminado. -``` - -Isto é devido à maneira como o PHP lidou com nomes de arquivos não-ANSI antes do PHP 7.1.0. Se você tiver esse problema, a solução é atualizar sua instalação do PHP para 7.1.0 ou mais recente. No PHP >= 7.1.0, nomes de arquivos não-ANSI são tratados melhor, e o phpMussel deve ser capaz de analisar os arquivos corretamente. - -Para comparação, os resultados ao tentar analisar o diretório usando PHP >= 7.1.0: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Começado. - -> Verificando '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> Não problemas encontrados. - -> Verificando '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> Não problemas encontrados. - -> Verificando '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> Não problemas encontrados. - Sun, 01 Apr 2018 22:27:41 +0800 Terminado. -``` - -E tentando analisar os arquivos individualmente: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Começado. - > Verificando 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> Não problemas encontrados. - Sun, 01 Apr 2018 22:27:41 +0800 Terminado. -``` - -#### Blacklists (listas negras) – Whitelists (listas brancas) – Greylists (listas cinzentas) – Quais são eles e como eu os uso? - -Os termos têm diferentes significados em diferentes contextos. No phpMussel, existem três contextos em que esses termos são usados: Resposta do tamanho do arquivo, resposta do tipo de arquivo, e a lista cinza das assinaturas. - -A fim de alcançar um resultado desejado a um custo mínimo para o processamento, existem algumas coisas simples que o phpMussel pode verificar antes de realmente verificar os arquivos, como tamanho, nome e extensão de um arquivo. Por exemplo; Se um arquivo é muito grande, ou se sua extensão indicar um tipo de arquivo que não queremos permitir em nossos sites de qualquer maneira, podemos marcar o arquivo imediatamente e não há necessidade de analisá-lo. - -A resposta do tamanho do arquivo é a maneira como o phpMussel responde quando um arquivo excede um limite especificado. Embora nenhuma lista real esteja envolvida, um arquivo pode ser considerado na lista negra, na lista branca, ou na lista cinza, com base em seu tamanho. Existem duas diretivas de configuração opcionais separadas para especificar um limite e uma resposta desejada, respectivamente. - -A resposta do tipo de arquivo é a maneira como o phpMussel responde à extensão do arquivo. Existem três diretivas de configuração opcionais separadas para especificar explicitamente quais extensões devem ser colocadas na lista negra, na lista de branca, ou na lista cinza. Um arquivo pode ser considerado na lista negra, na lista de branca, ou na lista cinza, se sua extensão corresponder a qualquer uma das extensões especificadas, respectivamente. - -Nestes dois contextos, a lista branca significa que não deve ser analisada ou marcada; estar na lista negra significa que deve ser marcada (e que, portanto, não precisamos analisá-lo); e estar na lista cinza significa uma análise mais aprofundada é necessária para determinar se devemos marcá-lo (isto é, deve ser analisado). - -A lista cinza da assinaturas é uma lista de assinaturas que devem ser essencialmente ignoradas (isso é brevemente mencionado anteriormente na documentação). Quando uma assinatura na lista cinza é desencadeadas, o phpMussel continua a trabalhar através de suas assinaturas e não toma nenhuma ação específica em relação à assinatura na lista cinza. Não há lista negra da assinaturas, porque o comportamento implícito é o comportamento normal para assinaturas desencadeadas de qualquer maneira, e não há lista branca da assinaturas, porque o comportamento implícito não faria realmente sentido em relação ao funcionamento normal do phpMussel e aos recursos que ele já possui. - -A lista de cinza da assinaturas é útil se você precisar resolver problemas causados por uma assinatura específica sem desabilitar ou desinstalar todo os arquivo do assinaturas. - -#### Quando eu ativar ou desativar os arquivos de assinatura através da página de atualizações, eles os classificam alfanumericamente na configuração. Posso mudar a maneira como eles são classificados? - -Sim. Se você precisar forçar alguns arquivos a serem executados numa ordem específica, você pode adicionar alguns dados arbitrários antes de seus nomes na diretiva de configuração, onde eles estão listados, separados por dois pontos. Quando a página de atualizações subseqüentemente classifica os arquivos novamente, esses dados arbitrários adicionados afetarão a ordem de classificação, fazendo com que eles sejam executados na ordem que você deseja, sem precisar renomear nenhum deles. - -Por exemplo, assumindo uma diretiva de configuração com arquivos listados da seguinte maneira: - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -Se você queria `file3.php` para executar primeiro, você poderia adicionar algo como `aaa:` antes do nome do arquivo: - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -Então, se um novo arquivo, `file6.php`, estiver ativado, quando a página de atualizações classifica os novamente, ele deve terminar assim: - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -Mesma situação quando um arquivo é desativado. Por outro lado, se você quiser que o arquivo seja executado por último, você poderia adicionar algo como `zzz:` antes do nome do arquivo. Em qualquer caso, você não precisará renomear o arquivo em questão. - -#### O que é um "PDO DSN"? Como posso usar o PDO com o phpMussel? - -"PDO" é um acrônimo para "[PHP data objects](https://www.php.net/manual/pt_BR/intro.pdo.php)" (objetos de dados PHP). Ele fornece uma interface para o PHP poder se conectar a alguns sistemas de banco de dados comumente utilizados por vários aplicativos PHP. - -"DSN" é um acrônimo para "[data source name](https://pt.wikipedia.org/wiki/Data_source_name)" (nome da fonte de dados). O "PDO DSN" descreve ao PDO como ele deve se conectar a um banco de dados. - -O phpMussel oferece a opção de utilizar o PDO para fins de armazenamento em cache. Para que isso funcione corretamente, você precisará configurar o phpMussel adequadamente, habilitando a PDO, criar um novo banco de dados para o phpMussel usar (se você ainda não tem em mente um banco de dados para o phpMussel usar), e criar um novo tabela em seu banco de dados de acordo com a estrutura descrita abaixo. - -Quando uma conexão com o banco de dados for bem-sucedida, mas a tabela necessária não existir, ela tentará criá-la automaticamente. Mas, esse comportamento não foi extensivamente testado e o sucesso não pode ser garantido. - -Obviamente, isso só se aplica se você realmente quiser que o phpMussel use o PDO. Se você estiver suficientemente satisfeito pelo phpMussel de usar o cache de arquivos simples (por sua configuração padrão) ou qualquer uma das várias outras opções de cache fornecidas, não será necessário se preocupar em configurar bancos de dados, tabelas e assim por diante. - -A estrutura descrita abaixo usa "phpmussel" como o nome do banco de dados, mas você pode usar o nome que desejar para o banco de dados, contanto que o mesmo nome seja replicado na configuração do DSN. - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -A diretiva de configuração `pdo_dsn` do phpMussel deve ser configurada conforme descrito abaixo. - -``` -Dependendo do driver de banco de dados usado... -├─4d (Aviso: Experimental, não testado, não recomendado!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └O host para conectar-se para encontrar o banco de dados. -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └O nome do banco de dados a ser -│ │ │ usado. -│ │ │ -│ │ └O número da porta com a qual se conectar ao -│ │ host. -│ │ -│ └O host para conectar-se para encontrar o banco de dados. -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └O nome do banco de dados a ser usado. -│ │ │ -│ │ └O host para conectar-se para encontrar o banco de dados. -│ │ -│ └Valores possíveis: "mssql", "sybase", "dblib". -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├Pode ser um caminho para um arquivo de banco de dados -│ │local. -│ │ -│ ├Pode se conectar com um host e um número de porta. -│ │ -│ └Você deve consultar a documentação do Firebird se quiser -│ usá-lo. -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └O banco de dados catalogado para se conectar. -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └O banco de dados catalogado para se conectar. -├─mysql (Mais recomendado!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └O número da porta com a qual se -│ │ │ conectar ao host. -│ │ │ -│ │ └O host para conectar-se para encontrar o banco -│ │ de dados. -│ │ -│ └O nome do banco de dados a ser usado. -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├Pode se referir ao banco de dados catalogado específico. -│ │ -│ ├Pode se conectar com um host e um número de porta. -│ │ -│ └Você deve consultar a documentação do Oracle se quiser usá-lo. -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├Pode se referir ao banco de dados catalogado específico. -│ │ -│ ├Pode se conectar com um host e um número de porta. -│ │ -│ └Você deve consultar a documentação do ODBC/DB2 se quiser usá-lo. -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └O nome do banco de dados a ser -│ │ │ usado. -│ │ │ -│ │ └O número da porta com a qual se conectar ao -│ │ host. -│ │ -│ └O host para conectar-se para encontrar o banco de dados. -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └O caminho para o arquivo de banco de dados local a ser usado. -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └O nome do banco de dados a ser usado. - │ │ - │ └O número da porta com a qual se conectar ao host. - │ - └O host para conectar-se para encontrar o banco de dados. -``` - -Se você não tiver certeza sobre o que usar para uma parte específica do seu DSN, tente primeiro verificar se funciona como está, sem alterar nada. - -Note que `pdo_username` e `pdo_password` devem ser iguais ao nome de usuário e senha que você escolheu para o seu banco de dados. - -#### Meu recurso de upload é assíncrono (p.e., usa ajax, ajaj, json, etc). Não vejo nenhuma mensagem ou aviso especial quando um upload é bloqueado. O que está acontecendo? - -Isto é normal. A página "Carregar Negado" padrão do phpMussel é servida como HTML, o que deve ser suficiente para solicitações síncronas típicas, mas isso provavelmente não será suficiente se o seu recurso de upload estiver esperando outra coisa. Se o seu recurso de upload for assíncrono ou esperar que um status de upload seja exibido de forma assíncrona, existem algumas coisas que você pode tentar fazer para que o phpMussel atenda às necessidades do seu recurso de upload. - -1. Criando um modelo de saída personalizado para servir algo diferente de HTML. -2. Criando um plug-in personalizado para ignorar completamente a página "Carregar Negado" padrão e faça com que o manipulador de upload faça outra coisa quando um upload estiver bloqueado (existem alguns ganchos de plug-in fornecidos pelo manipulador do upload que podem ser úteis para isso). -3. Desabilitando completamente o manipulador de uploads e apenas chamando a API phpMussel de dentro do seu recurso de upload. - -#### O phpMussel pode detectar o EICAR? - -Sim. Uma assinatura para detectar EICAR está incluída no "arquivo de assinaturas de expressões regulares padrão do phpMussel" (`phpmussel_regex.db`). Enquanto esse arquivo de assinaturas estiver instalado e ativado, o phpMussel deve ser capaz de detectar o EICAR. Visto que o banco de dados do ClamAV também inclui várias assinaturas especificamente para detectar EICAR, o ClamAV pode detectar facilmente EICAR, mas como o phpMussel utiliza apenas um subconjunto reduzido das assinaturas totais fornecidas pelo ClamAV, elas podem não ser suficientes para o phpMussel detectar o EICAR. A capacidade de detectá-lo também pode depender de sua configuração exata. - ---- - - -### 11. INFORMAÇÃO LEGAL - -#### 11.0 PREÂMBULO DE SEÇÃO - -Esta seção da documentação destina-se a descrever possíveis considerações legais em relação ao uso e implementação do pacote, e fornecer algumas informações básicas relacionadas. Isso pode ser importante para alguns usuários como um meio de garantir a conformidade com quaisquer requisitos legais que possam existir nos países nos quais eles operam, e alguns usuários podem precisar ajustar as políticas do site de acordo com essas informações. - -Em primeiro lugar por favor, perceba que eu (o autor do pacote) não sou advogado, nem profissional legal qualificado de qualquer tipo. Portanto, não estou legalmente qualificado para fornecer aconselhamento jurídico. Além disso, em alguns casos, exigências legais exatas podem variar entre diferentes países e jurisdições, e estes requisitos legais variados podem, às vezes, conflitar (como, por exemplo, no caso de países que defendem os [direitos de privacidade](https://pt.wikipedia.org/wiki/Direito_%C3%A0_privacidade) e o [direito de ser esquecido](https://pt.wikipedia.org/wiki/Direito_ao_esquecimento), versus países que favorecem a retenção prolongada de dados). Considere também que o acesso ao pacote não está restrito a países ou jurisdições específicos e, portanto, o pacote userbase é provável que seja geograficamente diverso. Estes pontos considerados, eu não estou em posição de afirmar o que significa ser "legalmente compatível" para todos os usuários, em todos os aspectos. No entanto, espero que as informações aqui contidas o ajudem a chegar a uma decisão sobre o que você deve fazer para permanecer legalmente conforme no contexto do pacote. Se tiver alguma dúvida ou preocupação em relação às informações aqui contidas, ou se você precisar de ajuda e conselhos adicionais de uma perspectiva legal, eu recomendaria consultar um profissional legal qualificado. - -#### 11.1 RESPONSABILIDADE - -Conforme já declarado pela licença do pacote, o pacote é fornecido sem qualquer garantia. Isso inclui (mas não está limitado a) todo o escopo de responsabilidade. O pacote é fornecido a você para sua conveniência, na esperança de que seja útil e que traga algum benefício para você. Entretanto, se você usa ou implementa o pacote, é sua própria escolha. Você não é forçado a usar ou implementar o pacote, mas, quando o faz, você é responsável por essa decisão. Nem eu, nem qualquer outro colaborador do pacote, somos legalmente responsáveis pelas consequências das decisões que você toma, independentemente de ser direto, indireto, implícito, ou de outra forma. - -#### 11.2 TERCEIROS - -Dependendo de sua configuração e implementação exatas, o pacote pode se comunicar e compartilhar informações com terceiros em alguns casos. Essas informações podem ser definidas como "[informação pessoalmente identificável](https://pt.wikipedia.org/wiki/Informa%C3%A7%C3%A3o_pessoalmente_identific%C3%A1vel)" (PII) em alguns contextos, por algumas jurisdições. - -Como esta informação pode ser usada por estes terceiros, está sujeita às várias políticas estabelecidas por esses terceiros, e está fora do escopo desta documentação. Contudo, em todos esses casos, o compartilhamento de informações com esses terceiros pode ser desativado. Em todos esses casos, se você optar por ativá-lo, é sua responsabilidade pesquisar quaisquer preocupações que você possa ter com relação à privacidade, segurança, e uso de PII por esses terceiros. Se houver alguma dúvida, ou se você estiver insatisfeito com a conduta desses terceiros em relação a PII, talvez seja melhor desativar todo o compartilhamento de informações com esses terceiros. - -Para fins de transparência, o tipo de informação compartilhada e com quem está descrito abaixo. - -##### 11.2.0 WEBFONTS - -Alguns temas personalizados, bem como a interface de usuário ("UI") padrão para o front-end do phpMussel e a página "Carregar Negado", podem usar webfonts por motivos estéticos. Os webfonts são desabilitados por padrão, mas, quando habilitados, ocorre comunicação direta entre o navegador do usuário e o serviço que hospeda o webfonts. Isso pode envolver informações de comunicação, tal como o endereço IP do usuário, o agente do usuário, o sistema operacional, e outros detalhes disponíveis para a solicitação. A maioria desses webfonts é hospedada pelo serviço [Google Fonts](https://fonts.google.com/). - -*Diretivas de configuração relevantes:* -- `general` -> `disable_webfonts` - -##### 11.2.1 URL ANALISADOR - -Os URLs encontrados nos uploads de arquivos podem ser compartilhados com a API de navegação segura do Google, dependendo de como o pacote está configurado. A API de navegação segura do Google requer as chaves de API para funcionar corretamente e, portanto, é desativada por padrão. - -*Diretivas de configuração relevantes:* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -Quando o phpMussel analisa um upload de arquivo, os hashes desses arquivos podem ser compartilhados com a API do Virus Total, dependendo de como o pacote está configurado. Há planos para compartilhar arquivos inteiros em algum momento no futuro, mas essa funcionalidade não é suportada pelo pacote no momento. A API do Virus Total requer uma chave de API para funcionar corretamente e, portanto, está desativada por padrão. - -As informações (incluindo arquivos e metadados de arquivos relacionados) compartilhadas com o Virus Total também podem ser compartilhadas com seus parceiros, afiliados, e vários outros para fins de pesquisa. Isso é descrito em mais detalhes por sua política de privacidade. - -*Vejo: [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*Diretivas de configuração relevantes:* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 REGISTRO - -O registro é uma parte importante do phpMussel por vários motivos. Sem o registro, pode ser difícil diagnosticar falsos positivos, determinar exatamente o quão bem o phpMussel funciona em qualquer contexto específico, e determinar onde suas deficiências podem ser, e quais mudanças podem ser necessárias para sua configuração ou assinaturas de acordo, para que ele continue funcionando como pretendido. Não obstante, o registro pode não ser desejável para todos os usuários e permanece totalmente opcional. No phpMussel, o registro está desabilitado por padrão. Para ativá-lo, o phpMussel deve ser configurado de acordo. - -Adicionalmente, se o registro é legalmente permissível, e na medida em que é legalmente permissível (por exemplo, os tipos de informações que podem ser registradas, por quanto tempo, e sob quais circunstâncias), pode variar, dependendo da jurisdição e do contexto onde a phpMussel é implementada (por exemplo, se você está operando como indivíduo, como entidade corporativa, e se está numa base comercial ou não comercial). Portanto, pode ser útil que você leia atentamente essa seção. - -Existem vários tipos de registro que o phpMussel pode executar. Diferentes tipos de registro envolvem diferentes tipos de informações, por diferentes razões. - -##### 11.3.0 LOGS DE ANÁLISE - -Quando habilitado na configuração do pacote, o phpMussel mantém logs dos arquivos que analisa. Este tipo do registro está disponível em dois formatos diferentes: -- Arquivos de log legíveis para humanos. -- Arquivos de log serializados. - -As entradas para um arquivo de log legível para humanos geralmente se parece com isso (como um exemplo): - -``` -Mon, 21 May 2018 00:47:58 +0800 Começado. -> Verificando 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> Detectado phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 Terminado. -``` - -Uma entrada do log de análise geralmente inclui as seguintes informações: -- A data e hora em que o arquivo foi analisado. -- O nome do arquivo analisado. -- CRC32b hashes do nome e conteúdo do arquivo. -- O que foi detectado no arquivo (se algo foi detectado). - -*Diretivas de configuração relevantes:* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -Quando essas diretivas são deixadas vazias, esse tipo de log permanecerá desabilitado. - -##### 11.3.1 MATA DO ANÁLISE - -Quando habilitado na configuração do pacote, o phpMussel mantém logs dos uploads que foram bloqueados. - -As entradas para um arquivo de log de "mata do análise" normalmente se parece com isso (como um exemplo): - -``` -Data: Mon, 21 May 2018 00:47:56 +0800 -Endereço IP: 127.0.0.1 -== Resultados da verificação (por que indicado) == -Detectado phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)! -== Reconstrução de assinaturas hash == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -Em quarentena como "/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu". -``` - -Uma entrada de "mata do análise" normalmente inclui as seguintes informações: -- A data e a hora em que o upload foi bloqueado. -- O endereço IP de onde o upload foi originado. -- A razão pela qual o arquivo foi bloqueado (o que foi detectado). -- O nome do arquivo bloqueado. -- Um MD5 e o tamanho do arquivo bloqueado. -- Se o arquivo foi colocado em quarentena, e sob qual nome interno. - -*Diretivas de configuração relevantes:* -- `general` -> `scan_kills` - -##### 11.3.2 REGISTRO DO FRONT-END - -Esse tipo de registro está associado a tentativas de login no front-end, e ocorre apenas quando um usuário tenta efetuar login no front-end (supondo que o acesso ao front-end esteja ativado). - -Uma entrada de registro do front-end contém o endereço IP do usuário que está tentando efetuar login, a data e a hora em que a tentativa ocorreu, e os resultados da tentativa (se teve sucesso ou não). Uma entrada de registro do front-end geralmente se parece com isso (como um exemplo): - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - Conectado. -``` - -*Diretivas de configuração relevantes:* -- `general` -> `frontend_log` - -##### 11.3.3 ROTAÇÃO DE REGISTRO - -Você pode querer purgar os registros após um período de tempo, ou pode ser obrigado a fazê-lo por lei (ou seja, a quantidade de tempo permitida legalmente para você manter registros pode ser limitada por lei). Você pode conseguir isso incluindo marcadores de data/hora nos nomes de seus arquivos de log conforme especificado pela sua configuração de pacote (por exemplo, `{yyyy}-{mm}-{dd}.log`) e, em seguida, ativando a rotação de registro (a rotação de registro permite que você execute alguma ação nos arquivos de log quando os limites especificados são excedidos). - -Por exemplo: Se eu fosse legalmente obrigado a deletar registros após 30 dias, eu poderia especificar `{dd}.log` nos nomes dos meus arquivos de log (`{dd}` representa dias), definir o valor de `log_rotation_limit` para 30 e, em seguida, definir o valor de `log_rotation_action` para `Delete`. - -Por outro lado, se você precisar reter o registros por um longo período de tempo, você poderia optar por não usar a rotação de registro em tudo, ou você pode definir o valor de `log_rotation_action` para `Archive`, para compactar arquivos de log, reduzindo assim a quantidade total de espaço em disco que eles ocupam. - -*Diretivas de configuração relevantes:* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 TRUNCAMENTO DE REGISTRO - -Também é possível truncar arquivos de log individuais quando eles excedem um certo tamanho, se isso for algo que você possa precisar ou desejar fazer. - -*Diretivas de configuração relevantes:* -- `general` -> `truncate` - -##### 11.3.5 PSEUDONIMIZAÇÃO DE ENDEREÇOS IP - -Em primeiro lugar, se você não estiver familiarizado com o termo, "pseudonimização" refere-se ao processamento de dados pessoais como tal que não pode ser identificado a nenhuma pessoa específica sem informações suplementares, e desde que tais informações suplementares sejam mantidas separadamente e sujeitas a medidas técnicas e organizacionais para assegurar que os dados pessoais não possam ser identificados a nenhuma pessoa natural. - -Em algumas circunstâncias, você pode ser legalmente obrigado a anonimizar ou pseudonimizar qualquer PII coletada, processada ou armazenada. Embora este conceito já existe há algum tempo, o GDPR/DSGVO menciona notavelmente, e especificamente incentiva a "pseudonimização". - -O phpMussel é capaz de pseudonimizar endereços IP ao registrá-los, se isso for algo que você possa precisar ou desejar fazer. Quando o phpMussel pseudonimiza os endereços IP, quando registrado, o octeto final dos endereços IPv4, e tudo após a segunda parte dos endereços IPv6 é representado por um "x" (efetivamente arredondando endereços IPv4 para o endereço inicial da 24ª sub-rede em que eles são fatorados em, e endereços IPv6 para o endereço inicial da 32ª sub-rede em que eles são fatorados em). - -*Diretivas de configuração relevantes:* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 ESTATISTICAS - -O phpMussel é opcionalmente capaz de rastrear estatísticas como o número total de arquivos analisados e bloqueados desde algum ponto específico no tempo. Esta funcionalidade está desativada por padrão, mas pode ser ativada através da configuração do pacote. O tipo de informação rastreada não deve ser considerado como PII. - -*Diretivas de configuração relevantes:* -- `general` -> `statistics` - -##### 11.3.7 ENCRIPTAÇÃO - -phpMussel não criptografa seu cache ou qualquer informação de registro. A [encriptação](https://pt.wikipedia.org/wiki/Encripta%C3%A7%C3%A3o) de cache e registro pode ser introduzida no futuro, mas não há planos específicos para ela atualmente. Se você estiver preocupado com o acesso de terceiros não autorizados a partes do phpMussel que possam conter PII ou informações confidenciais, como cache ou logs, recomendo que o phpMussel não seja instalado em um local de acesso público (por exemplo, instale o phpMussel fora do diretório `public_html` padrão ou seu equivalente disponível para a maioria dos servidores web padrão) e que as permissões apropriadamente restritivas sejam impostas para o diretório em que ele reside (em particular, para o diretório do vault). Se isso não for suficiente para resolver suas preocupações, configure o phpMussel para que os tipos de informações que causam suas preocupações não sejam coletados ou registrados em primeiro lugar (tal como desabilitar o registro em log). - -#### 11.4 COOKIES - -Quando um usuário efetua login com êxito no front-end, o phpMussel define um [cookie](https://pt.wikipedia.org/wiki/Cookie_(inform%C3%A1tica)) para poder lembrar o usuário das solicitações subsequentes (isto é, os cookies são usados para autenticar o usuário numa sessão de login). Na página de login, um aviso de cookie é exibido de forma proeminente, avisando o usuário que um cookie será definido se ele se envolver na ação relevante. Os cookies não são definidos em nenhum outro ponto da base de código. - -*Diretivas de configuração relevantes:* -- `general` -> `disable_frontend` - -#### 11.5 MARKETING E PUBLICIDADE - -A phpMussel não coleta ou processa qualquer informação para fins de marketing ou publicidade, e nem vende nem lucra com qualquer informação coletada ou registrada. A phpMussel não é uma empresa comercial, nem está relacionada a nenhum interesse comercial, portanto, fazer essas coisas não faria sentido. Este tem sido o caso desde o início do projeto, e continua sendo o caso hoje. Além disso, fazer essas coisas seria contraproducente para o espírito e propósito do projeto como um todo, e enquanto eu continuar a manter o projeto, nunca acontecerá. - -#### 11.6 POLÍTICA DE PRIVACIDADE - -Em algumas circunstâncias, você pode ser legalmente obrigado a exibir claramente um link para sua política de privacidade em todas as páginas e seções do seu site. Isso pode ser importante como um meio de garantir que os usuários estejam bem informados sobre suas práticas de privacidade exatas, os tipos de PII que você coletar, e como você pretende usá-lo. Para poder incluir esse link na página "Carregar Negado" do phpMussel, é fornecida uma diretiva de configuração para especificar o URL da sua política de privacidade. - -*Diretivas de configuração relevantes:* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -O Regulamento Geral sobre a Proteção de Dados (GDPR) é um regulamento da União Europeia, que entra em vigor em 25 de Maio, 2018. O principal objectivo do regulamento é dar controlo aos cidadãos e residentes da UE relativamente aos seus próprios dados pessoais, e unificar a regulação na UE em matéria de privacidade e dados pessoais. - -O regulamento contém disposições específicas relativas ao tratamento de "[informações pessoalmente identificáveis](https://pt.wikipedia.org/wiki/Informa%C3%A7%C3%A3o_pessoalmente_identific%C3%A1vel)" (PII) de quaisquer "titulares de dados" (qualquer identificada ou identificável pessoa natural) da UE ou dentro da mesma. Para estar em conformidade com o regulamento, "empresas" (conforme definido pelo regulamento), e quaisquer sistemas e processos relevantes devem implementar "[privacidade desde a concepção](https://pt.wikipedia.org/wiki/Privacidade_desde_a_concep%C3%A7%C3%A3o)" por padrão, devem usar as configurações de privacidade mais altas possíveis, devem implementar as proteções necessárias para qualquer informação armazenada ou processada (incluindo, mas não limitado a, a implementação de pseudonimização ou anonimização completa de dados), devem declarar clara e inequivocamente os tipos de dados que coletam, como os processam, por quais motivos, por quanto tempo eles o retêm, e se compartilham esses dados com terceiros, os tipos de dados compartilhados com terceiros, como, porque, e assim por diante. - -Os dados não podem ser processados a menos que haja uma base legal para isso, conforme definido pelo regulamento. Geralmente, isso significa que, para processar os dados de um titular de dados de forma legal, ele deve ser feito em conformidade com obrigações legais, ou feito somente após o consentimento explícito, bem informado, e inequívoco ter sido obtido do titular dos dados. - -Como os aspectos da regulamentação podem evoluir no tempo, a fim de evitar a propagação de informações desatualizadas, pode ser melhor aprender sobre a regulamentação a partir de uma fonte oficial, em vez de simplesmente incluir as informações relevantes aqui na documentação do pacote (o que pode eventualmente desatualizado à medida que a regulamentação evolui). - -[EUR-Lex](https://eur-lex.europa.eu/) (uma parte do site oficial da União Europeia que fornece informações sobre a legislação da UE) fornece informações abrangentes sobre o GDPR/DSGVO, disponível em 24 idiomas diferentes (no momento da escrita deste), e disponível para download em formato PDF. Eu recomendaria definitivamente ler as informações que eles fornecem, a fim de aprender mais sobre GDPR/DSGVO: -- [REGULAMENTO (UE) 2016/679 DO PARLAMENTO EUROPEU E DO CONSELHO](https://eur-lex.europa.eu/legal-content/PT/TXT/?uri=celex:32016R0679) - -Alternativamente, há uma breve visão geral (não autoritativa) do GDPR/DSGVO disponível na Wikipedia: -- [Regulamento Geral sobre a Proteção de Dados](https://pt.wikipedia.org/wiki/Regulamento_Geral_sobre_a_Prote%C3%A7%C3%A3o_de_Dados) - ---- - - -Última Atualização: 30 de Junho de 2022 (2022.06.30). diff --git a/v2-and-earlier/readme.ru.md b/v2-and-earlier/readme.ru.md deleted file mode 100644 index 452c84b..0000000 --- a/v2-and-earlier/readme.ru.md +++ /dev/null @@ -1,1713 +0,0 @@ -## Документация для phpMussel v2 (Русский) - -### Содержание -- 1. [ПРЕДИСЛОВИЕ](#SECTION1) -- 2. [ИНСТАЛЛЯЦИЯ](#SECTION2) -- 3. [ИСПОЛЬЗОВАНИЕ](#SECTION3) -- 4. [УПРАВЛЕНИЕ ФРОНТЕНД](#SECTION4) -- 5. [CLI (СПОСОБ КОМАНДНЫХ СТРОК)](#SECTION5) -- 6. [СОДЕРЖАНИЕ ПАКЕТА ФАЙЛОВ](#SECTION6) -- 7. [НАСТРОЙКИ](#SECTION7) -- 8. [ФОРМАТ СИГНАТУРЕЙ](#SECTION8) -- 9. [ИЗВЕСТНЫЕ ПРОБЛЕМЫ СОВМЕСТИМОСТИ](#SECTION9) -- 10. [ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ (FAQ)](#SECTION10) -- 11. [ЛЕГАЛЬНАЯ ИНФОРМАЦИЯ](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. ПРЕДИСЛОВИЕ - -Большое спасибо всем, кто пользуется данным phpMussel-пособием. PHP-руководство позволяет обнаружить вирусы, троянские кони и другие вредоносные программы, проникающие в ваш компьютер, имеющие код ClamAV и другие. - -[PHPMUSSEL](https://phpmussel.github.io/) авторское право 2013 года, а также GNU/GPLv2, созданный [Caleb M (Maikuolan)](https://github.com/Maikuolan). - -Это руководство находится в свободном доступе. Вы можете его передавать и/или модифицировать на условиях GNU General Public License, как публикует Фонд свободного программного обеспечения (Free Software Foundation); либо под второй версией лицензии, либо любой другой более поздней версией (по вашему выбору). Пособие публикуется не в целях увеличения прибыли или создания себе рекламы, а лишь в надежде принести пользу, правда, без всякой гарантии. Подробности Вы можете узнать на странице GNU General Public License в разделе `LICENSE.txt`, а также на страницах: -- . -- . - -За вдохновение по созданию этого руководства я говорю большое спасибо [ClamAV](https://www.clamav.net/). Также я благодарю всех, кто пользуется этим руководством. Без вас оно, вероятно, никогда не существовало бы или ценность его была бы не очень большой. - -Также большую благодарность выражаю SourceForge, Bitbucket, и GitHub за созданные ими хостадреса проектов; Подписчикам [PhishTank](https://www.phishtank.com/), [NLNetLabs](https://nlnetlabs.nl/), [Malware.Expert](https://malware.expert/) и другим. Особая благодарность тем, кто поддержит этот проект, а также всем неназванным мною людям, в том чисте и Вам за то, что пользуетесь этим пособием. - -Этот документ с относящимися к нему пакетом файлов можно бесплатно скачать на страницах: -- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -### 2. ИНСТАЛЛЯЦИЯ - -#### 2.0 ИНСТАЛЛЯЦИЯ ВРУЧНУЮ (СЕРВЕР) - -1) Скачайте архив на свой компьютер и откройте его. На хост-компьютере или в системе управления содержимым (CMS) создайте регистр, куда Вы хотите загрузить содержимое этого пакета. Такой регистр, как `/public_html/phpmussel/`, будет вполне достаточным, пока он отвечает вашим требованиям к защите или личным предпочтениям. - -2) Переименовать `config.ini.RenameMe` в `config.ini` (расположенный внутри `vault`), и если Вы хотите (рекомендуются для опытных пользователей, имеющих соответствующие знания), открой это (этот файл содержит все параметры конфигурации для phpMussel; краткие комментарии описывают задачи каждой параметры). Измените величины в соответствии с Вашими потребностями. Сохраните файл и закройте. - -3) Скачайте всё содержимое (phpMussel и файлы) в указанный в пункте 1 регистр, кроме файлов `*.txt`/`*.md`. - -4) Право доступа `vault`-регистра поменяйте на «755» (если есть проблемы, Вы можете попробовать «777»; это менее безопасно, хотя). Права доступа вышестоящего папка, в котором находится содержание (папка в который Вы наметили занести файлы) могут остаться прежними, но всё же лучше проверить доступ, если случились проблемы с доступом (обычно должно быть «755» в стандарта). Вкратце: Чтобы пакет работал правильно, PHP должен иметь возможность читать и писать файлы в каталоге `vault`. Многие вещи (обновление, ведение журнала, и т.д.) не будут возможны, если PHP не может писать в каталог `vault`, и пакет не будет работать вообще, если PHP не может читать из каталога `vault`. Однако для обеспечения оптимальной безопасности каталог `vault` НЕ должен быть общедоступным (конфиденциальная информация, такая как информация, содержащаяся в файле `config.ini` или `frontend.dat`, может быть обнаружена потенциальными злоумышленниками, если каталог `vault` является общедоступным). - -5) Установите любые сигнатуры, которые вам понадобятся. *Видеть: [ИНСТАЛЛЯЦИЯ СИГНАТУРЕЙ](#INSTALLING_SIGNATURES).* - -6) Скрепите phpMussel с Вашей системой или с системой управления содержимым (CMS). Для этого есть много способов. Самым простым является способ, когда phpMussel-руководство является началом главного файла, который будет загружаться всякий раз, когда будут заходить на ваш интернет-сайт. Этот файл нужно связать с Вашей системой или с системой управления содержимым (CMS) при помощи `require` или `include` команд. Обычно такой файл обозначается в регистре как `/includes`, `/assets` или `/functions`, и часто называется `init.php`, `common_functions.php`, `functions.php`. Вы должны найти тот файл, который соответствует Вашим требованиям. Если это трудно для Вас, то посетите форумы phpMussel или страница вопросов phpMussel на GitHub. Возможно я или кто-то другой уже имеет опыт работы с CMS, которую используете вы, и сможет дать Вам совет (обязательно сообщите, какой CMS Вы пользуетесь). Введите прямо в начало этого файла следующий код: - -`` - -Строку между кавычками замените локальным путём файла в формате `loader.php`, без HTTP-адреса (подобно пути для `vault`-регистра). Сохраните файл и закройте его; Загрузите его заново. - --- АЛЬТЕРНАТИВА -- - -Если у Вас Apache HTTP-сервер и доступ к нему в формате `php.ini` или похожем формате, Вы можете воспользоваться `auto_prepend_file`-директивой, установя приоритет phpMussel, когда последует PHP-запрос. Примерно так: - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -Или в `.htaccess` файлом: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) На этом инсталляционный процесс заканчивается. Теперь Вам необходимо протестировать программу на правильность функционирования. Для этого Вам нужно имеющиеся в пакете тестовые файлы `.tests/samples` загрузить на Вашу веб-страницу любым способом, который позволяет Ваш браузер. (Убедитесь, что вы включили файлы сигнатуры `phpmussel*.*db` в директиву конфигурации `active` для запуска тестовых файлов). При нормальном функционировании программы появится сообщение от phpMussel, что загрузка/уплоад была успешно блокирована. Если такое сообщение не появилось, то программа функционирует неправильно. Воспользуйтесь другими расширенными функциями или всевозможными сканированными видами этой программы. Вы должны тестировать до тех пор, пока не убедитесь в нормальном функционировании программы. - -#### 2.1 ИНСТАЛЛЯЦИЯ ВРУЧНУЮ (CLI; СПОСОБ КОМАНДНЫХ СТРОК) - -1) Скачайте архив на свой компьютер, поместив его в регистр, соответствующего Вашим требованиям к защите или личным предпочтениям. Откройте папку. - -2) Чтобы действовать, phpMussel нужна PHP-среда. В случае, если Вы не имеете PHP, то инсталлируте её, пожалуйста, следуя указаниям PHP-инсталлятора. - -3) Дополнительные опции (рекомендуются для опытных пользователей, имеющих соответствующие знания). Откройте файл `config.ini` в `vault`-регистре. Этот файл содержит все функциональные опции phpMussel. Краткие комментарии описывают задачи каждой опции. Измените величины в соответствии с Вашими потребностями. Сохраните файл и закройте. - -4) Дополнительные опции. Старт phpMussel можно упростить, если вместе с файлом пакетной обработки PHP автоматически загрузить и phpMussel. Откройте простую программу обработки текста, такую как Editor или Notepad++. Внесите полный путь доступа к Вашему `php.exe`-файлу в регистр PHP-инсталлятора. Потом сделайте пробел. За ним = полный путь к `loader.php`-файлу в регистре phpMussel-инсталлятора. Внесите этот файл в память компьютера в формате `.bat` в то место, где Вы всегда сможете его легко найти и открыть двойным щелчком мышки. - -5) Установите любые сигнатуры, которые вам понадобятся. *Видеть: [ИНСТАЛЛЯЦИЯ СИГНАТУРЕЙ](#INSTALLING_SIGNATURES).* - -6) На этом процесс инсталляции завершён. Теперь Вам нужно проверить как работает программа. Для тестирования запустите phpMussel и попытайтесь просканировать `.tests/samples`-регистр, содержащийся в инсталляционном пакете. - -#### 2.2 ИНСТАЛЛЯЦИЯ С ПОМОЩЬЮ COMPOSER - -[phpMussel зарегистрирован в Packagist](https://packagist.org/packages/phpmussel/phpmussel), и так, если Вы знакомы с Composer, Вы можете использовать Composer для инсталляция phpMussel (Вам все равно нужно будет подготовить конфигурацию, разрешения, сигнатуры и крючки; См. «инсталляция вручную (сервер)», шаги 2, 4, 5, и 6). - -`composer require phpmussel/phpmussel` - -#### 2.3 ИНСТАЛЛЯЦИЯ СИГНАТУРЕЙ - -Поскольку v1.0.0, сигнатуры не включены в пакет phpMussel. Сигнатуры требуются phpMussel для обнаружения конкретных угроз. Существует три основных метода установки сигнатурей: - -1. Установите автоматически, используя страницу обновления в фронтенд. -2. Создавайте сигнатуры с помощью «SigTool» и установите вручную. -3. Загрузите сигнатуры из «phpMussel/Signatures» и установите вручную. - -##### 2.3.1 Установите автоматически, используя страницу обновления в фронтенд. - -В первую очередь, вам нужно убедиться, что фронтенд включен. *Видеть: [УПРАВЛЕНИЕ ФРОНТЕНД](#SECTION4).* - -Затем все, что вам нужно сделать, это перейти на страницу обновлений фронтенд, найти необходимые файлы сигнатур и использовать параметры, представленные на странице, установить их и активировать их. - -##### 2.3.2 Создавайте сигнатуры с помощью «SigTool» и установите вручную. - -*Видеть: [Документация SigTool](https://github.com/phpMussel/SigTool#documentation).* - -*Также обратите внимание: SigTool обрабатывает только сигнатуры из ClamAV. Чтобы получить сигнатуры из других источников, например, написанных специально для phpMussel, которая включает в себя сигнатуры, необходимые для обнаружения тестовых образцов phpMussel, этот метод должен быть дополнен одним из других методов, упомянутых здесь.* - -##### 2.3.3 Загрузите сигнатуры из «phpMussel/Signatures» и установите вручную. - -В первую очередь, перейти к [phpMussel/Signatures](https://github.com/phpMussel/Signatures). Репозиторий содержит различные файлы сигнатур, сжатые GZ. Загрузите нужные вам файлы, распакуйте их и скопируйте распакованные файлы в регистр `/vault/signatures`, чтобы установить их. Перечислите имена скопированных файлов в директиву `active` в вашей конфигурации phpMussel для их активации. - ---- - - -### 3. ИСПОЛЬЗОВАНИЕ - -#### 3.0 ИСПОЛЬЗОВАНИЕ (СЕРВЕР) - -phpMussel функционирует полностью в автономном режиме, то есть, Вам вообще ничего не надо делать. Ваша задача: инсталлировать программу, а работать она будет сама. - -Сканирование файлов загрузки унифицировано и запускается автоматически. Вам больше ничего не нужно делать. - -Тем не менее у вас есть возможность отдать распоряжение phpmussel сканировать файлы, папки или архивы, указанные вами конкретно. для этого убедитесь, что данная структура имеет формат `config.ini` (`cleanup` должен быть деактивирован), создайте PHP-файл, интегрированный в phpmussel, со следующей функцией: - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan` является строкой или матрицей, указывающей на файл, регистр или матрицу файлов и/или регистров, которые подлежат сканированию. -- `$output_type` это целое число (Integer), указывающее на формат, который должен получиться в результате. Нулевое значение задаёт функцию выдать результат в виде целого числа (Integer). Единица задает функцию, выдать результат в форме читаемого текста. Двойка задаёт функцию получения результата в двух видах: в виде читаемого текста, и экспорт в глобальную переменную. Глобальная переменная является необязательной, её стандартная величина 0. Ниже описываются целочисленные результаты: - -| Результаты | Описание | -|---|---| -| -4 | Указывает на то, что данные не могут быть отсканированы из-за шифрования. | -| -3 | Указывает на то, что имеются проблемы с файлом сигнатуры phpMussel. | -| -2 | Показывает, что повреждённые файлы найдены, но сканирование не закончено. | -| -1 | Означает, что для сканирования необходимы отсутствующие PHP-расширения или дополнения, поэтому сканирование не завершено. | -| 0 | Говорит о том, что цель не существует, а следовательно не может быть и проверена. | -| 1 | Означает, что цель успешно проверена и проблем не найдено. | -| 2 | Цель успешно проверена, но имеются проблемы. | - -- `$output_flatness` это логическое значение, требующее выдать результат в виде дополнения или строки. Если цель состоит из нескольких элементов как, например, регистры или матрицы, то результатом операции будет матрица (со стандартным числом 0). Единица вызывает функцию, результатом которой будет сцепленная строка. Эта переменная является необязательной, её стандартная величина 0. - -Например: - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -А вот как это выглядит в виде строки: - -``` - Wed, 16 Sep 2013 02:49:46 +0000 Начало работы. - > Проверить '/user_name/public_html/my_file.html': - -> Проблемы не найдены. - Wed, 16 Sep 2013 02:49:47 +0000 Готово. -``` - -Полный список используемых phpMussel сигнатурей, а также порядок их обработки, Вы найдёте в разделе [ФОРМАТ СИГНАТУРЕЙ](#SECTION8). - -При возникновении каких-либо тревожных сигналов, при обнаружении того, что по Вашему мнению должно быть заблокировано, или что-то не функционирует с подписями, просьба сообщить об этом автору, дабы можно было внести изменения и исправить ситуацию. *(Видеть: [Что такое «ложноположительный»?](#WHAT_IS_A_FALSE_POSITIVE)).* - -Чтобы отключить определенные сигнатуры, включенные в phpMussel (например, если Вы испытываете ложноположительный, что для ваших целей обычно не следует удалять с магистрали), добавьте имена конкретной сигнатуры, подлежащей отключению, в файл «greylist» сигнатурей (`/vault/greylist.csv`), разделенных запятыми. - -*Смотрите также: [Как получить доступ к конкретным сведениям о файлах при их сканировании?](#SCAN_DEBUGGING)* - -#### 3.1 ИСПОЛЬЗОВАНИЕ (CLI; СПОСОБ КОМАНДНЫХ СТРОК) - -Пожалуйста, обратитесь к разделу «ИНСТАЛЛЯЦИЯ ВРУЧНУЮ (CLI; СПОСОБ КОМАНДНЫХ СТРОК)» этого файла README. - -Кроме того необходимо иметь ввиду, что phpMussel является сканер *по требованию*; Это *НЕ* сканер *по доступу* (кроме как для загрузки файлов, в момент загрузки); Это не может заменить полноценное антивирусное программное обеспечение (это не проверяет рабочую память компьютера)! Это будет только обнаружить вирусы, содержащиеся на загрузки файлов, и на конкретные файлы которые Вы сказать что это для сканирования. - ---- - - -### 4. УПРАВЛЕНИЕ ФРОНТЕНД - -#### 4.0 ЧТО ЯВЛЯЕТСЯ ФРОНТЕНД. - -Фронтенд обеспечивает удобный и простой способ для поддержания, управления и обновить инсталляция phpMussel. Вы можете просматривать, обмениваться и скачать лог-файлы через страницу для лог-файлы, Вы можете изменить конфигурацию с помощью страницы конфигурации, Вы можете устанавливать и удалять компоненты через страницу обновления, и вы можете загрузить, скачать, и изменять файлы в вашем vault с помощью файл менеджер. - -Фронтенд по умолчанию отключена в целях предотвращения несанкционированного доступа (несанкционированного доступа может иметь серьезные последствия для вашего веб-сайта и его безопасности). Инструкции по включению его включены ниже этого пункта. - -#### 4.1 КАК ВКЛЮЧИТЬ ФРОНТЕНД. - -1) Найдите директиву `disable_frontend` внутри `config.ini`, и установить его на `false` (это будет `true` по умолчанию). - -2) Перейти на `loader.php` из вашего браузера (например, `http://localhost/phpmussel/loader.php`). - -3) Войти с именем пользователя и паролем по умолчанию (admin/password). - -Заметка: После того, как Вы вошли в первый раз, в целях предотвращения несанкционированного доступа к фронтенд, Вы должны немедленно изменить имя пользователя и пароль! Это очень важно, потому что это можно загрузить произвольный PHP код на свой веб-сайт через фронтенд. - -Кроме того, для обеспечения оптимальной безопасности настоятельно рекомендуется включить «двухфакторную аутентификацию» для всех аккаунтов фронтенд (инструкции приведены ниже). - -#### 4.2 КАК ИСПОЛЬЗОВАТЬ ФРОНТЕНД. - -Инструкции предоставляются на каждой странице в фронтенд, чтобы объяснить правильный способ использовать его и его целевое назначение. Если Вам нужна дополнительная объяснение или любой специальный помощь, обратитесь в поддержки. Дополнительно, есть некоторые видео доступны на YouTube, которые могли бы помочь путем демонстрации. - -#### 4.3 ДВУХФАКТОРНАЯ АУТЕНТИФИКАЦИЯ - -Возможно сделать фронтенд более безопасным, включив двухфакторную аутентификацию («2FA»). При входе в аккаунт с поддержкой 2FA, электронное письмо отправляется на адрес электронной почты, связанный с этой аккаунтой. Это электронное письмо содержит «код 2FA», который затем должен ввести пользователь в дополнение к имени пользователя и паролю, чтобы иметь возможность войти в систему, используя эту аккаунт. Это означает, что получить пароль аккаунтой будет недостаточно для того, чтобы любой хакер или потенциальный злоумышленник могли войти в эту аккаунт, потому что им также необходимо будет иметь доступ к адресу электронной почты, связанному с этой аккаунтой, чтобы иметь возможность получать и использовать код 2FA, связанный с сеансом, что делает фронтенд более безопасным. - -Во-первых, чтобы включить двухфакторную аутентификацию, используя страницу обновлений фронтенда, установите компонент PHPMailer. phpMussel использует PHPMailer для отправки электронных писем. Следует отметить, что хотя phpMussel, сам по себе, совместим с PHP >= 5.4.0, PHPMailer требует PHP >= 5.5.0, поэтому означает, что включение двухфакторной аутентификации для фронтенда phpMussel будет невозможно для пользователей PHP 5.4. - -После того, как Вы установили PHPMailer, вам нужно будет заполнить директивы конфигурации для PHPMailer через страницу конфигурации phpMussel или файл конфигурации. Более подробная информация об этих директивах конфигурации содержится в разделе конфигурации этого документа. После того, как Вы заполнили директивы конфигурации PHPMailer, установите `enable_two_factor` в `true`. На этом этапе должна быть включена двухфакторная аутентификация. - -Затем вам нужно связать адрес электронной почты с аккаунтой, чтобы phpMussel знал, куда отправлять коды 2FA при входе в эту аккаунт. Для этого используйте адрес электронной почты в качестве имени пользователя для аккаунтой (например, `foo@bar.tld`), или указать адрес электронной почты как часть имени пользователя так же, как при отправке письма обычно (например, `Foo Bar `). - -Заметка: Особенно важна защита вашего vault от несанкционированного доступа (например, посредством укрепления безопасности вашего сервера и ужесточение разрешений общего доступа), поскольку несанкционированный доступ к вашему конфигурационному файлу (который хранится в вашем vault), может подвергнуть риску выставлять исходящие настройки SMTP (это включает имя пользователя и пароль SMTP). Вы должны убедиться, что ваше vault правильно защищено, прежде чем включить двухфакторную аутентификацию. Если Вы не можете этого сделать, то, по крайней мере, Вы должны создать новую аккаунт электронной почты, предназначенную для этой цели, чтобы уменьшить риски, связанные с открытыми параметрами SMTP. - ---- - - -### 5. CLI (СПОСОБ КОМАНДНЫХ СТРОК) - -В Windows системах phpMussel может быть использована как интерактивный сканер в CLI-модусе. Для этого прочитайте раздел «ИНСТАЛЛЯЦИЯ (CLI; СПОСОБ КОМАНДНЫХ СТРОК)». - -Для получения доступа к имеющимся в распоряжении CLI-командам, внесите в командную строку «с» (ANSI/ASCII) и подтвердите свою команду, нажав «Enter». - -Дополнительно, для тех кто заинтересован, видео-учебник о том как использовать phpMussel в CLI-модусе доступна здесь: -- - ---- - - -### 6. СОДЕРЖАНИЕ ПАКЕТА ФАЙЛОВ - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. НАСТРОЙКИ - -Ниже представлен список переменных данных в файле конфигурации `config.ini`, а также краткое описание их функций. - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### «general» (Категория) -Генеральная конфигурация от phpMussel. - -##### «cleanup» -- После исполнения стирает переменные величины данного руководства и очищает кэш-память. Если Вы не используете скрипт для чего-либо, кроме сканирования загрузок, Вам следует установить значение `true`, чтобы минимизировать использование памяти. В противном случае Вам следует установить значение `false`, чтобы сохранить в памяти данные, необходимые для выполнения phpMussel без необходимости его перезагрузки. -- Не воздействует на CLI-модус. - -##### «scan_log» -- Название файла, в который записываются результаты всех контрольных проверок. Задайте имя файлу, или оставьте пустым чтобы деактивировать опцию. - -##### «scan_log_serialized» -- Название файла, в который записываются результаты всех контрольных проверок (сериализовано Формат). Задайте имя файлу, или оставьте пустым чтобы деактивировать опцию. - -##### «scan_kills» -- Название файла, в который записываются все заблокированные загрузки. Задайте имя файлу, или оставьте пустым чтобы деактивировать опцию. - -*Полезный совет: Если Вы хотите, Вы можете добавить информацию о дате/времени к именам файлов журналов путем включения их во имя: `{yyyy}` для полный год, `{yy}` для сокращенный год, `{mm}` для месяц, `{dd}` для день, `{hh}` для час.* - -*Примеры:* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### «error_log» -- Файл для регистрации обнаруженных нефатальных ошибок. Задайте имя файлу, или оставьте пустым чтобы деактивировать опцию. - -##### «truncate» -- Усекать лог-файлы, когда они достигают определенного размера? Значение это максимальный размер в Б/КБ/МБ/ГБ/ТБ, до которого файл журнала может увеличиться до усечения. Стандартное значение 0КБ отключает усечение (лог-файлы может расти неограниченно). Примечание: относится к отдельным лог-файлы! Размер файлов журнала не учитывается совместно. - -##### «log_rotation_limit» -- Лог вращения ограничивает количество журнальных лог-файлов, которые должны существовать в любой момент времени. Когда создаются новые лог-файлы, если общее количество лог-файлов превышает указанный предел, указанное действие будет выполнено. Здесь Вы можете указать желаемый лимит. Значение 0 отключит вращение лог. - -##### «log_rotation_action» -- Лог вращения ограничивает количество журнальных лог-файлов, которые должны существовать в любой момент времени. Когда создаются новые лог-файлы, если общее количество лог-файлов превышает указанный предел, указанное действие будет выполнено. Здесь Вы можете указать желаемое действие. Delete = Удалите самые старые лог-файлы, пока лимит больше не будет превышен. Archive = Сначала архивируйте, а затем удалите самые старые лог-файлы, пока лимит больше не будет превышен. - -*Техническое разъяснение: В этом контексте, «самые старые» означает наименее недавно измененный.* - -##### «timezone» -- Это используется, чтобы указать, какой часового пояса phpMussel должен использовать для операций даты/времени. Если вам это не нужно, игнорируйте его. Возможные значения определяются PHP. Обычно рекомендуется вместо того, чтобы настроить директиву о зоне времени в файле `php.ini`, но иногда (например, при работе с общими хостинг-провайдеров, которые ограничены) это не всегда возможно, и так, эта опция представлена здесь. - -##### «time_offset» -- *v1: «timeOffset»* -- Если ваш сервер времени не соответствует вашему местному времени, Вы можете указать смещение здесь для корректировки информации о дате/времени генерируется от phpMussel в соответствии с вашими потребностями. Обычно рекомендуется вместо того, чтобы настроить директиву о зоне времени в файле `php.ini`, но иногда (например, при работе с общими хостинг-провайдеров, которые ограничены) это не всегда возможно, и так, эта опция представлена здесь. Смещение описывается как минут. -- Пример (добавить один час): `time_offset=60` - -##### «time_format» -- *v1: «timeFormat»* -- Формат нотации даты, используемый phpMussel. Стандарт = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`. - -##### «ipaddr» -- Место IP-адреса актуального соединения в общем потоке данных (полезно для Cloud-сервиса). Стандарт = REMOTE_ADDR. Внимание! Изменяйте это значение только в том случае, если Вы уверены в своих действиях! - -Рекомендуемые значения для «ipaddr»: - -Значения | Контекст ----|--- -`HTTP_INCAP_CLIENT_IP` | Incapsula обратный прокси-сервер. -`HTTP_CF_CONNECTING_IP` | Cloudflare обратный прокси-сервер. -`CF-Connecting-IP` | Cloudflare обратный прокси-сервер (альтернатива; если вышеуказанное не работает). -`HTTP_X_FORWARDED_FOR` | Cloudbric обратный прокси-сервер. -`X-Forwarded-For` | [Squid обратный прокси-сервер](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*Определяется конфигурацией сервера.* | [Nginx обратный прокси-сервер](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` | Не обратный прокси-сервер (стандартное значение). - -##### «enable_plugins» -- Включить поддержку phpMussel плагинов? False = Нет; True = Да [Стандарт]. - -##### «forbid_on_block» -- Возвращённый 403-HTTP-заголовок при заблокированной загрузке данных. False = Нет (200); True = Да (403) [Стандарт]. - -##### «unsupported_media_type_header» -- Должен ли phpMussel отправлять 415 заголовков, когда загрузка заблокирована из-за типов файлов, занесенных в черный список? Когда true, этот параметр заменяет `forbid_on_block`. False = Нет [Стандарт]; True = Да. - -##### «delete_on_sight» -- Эта опция позволяет в течение сканирования немедленно удалять файлы при наличии в них опознавательных признаков, содержащихся в сигнатуры или других методах. При этом не будут затрагиваться файлы, идентифицированные как неинфицированные. Если в архиве будет инфицирован хотя бы один файл, то будет удалён весь архив. Во время загрузки файлов эту функцию активировать не обязательно, так как PHP после исполнения удаляет содержимое кэш-памяти. Это означает, что PHP удалит каждый скаченный через сервер файл, если он не перемещён, не скопирован или не удалён. Эта опция, как дополнительная мера, была введена для большей безопасности, но в основном для систем, в которых PHP ведёт себя по-другому. False = После проверки файл останется нетронутым [Стандарт]; True = После проверки инфицированный файл будет немедленно удалён. - -##### «lang» -- Задаёт phpMussel стандарт языка. - -##### «lang_override» -- Локализовать в соответствии с HTTP_ACCEPT_LANGUAGE, когда это возможно? True = Да [Стандарт]; False = Нет. - -##### «numbers» -- Указывает, как отображать числа. - -Поддерживаемые значения: - -Значение | Производит | Описание ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | Значение по умолчанию. -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*Заметка: Эти значения нигде не стандартизируются и, вероятно, не будут иметь значения за пределами пакета. Кроме того, поддерживаемые значения могут измениться в будущем.* - -##### «quarantine_key» -- phpMussel способна держать на карантине попытки загрузить файл, если это будет Вам нужно. Эту функцию должны деактивировать те пользователи, которые хотят лишь защитить свои интернет-сайты или окружение своего хоста, но дальнейший контроль выделенных файлов им не интересен. Активировать эту функцию должны те пользователи, которые хотят анализировать изолированные файлы на вредоносность или тому подобное. Изоляция выделенных файлов иногда может использоваться для поиска ошибки при частом появлении сигнала тревоги. Чтобы деактивировать функцию карантина, не заполняйте `quarantine_key`, и удалите содержание строки, если она заполнена. Для активирования функции карантина задайте значение. `quarantine_key` = Это важный элемент карантинной функции, способная защитить функцию карантина от атак вредоносных программ, и предотвратить запуск удерживаемых на карантине файлов. Значение `quarantine_key` Вы должны хранить втайне от всех, как и пароли. Оптимально в сочетании с `delete_on_sight`. - -##### «quarantine_max_filesize» -- Максимально допустимый объём файлов, которые могут быть изолированы в карантине. В карантинном регистре НЕ будет сохраняться файлы, объём которых больше указанного значения. Эта команда важна тем, что затрудняет потенциальному агрессору наводнить нежелательными данными ваш карантинный регистр, а также кэш-память вашего хост-сервера. Стандарт = 2МБ. - -##### «quarantine_max_usage» -- Максимально допустимая загрузка карантина. Когда общий объём файлов на карантине достигает этого значения, то начинают удаляться старые файлы пока не будет достигнуто необходимое значение. Эта команда важна тем, что затрудняет потенциальному агрессору наводнить нежелательными данными ваш карантинный регистр, а также кэш-память вашего хост-сервера. Стандарт = 64МБ. - -##### «quarantine_max_files» -- Максимальное количество файлов, которые могут существовать в карантине. Когда новые файлы добавляются в карантин, если этот номер будет превышен, старые файлы будут удалены до тех пор, пока остаток больше не будет превышать этот номер. Стандарт = 100. - -##### «honeypot_mode» -- При активированном Honeypot-модуса phpMussel изолирует каждый загружаемый файл без всякой проверки, не обращая внимание на сигнатуры. Эта функция предназначена исключительно для исследования вирусов и вредоносных программ. Мы рекомендуем использовать эту функцию phpMussel исключительно для «Honeypotting», а не для проверки загружаемых файлов или других целей. В стандартной комплектации эта функция деактивирована. False = Деактивировано [стандартное значение]; True = Активировано. - -##### «scan_cache_expiry» -- Как долго должна phpMussel хранить результаты сканирования в буфере? Значение измеряется секундами. Стандартное значение 21600 секунд (6 часов). Значение равное 0 деактивирует временную память результатов сканирования. - -##### «disable_cli» -- Деактивировать ли CLI-модус? Обычно CLI-модус активирован. Однако иногда он может отрицательно влиять на определённые тестовые программы (например на PHPUnit) и другие приложения, базирующиеся на CLI. Если CLI-модус нельзя деактивировать, то эту команду нужно игнорировать. False = CLI-модус активирован [Стандарт]; True = CLI-модус деактивирован. - -##### «disable_frontend» -- Деактивировать доступ к фронтенд? Доступ к фронтенд может сделать phpMussel более управляемым, но также может быть потенциальный риск безопасности. Рекомендуется чтобы управлять phpMussel через бэкенд когда возможно, но доступ к фронтенд предоставлен для того когда это не возможно. Держите его деактивирована за исключением того если Вам это нужно. False = Активировать доступ к фронтенд; True = Деактивировать доступ к фронтенд [Стандарт]. - -##### «max_login_attempts» -- Максимальное количество попыток входа в систему фронтенда. Стандарт = 5. - -##### «frontend_log» -- *v1: «FrontEndLog»* -- Файл для запись всех попыток входа в фронтенд. Задайте имя файлу, или оставьте пустым чтобы деактивировать опцию. - -##### «disable_webfonts» -- Отключить веб-шрифты? True = Да [Стандарт]; False = Нет. - -##### «maintenance_mode» -- Включить режим обслуживания? True = Да; False = Нет [Стандарт]. Отключает все, кроме фронтенд. Иногда полезно при обновлении CMS, фреймворков и т.д. - -##### «default_algo» -- Определяет, какой алгоритм использовать для всех будущих паролей и сеансов. Опции: PASSWORD_DEFAULT (стандарт), PASSWORD_BCRYPT, PASSWORD_ARGON2I (требует PHP >= 7.2.0), PASSWORD_ARGON2ID (требует PHP >= 7.3.0). - -##### «statistics» -- Отслеживать статистику использования phpMussel? True = Да; False = Нет [Стандарт]. - -##### «hide_version» -- Скрыть информацию о версии из журналов и вывода на страницу? True = Да; False = Нет [Стандарт]. - -##### «disabled_channels» -- Это можно использовать для предотвращения использования phpMussel определенных каналов при отправке запросов (например, при обновлении, при извлечении метаданных компонента, и т.д.). - -##### «default_timeout» -- Тайм-аут по умолчанию для внешних запросов? Стандарт = 12 секунд. - -#### «signatures» (Категория) -Конфигурация подписями. - -##### «active» -- *v1: «Active»* -- Список активных файлов сигнатур, разделенных запятыми. - -*Заметка:* -- *Сначала необходимо установить файлы сигнатуры, прежде чем вы сможете их активировать.* -- *Чтобы тестовые файлы работали правильно, файлы сигнатуры должны быть установлены и активированы.* -- *Значение этой директивы кэшируется. После его изменения, чтобы изменения вступили в силу, вам может потребоваться удалить кэш.* - -##### «fail_silently» -- Реакция phpMussel на отсутсвие сигнатурей или дефект в них. Когда `fail_silently` деактивирована, то в течение сканирования будет сообщаться об отсутствии сигнатуры или изъянах в ней. В случае если `fail_silently` активирована, то отсутствующие или дефектные сигнатуры будут игнорироваться, не сообщая о проблемах. Эта опция должна оставаться такой, если только Вы не ожидаете отказа системы или чего-то подобного. False = Деактивировано; True = Активировано [Стандарт]. - -##### «fail_extensions_silently» -- Должна phpMussel сообщать, что отсутствует расширение файла? Если `fail_extensions_silently` деактивирована, то при сканировании придёт сообщение об отсутствии расширения файла, если же `fail_extensions_silently` активирована, то файлы с отсутствующим расширением будут игнорироваться, и при сканировании придёт сообщение, что с этими файлами всё в порядке. Деактивация или активация могут повысить Вашу безопасность, однако способствовать увеличению ложных сообщений. False = Деактивировано; True = Активировано [Стандарт]. - -##### «detect_adware» -- Интерпретировать сигнатурей для обнаружить рекламное программное? False = Нет; True = Да [Стандарт]. - -##### «detect_joke_hoax» -- Интерпретировать сигнатурей для обнаружить шутка вредоносные/вирусы программы? False = Нет; True = Да [Стандарт]. - -##### «detect_pua_pup» -- Интерпретировать сигнатурей для обнаружить PUAs/PUPs (потенциально нежелательных программы/приложений)? False = Нет; True = Да [Стандарт]. - -##### «detect_packer_packed» -- Интерпретировать сигнатурей для обнаружить упаковщики и упакованные данные? False = Нет; True = Да [Стандарт]. - -##### «detect_shell» -- Интерпретировать сигнатурей для обнаружить веб-шелл скрипты? False = Нет; True = Да [Стандарт]. - -##### «detect_deface» -- Интерпретировать сигнатурей для обнаружить дифейсмент/обезображивание программы? False = Нет; True = Да [Стандарт]. - -##### «detect_encryption» -- Должен ли phpMussel обнаруживать и блокировать зашифрованные файлы? False = Нет; True = Да [Стандарт]. - -#### «files» (Категория) -Файл обработки конфигурации. - -##### «max_uploads» -- Максимально разрешённое количество проверяемых файлов в течение одной загрузки файлов. Если количество скачиваемых файлов превышает это значение, то, прежде чем сканирование прекратится, пользователь будет об этом проинформирован. Эта опция защищает от теоретической DDoS-атаки на вашу систему или CMS, тем что, пока агрессор перегружает phpMussel, останавливается PHP-процесс. Рекомендуется установить число 10. В зависимости от мощности вашего устройства Вы можете повышать или уменьшать это значение. Внимание! Это значение не учитывает содержание архивов. - -##### «filesize_limit» -- Ограничение объема файла в килобайтах. 65536 = 64MB [Стандарт]; 0 = без ограничений (устанавливается для «серого листа»), принимается любое (положительное) цифровое значение. Это полезно, если PHP-конфигурация Вашей системы в каждом процессе ограничивает использование имеющейся памяти или ограничивает объём загружаемого файла. - -##### «filesize_response» -- Обработка файлов, превышающих ограничение объёма файлов (если указано). False = Добавить к белому списку; True = Добавить к чёрному списку [Стандарт]. - -##### «filetype_whitelist», «filetype_blacklist», «filetype_greylist» -- Если ваша система позволяет или полностью запрещает загружать специальные файлы, то, отсортировав их на белый, чёрный или серый список, программа ускоряет процесс сканирования, пропуская эти типы файлов. Формат CSV (comma separated values, отделяемые запятой величины). Если Вы хотите подвергнуть проверке всё, то оставьте переменные величины пустыми, это деактивирует белый, чёрный и серый списки. -- Логичная последовательность обработки: - - Файл, занесённый с белый список, сканирует не блокируя; файл из белого или серого списка не проверяет. - - Файл из чёрного списка не сканирует, но всё же блокирует; файл из серого списка не проверяет. - - Если файл относится к типу файлов, занесённых в серый список, то независимо от того пуст или заполнен серый список, программа будет сканировать файл как обычно и, базируясь на сканировании, определит должен ли он блокироваться или нет; если серый список заполнен и тип файла не значится в сером списке, то программа поступит с ним так, как будто он занесён в чёрный список, т.е. не сканирует его, но всё равно блокирует. - -##### «check_archives» -- Нужно ли проверять содержимое архивов? False = Нет (никакой проверки); True = Да (будет проверяться) [Стандарт]. - -Формат | Может читать | Может читать рекурсивно | Может обнаруживать шифрование | Заметки ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | Требует [libzip](https://secure.php.net/manual/en/zip.requirements.php) (обычно в комплекте с PHP в любом случае). Также поддерживается (использует формат zip): ✔️ Обнаружение объекта OLE. ✔️ Обнаружение макросов Office. -Tar | ✔️ | ✔️ | ➖ | Никаких особых требований. Формат не поддерживает шифрование. -Rar | ✔️ | ✔️ | ✔️ | Требуется расширение [rar](https://pecl.php.net/package/rar) (когда это расширение не установлено, phpMussel не может читать файлы rar). -Phar | ❌ | ❌ | ❌ | Поддержка чтения файлов phar была удалена в v1.6.0, и больше не будет добавлена из-за проблем с безопасностью. - -*Если кто-то может и хочет помочь реализовать поддержку чтения других форматов архивов, такая помощь будет приветствоваться.* - -##### «filesize_archives» -- Должен ли объём файла чёрного/белого списка быть перенесён на содержание архива? False = Нет (всё поместить в серый лист); True = Да [Стандарт]. - -##### «filetype_archives» -- Должен ли тип файла чёрного/белого списка быть перенесён на содержание архива? False = Нет (всё поместить в серый лист) [Стандарт]; True = Да. - -##### «max_recursion» -- Максимальная граница рекурсионной глубины архивов. Стандарт = 3. - -##### «block_encrypted_archives» -- Нужно ли узнавать и блокировать зашифрованные архивы? phpMussel не может сканировать зашифрованные архивы. Не исключена вероятность того, что кодировка архива используется агрессором, чтобы избежать phpMussel, антивирусных сканеров и других подобных защитных программ. Умение phpMussel блокировать зашифрованные архиВы может быть поможет уменьшить риски, связанные с этой возможностью. False = Нет; True = Да [Стандарт]. - -##### «max_files_in_archives» -- Максимальное количество файлов для сканирования из архивов перед прекращением сканирования. Стандарт = 0 (не максимум). - -#### «attack_specific» (Категория) -Атака конкретных директив. - -Определение атаки хамелеона: False = Деактивировано; True = Активировано. - -##### «chameleon_from_php» -- Поиск PHP-заголовков в файлах, которые не были опознаны ни как PHP-файлы, ни как архивы. - -##### "can_contain_php_file_extensions" -- Список расширений файлов позволяет содержать PHP-код, разделенный запятыми. Если обнаружение атаки хамелеона PHP включено, файлы, содержащие PHP-код, которые имеют расширения, которые не входят в этот список, будут обнаружены как атаки хамелеона PHP. - -##### «chameleon_from_exe» -- Поиск способных загрузиться заголовков в файлах, которые нельзя ни загрузить, ни определить как архив; поиск способных загрузиться файлов, чьи заголовки не соответствуют требованиям. - -##### «chameleon_to_archive» -- Обнаружение неправильных заголовков в архивах и сжатых файлах. Поддерживаются: BZ/BZIP2, GZ/GZIP, LZF, RAR, ZIP. - -##### «chameleon_to_doc» -- Поиск офисных документов с некорректными заголовками (поддерживаются: DOC, DOT, PPS, PPT, XLA, XLS, WIZ). - -##### «chameleon_to_img» -- Поиск графиков с некорректными заголовками (поддерживаются: BMP, DIB, PNG, GIF, JPEG, JPG, XCF, PSD, PDD, WEBP). - -##### «chameleon_to_pdf» -- Поиск PDF-файлов с некорректными заголовками. - -##### «archive_file_extensions» -- Опознаёт расширение архива или файла (CSV-формат; включать или удалять только при проблемах; удаление без нужны может вызвать для архива сигнал тревоги; включение без нужды может внести в белый список то, что раньше определялось как возможная атака; изменяйте список очень осторожно; помните, что программа не влияет на функцию архива и не может анализировать содержание). Этот список содержит форматы архивов, наиболее часто используемых большинством систем и CMS, однако он не завершён, но сделано это намеренно. - -##### «block_control_characters» -- Должны ли файлы, содержащие командные сигналы (отличные от Newline/конец строки), быть блокированными (`[\x00-\x08\x0b\x0c\x0e\x1f\x7f]`)? При загрузке только «голого» текста Вы можете активировать эту опцию, чтобы усилить защиту своей системы. Но когда она активирована, а Вы хотите загрузить не только текст, то программа подаст Вам ложный сигнал тревоги. False = Не блокировать [Стандарт]; True = Блокировать. - -##### «corrupted_exe» -- Дефектные файлы и разобрать ошибки. False = Игнорировать; True = Блокировать [Стандарт]. Должны ли потенциально дефектные файлы при загрузке проверяться и блокироваться? В случае когда определённые аспекты PE-файла повреждены или могут быть неправильно обработаны, то часто (однако не всегда) они идентифицируются как инфицированные файлы. Многие антивирусные программы используют различные методы по опознанию вирусов в таких файлах. Программисты вирусов, зная об этом, прилагают много усилий к тому, чтобы вирус остался неопознанным. - -##### «decode_threshold» -- Порог числа исходных данных, которые должны узнаваться командой декодирования (если во время процесса сканирования не возникнут ощутимые проблемы производительности). Стандартная установка 512КБ. Ноль или нулевое значение деактивирует ограничение (все такие ограничения нужно устранять, ориентируясь на величину файла). - -##### «scannable_threshold» -- Порог числа исходных данных, которые phpMussel должна прочитать и просканировать (если во время процесса сканирования возникнут ощутимые проблемы производительности). Стандартная установка 32МБ. Ноль или нулевое значение деактивирует ограничения. Основное правило: это значение должно быть меньше среднего объёма загружаемых файлов, которые Вы хотите скачать на свой сервер или веб-страницу, не больше нормы filesize_limit, и не превышать пятой части общей PHP-памяти `php.ini` файлов конфигурации. Эти правила не дают phpMussel использовать слишком большой объём памяти (что препятствовало бы phpMussel успешно сканировать файлы, превышающие определенную величину). - -##### «allow_leading_trailing_dots» -- Разрешить точки в начале и конце имен файлов? Иногда это может быть использовано для скрытия файлов или для обмана некоторых систем для разрешения обхода каталога. False = Не разрешать [Стандарт]. True = Разрешать. - -##### «block_macros» -- Попробуйте заблокировать любые файлы, содержащие макросы? Некоторые типы документов и таблиц могут содержать исполняемые макросы, что создает опасный потенциальный вредоносный вектор. False = Не блокировать [Стандарт]; True = Блокировать. - -#### «compatibility» (Категория) -ДиректиВы совместимости для phpMussel. - -##### «ignore_upload_errors» -- Как правило, эта директива находится в положении False/Деактивировано, если только нет потребности в ней для правильного функционирования phpMussel на вашей системе. При находящейся в положении False/Деактивировано директиве phpMussel, опознав нѐкий элемент в `$_FILES` array(), начинает проверять файлы, представляющие этот элемент. В случае если файлы окажутся пустыми, phpMussel подаёт сигнал тревоги. Это нормальная реакция phpMussel. Однако некоторые CMS нормальными считают пустые элементы в `$_FILES`, и сигнал тревоги подаётся в случае отсутствия пустых элементов. В этой ситуации возникает конфликт между нормальным поведением phpMussel и CMS. Если это касается вашей CMS, то Вам необходимо переключить опцию в позицию True/Активировано, тогда phpMussel не будет искать пустые элементы, а найдя будет их игнорировать, не сообщая об ошибке. Сигнал запроса страницы, таким образом, может продолжаться. False = Деактивировано; True = Активировано. - -##### «only_allow_images» -- Когда установлено в true, любые файлы, обнаруженные сканером, которые не являются изображениями, будут помечены немедленно, без сканирования. Это может помочь сократить время, необходимое для завершения сканирования в некоторых случаях. Стандартное значение false. - -#### «heuristic» (Категория) -Эвристические-директиВы для phpMussel. - -##### «threshold» -- phpMussel имеет определённые сигнатуры, с помощью которых она идентифицирует подозрительные и потенциально вредоносные свойства загружаемых файлов, не проверяя при этом сами файлы на вредоносность. При помощи этой директиВы phpMussel определяет степень опасности подозрительных и потенциально вредоносных файлов, прежде чем назвать их вредоносными. В этой связи, определение степени опасности = это общее количество подозрительных и потенциально вредоносных свойств. Стандартное значение равняется 3. Значение меньше 3, как правило, ведёт к увеличению ложных сигналов тревоги и опознанию большего числа вредных файлов; значение больше 3 вызывает меньшее количество ложных сигналов тревоги и метиться как вредные будет незначительное количество файлов. Оставив это значение таким, Вы должны осознавать проблемы, которые будут вызваны этой установкой. - -#### «virustotal» (Категория) -VirusTotal.com директивы. - -##### «vt_public_api_key» -- Для большей защиты от вирусов, троянов, вредоносных программ и других угроз phpMussel может сканировать файлы с Virus Total API. Стандартная установка = опция Virus Total API деактивирована. Для активизации нужно воспользоваться API-ключом от Virus Total. Эта опция даёт много преимуществ, поэтому рекомендуется её активировать. Важно осознавать: для использования Virus Total API, необходимо согласиться со всеми условиями пользования и соблюдать все директивы, описанные в документах Virus Total! Эту функцию интеграции нельзя применять КРОМЕ: - - Вы прочитали инструкцию по использованию Virus Total и API и согласен с ней. Инструкцию по использованию Virus Total и API можно найти [Здесь](https://www.virustotal.com/en/about/terms-of-service/). - - Как минимум, Вы прочитали предисловие к Virus Total Public API документации и понял о чём речь (всё после „VirusTotal Public API v2.0“ но до „Contents“). Документацию Virus Total публичная API можно найти [Здесь](https://www.virustotal.com/en/documentation/public-api/). - -Примечание: Когда сканирование файлов с Virus Total API деактивировано, то нет нужды проверять директиВы этой категории (`virustotal`), потому что нельзя проверить то, что деактивировано. Для получения Virus Total API ключа, нужно пойти на их веб-страницу и вверху справа найти ссылку «Вступить в сообщество». Указав все требуемые данные, кликните в «Зарегистрироваться». Выполнив все указания, Вы получите открытые API-ключи, скопируйте их и введите API-ключ в `vt_public_api_key` директиву `config.ini` файла конфигурации. - -##### «vt_suspicion_level» -- Допуская файлы к сканированию Virus Total API, phpMussel будет ограничиваться только теми файлами, которые рассматриваются «опасными». Опционально Вы можете регулировать эти ограничения, изменив значение `vt_suspicion_level` директивы. -- `0`: Файлы будут рассматриваться подозрительными только тогда, когда через сканирование собственными подписями phpMussel присвоит им эвристическую степень опасности. Можно считать, что Virus Total API используется как второе мнение в случае, когда phpMussel подозревает, что файл повреждён, и нельзя полностью исключить, что он потенциально безвреден. Обычно такой файл не будет блокироваться или метиться как вредный. -- `1`: Файлы будут восприниматься подозрительными, когда через сканирование собственными подписями phpMussel присвоит им эвристическую степень опасности; когда они являются файлами, которые можно загружать, такие как PE файлы, Mach-O файлы, ELF/Linux файлы и др., или имеют формат макрос, DOC/DOCX, файлы архивов как RAR, ZIP и др. Это нормальная и рекомендуемая степень подозрительности. В случае когда предположительно опасный файл phpMussel не признаёт вредоносным или противоречивым и, следовательно, не блокирует его и не маркирует как опасный, тогда Virus Total API будет использоваться для второго мнения. -- `2`: Virus Total API должна просканировать все файлы, так как все они будет рассматриваться как подозрительные. Я не советую применять эту степень подозрительности, потому что при ней API-лимит достигается намного быстрее, чем обычно. Правда, есть определённые обстоятельства, когда эта степень подозрительности была бы уместной, например, веб-мастер или хост-мастер мало доверяют загружаемому содержанию пользователя. При этой степени подозрительности все файлы, которые обычно не блокируются и не маркируются как вредоносные, будут сканироваться Virus Total API. Помни! phpMussel не будет использовать Virus Total API, если достигнут API-лимит, не зависимо от степени подозрительности. API-лимит, скорее всего, будет достигнут намного быстрее, если использовать эту степень подозрительности. - -Примечание: Независимо от степени подозрительности файлы находящиеся в белом или чёрном списке будут проверятся не phpMussel, а с помощью Virus Total API. Так как эти файлы, просканированные по-другому, перед этим уже были задекларированы как вредные или безвредные, то дополнительное сканирование не требуется. Совместное сканирование файлов phpMussel и Virus Total API предусмотрено для увеличения доверия независимо от ситуации, когда phpMussel не доверяет сам себе в определении вреден ли файл или безвреден. - -##### «vt_weighting» -- Должна phpMussel использовать результаты сканирования с Virus Total API в качестве опознания или как определение степени доверия? Существование этой директиВы объясняется тем, что сканирование файла со многими ядрами должно быть более тщательным (как это делает Virus Total) и, следовательно, будет найдено большее количество вредоносных файлов, что может привести к большему количеству ложных тревог. Есть ситуации, когда результаты сканирования бывают выше степени доверия, и тогда применяется однозначный результат. Применение значения 0 означает, что результаты сканирования будут применяться как опознание. В этом случае phpMussel будет рассматривать файл как вредоносный, если какие-то используемые в сканировании ядра файлов Virus Total обозначил опасными. При установке другого значения, результаты сканирования с Virus Total API будут использоваться как определение степени доверия. Количество используемых Virus Total ядер, обозначающих файл как вредоносный, будет служить степенью доверия (или определением степени доверия). Используемое значение будет определять, какую степень доверия (минимальную или требуемую) примет phpMussel во внимание, чтобы признать сканируемый файл вредоносным или безвредным. Стандартное значение = 0. - -##### «vt_quota_rate» и «vt_quota_time» -- Согласно Virus Total API-документации «Лимит времени, за которое должны обрабатываться 4 любых запроса, составляет 1 минуту. Используя Honeyclient, Honeypot или какую-либо другую активную систему, которая содействует VirusTotal, и не только вызывает сообщения, то Вы имеете право на более высокий лимит времени». phpMussel будет строго придерживаться этого лимита. Для его повышения даны эти две директивы, указывающие phpMussel на какой лимит она должна ориентироваться. Рекомендуется без необходимости это значение не повышать. С возникновением проблем по достижению лимита, уменьшение этого значения должно немного помочь. Твой лимит будет установлен как `vt_quota_rate` запросы любого типа в каждом `vt_quota_time` минутном промежутке времени. - -#### «urlscanner» (Категория) -В phpMussel есть URL сканер, способен обнаружить вредоносные URL-адреса изнутри данных или файлов отсканированных. - -Примечание: Если URL сканер деактивирован, то нет нужды проверять директиВы этой категории (`urlscanner`). - -URL сканер API конфигурация. - -##### «google_api_key» -- Активировать Google Safe Browsing API интеграция если необходимое API ключ вводится. Google Safe Browsing API нужен API ключ для API интеграция, Вы можете получить [Здесь](https://console.developers.google.com/). -- Примечание: cURL расширение требуется для того, чтобы использовать эту функцию. - -##### «maximum_api_lookups» -- Максимально допустимая количество API звонков, которые проводятся в каждом сессии сканирования. Потому каждый дополнительный API запрос, увеличивает время для сессии сканирования, Вы мог бы хотите, чтобы указать предел при определенных обстоятельствах чтобы ускорить процесс сканирования по всему. Если 0 установлен, нет предела применяется. Стандарт, значение установленов 10. - -##### «maximum_api_lookups_response» -- Что должно произойти, если максимальное число допустимых API запросов будет достигнута? False = Не делайте ничего (Продолжить обработку) [Стандарт]; True = Отметить/блокировки файла. - -##### «cache_time» -- Как долго (в секундах) результаты API вызовов, которые должны быть в кэше? Стандарт 3600 секунд (1 час). - -#### «legal» (Категория) -Конфигурация, относящаяся к требованиям законодательства. - -*Для получения дополнительной информации о правовых требованиях и о том, как это может повлиять на ваши требования к конфигурации, обратитесь к разделу «[ЛЕГАЛЬНАЯ ИНФОРМАЦИЯ](#SECTION11)» документации.* - -##### «pseudonymise_ip_addresses» -- Псевдонимный IP-адреса при записи файлов журнала? True = Да [Стандарт]; False = Нет. - -##### «privacy_policy» -- Адрес соответствующей политики конфиденциальности, отображаемый в нижнем колонтитуле любых сгенерированных страниц. Укажите URL-адрес, или оставьте пустым для отключения. - -#### «template_data» (Категория) -Директивы/Переменные для шаблоны и темы. - -Шаблонный данных относится к HTML-вывода, используемый для генерации «Загрузить Отказано» сообщения отображается для пользователей когда/на загрузки/уплоад файлов блокируются. Если Вы используете персонализированные темы для phpMussel, HTML-выход получены из `template_custom.html` файл, а в противном случае, HTML-выход получены из `template.html` файл. Переменные, записанные в этом разделе файл конфигурации обрабатываются на HTML-выход в виде заменой любой имена переменных в окружении фигурных скобках найденный в HTML-вывода с соответствующей переменных данных. Например, где `foo="bar"`, любое вхождение `

{foo}

` найденный в HTML-вывода станет `

bar

`. - -##### «theme» -- Стандартная тема для phpMussel. - -##### «magnification» -- *v1: «Magnification»* -- Увеличение шрифта. Стандарт = 1. - -##### «css_url» -- Шаблонный файл для персонализированные темы использует внешние CSS свойства и шаблонный файл для стандарт тема использует внутренние CSS свойства. Поручить phpMussel использовать персонализированные темы шаблонный файл, указать адрес публичного HTTP в CSS файлов вашей темы используя `css_url` переменная. Если оставить это переменная пустым, phpMussel будет использовать шаблонный файл для стандарт тема. - -#### «PHPMailer» (Категория) -Конфигурация PHPMailer. - -В настоящее время phpMussel использует PHPMailer только для двухфакторной аутентификации на фронтенд. Если вы не используете фронтенд, или если вы не используете двухфакторную аутентификацию для фронтенд, вы можете игнорировать эти директивы. - -##### «event_log» -- *v1: «EventLog»* -- Файл для регистрации всех событий в отношении PHPMailer. Задайте имя файлу, или оставьте пустым чтобы деактивировать опцию. - -##### «skip_auth_process» -- *v1: «SkipAuthProcess»* -- Установка этой директивы на `true` указывает PHPMailer пропустить обычный процесс проверки подлинности, который обычно возникает при отправке электронной почты через SMTP. Этого следует избегать, поскольку пропуская этот процесс может выдать исходящую электронную почту для атак MITM, но может потребоваться в тех случаях, когда этот процесс препятствует подключению PHPMailer к SMTP-серверу. - -##### «enable_two_factor» -- *v1: «Enable2FA»* -- Эта директива включает/отключает использование 2FA для фронтенд счетов. - -##### «host» -- *v1: «Host»* -- Хост SMTP используется для исходящей электронной почты. - -##### «port» -- *v1: «Port»* -- Номер порта для исходящей электронной почты. Стандарт = 587. - -##### «smtp_secure» -- *v1: «SMTPSecure»* -- Протокол для при отправке электронной почты через SMTP (TLS или SSL). - -##### «smtp_auth» -- *v1: «SMTPAuth»* -- Эта директива включает/отключает аутентификацию сессия SMTP (обычно ее следует оставить в покое). - -##### «username» -- *v1: «Username»* -- Имя пользователя для отправки электронной почты через SMTP. - -##### «password» -- *v1: «Password»* -- Пароль для отправки электронной почты через SMTP. - -##### «set_from_address» -- *v1: «setFromAddress»* -- Адрес отправителя для отправки электронной почты через SMTP. - -##### «set_from_name» -- *v1: «setFromName»* -- Имя отправителя для отправки электронной почты через SMTP. - -##### «add_reply_to_address» -- *v1: «addReplyToAddress»* -- Адрес ответа для отправки электронной почты через SMTP. - -##### «add_reply_to_name» -- *v1: «addReplyToName»* -- Имя ответа для отправки электронной почты через SMTP. - -#### «supplementary_cache_options» (Категория) -Дополнительные параметры кэша. - -##### «prefix» -- Указанное здесь значение будет добавлено в начало всех ключей записи кэша. По стандарту пустой. Когда на одном сервере существует несколько установок, это может быть полезно для хранения их кэшей отдельно. - -##### «enable_apcu» -- Указывает, использовать ли APCu для кэширования. Стандарт = False. - -##### «enable_memcached» -- Указывает, использовать ли Memcached для кэширования. Стандарт = False. - -##### «enable_redis» -- Указывает, использовать ли Redis для кэширования. Стандарт = False. - -##### «enable_pdo» -- Указывает, использовать ли PDO для кэширования. Стандарт = False. - -##### «memcached_host» -- Значение хоста Memcached. Стандарт = «localhost». - -##### «memcached_port» -- Значение порта Memcached. Стандарт = «11211». - -##### «redis_host» -- Значение хоста Redis. Стандарт = «localhost». - -##### «redis_port» -- Значение порта Redis. Стандарт = «6379». - -##### «redis_timeout» -- Значение тайм-аута Redis. Стандарт = «2.5». - -##### «pdo_dsn» -- Значение DSN PDO. Стандарт = «`mysql:dbname=phpmussel;host=localhost;port=3306`». - -*Смотрите также: [Что такое «PDO DSN»? Как я могу использовать PDO с phpMussel?](#HOW_TO_USE_PDO)* - -##### «pdo_username» -- Имя пользователя PDO. - -##### «pdo_password» -- Пароль PDO. - ---- - - -### 8. ФОРМАТ СИГНАТУРЕЙ - -*Смотрите также:* -- *[Что такое «сигнатур»?](#WHAT_IS_A_SIGNATURE)* - -Первые 9 байтов `[x0-x8]` файла сигнатуры phpMussel: `phpMussel`. Это действует как «магическое число» (magic number), чтобы идентифицировать их как файлы сигнатуры (это помогает предотвратить случайное использование файлов, которые не являются сигнатурными файлами). Следующий байт `[x9]` определяет тип файла сигнатуры, который phpMussel должен знать, чтобы иметь возможность правильно интерпретировать файл сигнатуры. Признаются следующие типы файлов сигнатур: - -Тип | Байт | Описание ----|---|--- -`General_Command_Detections` | `0?` | Для файлов сигнатуры CSV (с разделителями-запятыми). Значения (сигнатуры) представляют собой строки с шестнадцатеричным кодированием для поиска внутри файлов. Сигнатуры здесь не имеют никаких имен или других деталей. -`Filename` | `1?` | Для сигнатуры имен файлов. -`Hash` | `2?` | Для сигнатуры хэш. -`Standard` | `3?` | Для файлов сигнатуры, которые работают непосредственно с содержимым файла. -`Standard_RegEx` | `4?` | Для файлов сигнатуры, которые работают непосредственно с содержимым файла. Сигнатуры могут содержать регулярные выражения. -`Normalised` | `5?` | Для файлов сигнатуры, которые работают с ANSI-нормализованным содержимым файла. -`Normalised_RegEx` | `6?` | Для файлов сигнатуры, которые работают с ANSI-нормализованным содержимым файла. Сигнатуры могут содержать регулярные выражения. -`HTML` | `7?` | Для файлов сигнатуры, которые работают с HTML-нормализованным содержимым файла. -`HTML_RegEx` | `8?` | Для файлов сигнатуры, которые работают с HTML-нормализованным содержимым файла. Сигнатуры могут содержать регулярные выражения. -`PE_Extended` | `9?` | Для файлов сигнатуры, которые работают с метаданными PE (кроме метаданных секторов PE). -`PE_Sectional` | `A?` | Для файлов сигнатуры, которые работают с метаданных секторов PE. -`Complex_Extended` | `B?` | Для файлов сигнатуры, которые работают с различными правилами на основе расширенных метаданных, сгенерированных phpMussel. -`URL_Scanner` | `C?` | Для файлов сигнатуры, которые работают с URL-адресами. - -Следующий байт: `[x10]`. Это символ новой строки, `[0A]`. На этом завершается заголовок файла сигнатуры phpMussel. - -Каждая непустая строка после этого является сигнатурой или правилом. Каждая сигнатур или правило занимает одну строку. Поддерживаемые форматы сигнатуры описаны ниже. - -#### *СИГНАТУРЫ НАЗВАНИЙ ФАЙЛОВ* -Все сигнатуры названий файлов имеют следующий формат: - -`NAME:FNRX` - -NAME = Название сигнатуры; FNRX = Regex-образец опознания для сравнения (декодированных) названий файлов. - -#### *СИГНАТУРЫ ХЭШ* -Все сигнатуры хэш имеют следующий формат: - -`HASH:FILESIZE:NAME` - -HASH = Это хэш (обычно MD5) всего файла; FILESIZE = Это общий объём файла; NAME = Название сигнатуры. - -#### *PE-СЕКЦИОННЫЕ СИГНАТУРЫ* -Все PE-секционные сигнатуры имеют следующий формат: - -`SIZE:HASH:NAME` - -HASH = Это MD5-Hash одной PE-секции файла; FILESIZE = Общий объём PE-секции; NAME = Название сигнатуры. - -#### *PE РАСШИРЕННЫХ СИГНАТУРЕЙ* -Все PE расширенных сигнатурей имеют следующий формат: - -`$VAR:HASH:SIZE:NAME` - -Where $VAR is the name of the PE variable to match against, HASH is the MD5 hash of that variable, SIZE is the total size of that variable and NAME is the name to cite for that signature. - -#### *КОМПЛЕКС РАСШИРЕННЫХ СИГНАТУРЕЙ* -Сигнатуры, входящие в комплекс расширенных сигнатурей, сильно отличаются от других видов возможных сигнатурей phpMussel. По многим критериям они не согласуются с тем, что специфицируют сигнатуры. Критерии соответствия разделяются между собой «;». Тип и данные каждой критерии соответствия отделяются друг от друга «:». Формат этой сигнатуры выглядит примерно так: - -`$variable1:SOMEDATA;$variable2:SOMEDATA;SignatureName` - -#### *ВСЕ ПРОЧИЕ СИГНАТУРЫ* -Все прочие сигнатуры имеют следующий формат: - -`NAME:HEX:FROM:TO` - -NAME = Название сигнатуры; HEX = Сегмент файла, закодированный в шестнадцатеричный системе счисления (hexadecimal), который будет проверяться вместе с данной подписью. FROM и TO = Опциональный параметры, задающие для проверки старт и конечный пункт в исходных данных. - -#### *REGEX (REGULAR EXPRESSIONS)* -Каждая форма регулярных выражений, понятных и правильно загружаемых PHP, должна также пониматься и phpMussel, чтобы правильно загружать сигнатуры. Будьте крайне осторожны в написании новых сигнатурей, базирующихся на регулярных выражениях. Неумелые действия могут привести к неправильным и/или неожиданным результатам. Если у вас нет абсолютной уверенности, то посмотрите исходный текст phpMussel, описывающий процесс обработки регулярных выражений. Помните, что все поисковые образцы, кроме названия файлов, архива метаданных и MD5-проверочных образцов, должны быть закодированы в шестнадцатеричный системе счисления (за исключением синтаксис, естественно)! - ---- - - -### 9. ИЗВЕСТНЫЕ ПРОБЛЕМЫ СОВМЕСТИМОСТИ - -#### PHP и PCRE -- Чтобы phpMussel могла загрузиться, ей необходимы PHP и PCRE. Без PHP и её PCRE-расширений phpMussel или вообще не сможет загрузиться, или загрузится ненадлежащим образом. Прежде чем скачивать и инсталлировать phpMussel убедитесь, что ваша система имеет PHP и PCRE. - -#### СОВМЕСТИМОСТЬ С АНТИВИРУСНЫМ ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ - -Известно, что проблемы совместимости между phpMussel и некоторыми поставщиками антивирусов иногда возникали в прошлом, так каждые несколько месяцев или около того, я проверяю последние доступные версии кодовая база phpMussel против Virus Total, чтобы увидеть, есть ли там какие-либо проблемы. Когда о проблемах сообщают там, я перечисляю сообщенные проблемы здесь, в документации. - -Когда я последний раз проверял (2022.05.12), проблем не было. - -Я не проверяю файлы сигнатуры, документацию или другое периферийное содержимое. Файлы сигнатур всегда вызывают ложноположительный, когда другие антивирусные решения обнаруживают их. Поэтому я настоятельно рекомендую, если вы планируете установить phpMussel на компьютер, где уже существует другое антивирусное решение, внести в белый список файлы сигнатуры phpMussel. - ---- - - -### 10. ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ (FAQ) - -- [Что такое «сигнатур»?](#WHAT_IS_A_SIGNATURE) -- [Что такое «ложноположительный»?](#WHAT_IS_A_FALSE_POSITIVE) -- [Как часто обновляются сигнатуры?](#SIGNATURE_UPDATE_FREQUENCY) -- [Я столкнулся с проблемой при использовании phpMussel, и я не знаю, что с этим делать! Пожалуйста помоги!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [Я хочу использовать phpMussel (до v2) с версией PHP ниже 5.4.0; Вы можете помочь?](#MINIMUM_PHP_VERSION) -- [Я хочу использовать phpMussel (v2) с версией PHP ниже 7.2.0; Вы можете помочь?](#MINIMUM_PHP_VERSION_V2) -- [Могу ли я использовать одну установку phpMussel для защиты нескольких доменов?](#PROTECT_MULTIPLE_DOMAINS) -- [Я не хочу возиться с установкой этого и заставить его работать с моим сайтом; Могу я просто заплатить вам за все это?](#PAY_YOU_TO_DO_IT) -- [Могу ли я нанять вас или любого из разработчиков этого проекта для частной работы?](#HIRE_FOR_PRIVATE_WORK) -- [Мне нужны модификации специалиста, настройки и т.д; Вы можете помочь?](#SPECIALIST_MODIFICATIONS) -- [Я разработчик, веб-дизайнер, или программист. Могу ли я принять или предложить работу, связанную с этим проектом?](#ACCEPT_OR_OFFER_WORK) -- [Я хочу внести свой вклад в проект; Я могу сделать это?](#WANT_TO_CONTRIBUTE) -- [Как получить доступ к конкретным сведениям о файлах при их сканировании?](#SCAN_DEBUGGING) -- [Могу ли я использовать cron для автоматического обновления?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [Может ли phpMussel сканировать файлы без имен ANSI?](#SCAN_NON_ANSI) -- [Черные списки – Белые списки – Серые списки – Каковы они и как их использовать?](#BLACK_WHITE_GREY) -- [Когда я активирую или деактивирую файлы сигнатуры на странице обновлений, он сортирует их по алфавиту в конфигурации. Могу ли я изменить способ сортировки?](#CHANGE_COMPONENT_SORT_ORDER) -- [Что такое «PDO DSN»? Как я могу использовать PDO с phpMussel?](#HOW_TO_USE_PDO) -- [Моя функция загрузки асинхронна (например, использует ajax, ajaj, json и т.д.). Я не вижу специальных сообщений или предупреждений, когда загрузка заблокирована. В чем дело?](#AJAX_AJAJ_JSON) -- [Может ли phpMussel обнаружить EICAR?](#DETECT_EICAR) - -#### Что такое «сигнатур»? - -В контексте phpMussel, «сигнатур» относится к данным, которые служат идентификатор/индикатором того, что мы ищем, обычно в виде какого-то очень маленького, отчетливого, безобидного сегмента чего-то большего и в противном случае вредного, как вирус или троянец, или в виде контрольной суммы файла, хэша или другого аналогично идентифицирующего индикатора, и обычно включает ярлык, И некоторые другие данные, чтобы помочь предоставить дополнительный контекст, который может быть использован phpMussel для определения наилучшего способа продолжения, когда он встречает то, что мы ищем. - -#### Что такое «ложноположительный»? - -Термин «ложноположительный» (*альтернативно: «ложноположительными ошибка»; «ложная сигнализация»*; Английский: *false positive*; *false positive error*; *false alarm*), описал очень просто, и в обобщенном контексте, используется при проверке условия, для ссылаясь на результаты этого теста, когда результаты будут положительный (то есть, условия определяется будут «положительный», или «истинно»), но как ожидается будет (или должно было) отрицательный (то есть, условие, в действительности, является «отрицательный», или «ложно»). Термин «ложноположительный» можно было бы считать аналогом «плачет волк» (английский идиома в которой условие проверяется является ли там волк возле стада, условие является «ложно» в том, что нет никакого волка возле стада, и условие сообщается «положительный» посредством пастух путем кричать «волк, волк»), или аналогично ситуации в медицинском тестировании в которой пациент диагностирован как какую-то болезнь, когда в действительности, у них нет болезни. - -Связанные результаты при проверке условия можно описать с использование терминов «истинноположительный», «истинноотрицательный» и «ложноотрицательный». «Истинноположительный» описывает когда результаты испытаний и фактическое состояние условия оба являются истинными (или положительные), и «истинноотрицательный» описывает когда результаты испытаний и фактическое состояние условия оба являются ложными (или отрицательные); «Истинноположительный» или «истинноотрицательный» рассматриваются как «правильный вывод». Противоположностью «ложноположительный» является «ложноотрицательный»; «Ложноотрицательный» описывает когда результаты испытаний отрицательные (то есть, условие определяется как отрицательные, или ложными), но как ожидается будет (или должно было) положительные (то есть, условие, в действительности, является «положительный», или «истинно»). - -В контексте phpMussel, эти термины относятся к сигнатур phpMussel и файлы которые они блокируют. Когда phpMussel блокирует файл из-за плохой, устаревшей или неправильной сигнатур, но не должно быть сделано, или когда он делает это по неправильным причинам, мы называем это событие как «ложноположительный». Когда phpMussel не удается блокировать файл, который должен был быть заблокированы, из-за непредвиденных угроз, недостающие сигнатур или недостатки в своих сигнатурей, мы называем это событие как «обнаружение не удалось» (аналогична «ложноотрицательный»). - -Это может быть суммированы в таблице ниже: - -  | phpMussel *НЕ* должны блокировать файл | phpMussel *ДОЛЖНЫ* блокировать файл ----|---|--- -phpMussel *НЕ* блокирует файл | Истинноотрицательный (правильный вывод) | Обнаружение не удалось (аналогична ложноотрицательный) -phpMussel *ДЕЛАЕТ* блокирует файл | __Ложноположительный__ | Истинноположительный (правильный вывод) - -#### Как часто обновляются сигнатуры? - -Частота обновления зависит от файлов сигнатур. Предпринята попытка обновить файлов сигнатур в максимально возможной степени, но, потому всех нас есть различные другие обязательства, наша жизнь вне проекта, и мы не получаем материальной компенсации (т.е., оплата) за наши усилия по проекту, точный график обновления не может быть гарантирован. В общем, обновления происходят, когда есть время. Помощь всегда приветствуется, если Вы готовы предложить любую. - -#### Я столкнулся с проблемой при использовании phpMussel, и я не знаю, что с этим делать! Пожалуйста помоги! - -- Используете ли Вы последнюю версию программного обеспечения? Используете ли Вы последние версии ваших файлов сигнатуры? Если ответ на любой из этих двух вопросов отрицательный, попробуйте сначала обновить все, и попытайтесь решить проблема. Если оно сохраняется, продолжайте чтение. -- Вы проверили всю документацию? Если нет, сделайте это. Если проблема не может быть решена с помощью документации, продолжите чтение. -- Вы проверили **[странице «issues»](https://github.com/phpMussel/phpMussel/issues)**, чтобы узнать упоминалась ли эта проблема ранее? Если это было уже упоминалось, проверить были ли предоставлены какие-либо предложения, идеи и/или решения, и следуйте по необходимости чтобы попытаться решить проблема. -- Если проблема не решена, пожалуйста, обратитесь за помощью, создав новую «issue» на странице «issues». - -#### Я хочу использовать phpMussel (до v2) с версией PHP ниже 5.4.0; Вы можете помочь? - -Нет. PHP >= 5.4.0 является минимальным требованием для phpMussel < v2. - -#### Я хочу использовать phpMussel (v2) с версией PHP ниже 7.2.0; Вы можете помочь? - -Нет. PHP >= 7.2.0 является минимальным требованием для phpMussel v2. - -*Смотрите также: [Графики Совместимости](https://maikuolan.github.io/Compatibility-Charts/).* - -#### Могу ли я использовать одну установку phpMussel для защиты нескольких доменов? - -Да. phpMussel инсталляций не привязаны к определенным домены, и поэтому может использоваться для защиты нескольких доменов. В общем, мы ссылаемся на phpMussel инсталляций, защищающие только один домен, как «однодоменные инсталляций», и мы ссылаемся на phpMussel инсталляций, защищающие несколько доменов и/или поддоменов, как «многодоменные инсталляций». Если Вы используете многодоменную инсталляция, и необходимо использовать разные файлы сигнатур для разных доменов, или необходимо настроить phpMussel по-разному для разных доменов, это можно сделать. После загрузки файла конфигурации (`config.ini`), phpMussel проверит наличие «файл переопределения конфигурации» специфичные для запрашиваемого домена или поддомена (`xn----7sbaabjijgdno9cdqkbchu3o.tld.config.ini`), и если он будет найден, любые значений конфигурации, определенные в файл переопределения конфигурации, будет использоваться для экземпляра выполнения вместо значений конфигурации, определенных конфигурационным файлом. Конфигурация переопределяет файлы, идентичные конфигурационному файлу, и на Ваше усмотрение, Может содержать все директивы конфигурации, доступные для phpMussel, или какой бы небольшой подсекция требуется, при необходимости. Имена для конфигурация переопределяет файлов соответствуют домену для которого они предназначены (так, например, если Вам нужен файл переопределения конфигурации для домена, `https://www.some-domain.tld/`, его файл переопределения конфигурации должен иметь имя `some-domain.tld.config.ini`, и должен быть помещен в `vault`, вместе с файлом конфигурации, `config.ini`). Доменные имена извлекаются из заголовка `HTTP_HOST` запроса; «www» игнорируется. - -#### Я не хочу возиться с установкой этого и заставить его работать с моим сайтом; Могу я просто заплатить вам за все это? - -Может быть. Это рассматривается в каждом конкретном случае. Расскажите, что вам нужно, что Вы предлагаете, и мы расскажем вам, можем ли мы помочь. - -#### Могу ли я нанять вас или любого из разработчиков этого проекта для частной работы? - -*См. Выше.* - -#### Мне нужны модификации специалиста, настройки и т.д; Вы можете помочь? - -*См. Выше.* - -#### Я разработчик, веб-дизайнер, или программист. Могу ли я принять или предложить работу, связанную с этим проектом? - -Да. Наша лицензия не запрещает это. - -#### Я хочу внести свой вклад в проект; Я могу сделать это? - -Да. Вклады в проект очень приветствуются. Для получения дополнительной информации см. «CONTRIBUTING.md». - -#### Как получить доступ к конкретным сведениям о файлах при их сканировании? - -Вы можете сделать это, назначив массив для использования для этой цели, прежде чем указывать phpMussel для их сканирования. - -В приведенном ниже примере, Для этой цели назначается `$Foo`. После сканирования `/путь/к/файлу/...`, подробная информация о файлах, содержащихся в `/путь/к/файлу/...`, будет содержаться в `$Foo`. - -```PHP -Могу ли я использовать cron для автоматического обновления? - -Да. API встроен в фронтенд для взаимодействия со обновления страница через внешние скрипты. Имеется отдельный скрипт: «[Cronable](https://github.com/Maikuolan/Cronable)». Он может использоваться вашим cron manager или cron scheduler для автоматического обновления этого и других поддерживаемых пакетов (этот скрипт предоставляет собственную документацию). - -#### Может ли phpMussel сканировать файлы без имен ANSI? - -Допустим, есть каталог, который вы хотите отсканировать. В этом каталоге у вас есть файлы с именами, отличными от ANSI. -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -Предположим, что вы используете режим CLI или API phpMussel для сканирования. - -При использовании PHP < 7.1.0, в некоторых системах, phpMussel не будет видеть эти файлы при попытке сканирования каталога и, следовательно, не сможет сканировать эти файлы. Вероятно, вы увидите те же результаты, что и при сканировании пустого каталога: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Начало работы. - Sun, 01 Apr 2018 22:27:41 +0800 Готово. -``` - -Дополнительно, при использовании PHP < 7.1.0, сканирование файлов по отдельности приводит к таким результатам: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Начало работы. - > Проверить 'X:/directory/Пример.txt' (FN: b831eb8f): - -> Неверный файл! - Sun, 01 Apr 2018 22:27:41 +0800 Готово. -``` - -Или эти: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Начало работы. - > X:/directory/??????.txt не файл или каталог. - Sun, 01 Apr 2018 22:27:41 +0800 Готово. -``` - -Это связано с тем, как PHP обрабатывал имена файлов, отличных от ANSI, до PHP 7.1.0. Если у вас возникла эта проблема, решение состоит в том, чтобы обновить вашу установку PHP до 7.1.0 или новее. В PHP >= 7.1.0, имена файлов, которые не являются ANSI, обрабатываются лучше, и phpMussel должен иметь возможность правильно сканировать файлы. - -Для сравнения, результаты при попытке сканирования каталога с помощью PHP >= 7.1.0: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Начало работы. - -> Проверить '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> Проблемы не найдены. - -> Проверить '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> Проблемы не найдены. - -> Проверить '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> Проблемы не найдены. - Sun, 01 Apr 2018 22:27:41 +0800 Готово. -``` - -И попытаться отсканировать файлы по отдельности: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Начало работы. - > Проверить 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> Проблемы не найдены. - Sun, 01 Apr 2018 22:27:41 +0800 Готово. -``` - -#### Черные списки – Белые списки – Серые списки – Каковы они и как их использовать? - -Термины передают различные значения в разных контекстах. В phpMussel существуют три контекста, в которых используются эти термины: Ответ размер файла, ответ тип файла, и серые списки сигнатуры. - -Для достижения желаемого результата при минимальных затратах на обработку, есть некоторые простые вещи, которые phpMussel может проверить до фактического сканирования файлов, такие как размер, имя и расширение файла. Например; Если файл слишком велик, или если его расширение указывает тип файла, который мы не хотим разрешать на наших веб-сайтах, мы можем немедленно пометить файл и не нужно его сканировать. - -Ответ размер файла: Так реагирует phpMussel, когда файл превышает указанный предел. Никаких фактических списков не задействован, но файл может считаться эффективно занесенным в черный список, белый список, или серый список, в зависимости от его размера. Существуют две отдельные опциональные директивы конфигурации для указания предела и желаемого ответа соответственно. - -Ответ тип файла: Так реагирует phpMussel на расширение файла. Существуют три отдельные опциональные директивы конфигурации, позволяющие явно указывать, какие расширения должны быть занесены в черный список, белый список, или серый список. Файл может считаться эффективно занесенным в черный список, белый список, или серый список, если его расширение соответствует любому из указанных расширений соответственно. - -В этих двух контекстах, включение в белый список означает, что оно не должно сканироваться или пометить; включение в черный список означает, что оно должно быть пометито (и поэтому нам не нужно сканировать его); и включение в серый список означает, требуется дальнейший анализ, чтобы определить, следует ли его пометить (то есть, он должен быть отсканирован). - -Серые списки сигнатуры: Список сигнатурей, которые следует по существу игнорировать (это кратко упоминается ранее в документации). Когда срабатывает сигнатуры в серый список, phpMussel продолжает работать через свои сигнатуры и не предпринимает особых действий в отношении сигнатуры на серый список. Нет черного списка сигнатур, потому что подразумеваемое поведение то же самое как нормальное поведение для инициированных сигнатурей в любом случае, и нет белого списка сигнатур, потому что подразумеваемое поведение не имеет особого смысла в отношении того, как работает phpMussel и функциональность, которая уже существует. - -Серый список: Полезен, если вам нужно разрешить проблемы, вызванные конкретной сигнатурой, без отключения или удаления всего файла сигнатуры. - -#### Когда я активирую или деактивирую файлы сигнатуры на странице обновлений, он сортирует их по алфавиту в конфигурации. Могу ли я изменить способ сортировки? - -Да. Если вам нужно заставить некоторые файлы выполнить в определенном порядке, вы можете добавить некоторые произвольные данные до их имен в директиве конфигурации, где они указаны, разделенные двоеточием. Когда страница обновлений впоследствии сортирует файлы снова, эти добавленные произвольные данные будут влиять на порядок сортировки, в результате чего они должны выполняться в том порядке, в котором вы хотите, без необходимости переименовывать их. - -Например, предполагая конфигурационную директиву с файлами, перечисленными ниже: - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -Если вы хотите, чтобы `file3.php` выполнялся первым, вы могли бы добавить что-то вроде `aaa:` перед именем файла: - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -Затем, если новый файл, `file6.php`, активирован, когда страница обновлений снова сортирует их все, это должно закончиться следующим образом: - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -Такая же ситуация, когда файл деактивирован. Наоборот, если вы хотите, чтобы файл выполнялся последним, вы могли бы добавить что-то вроде `zzz:` перед именем файла. В любом случае вам не нужно будет переименовывать указанный файл. - -#### Что такое «PDO DSN»? Как я могу использовать PDO с phpMussel? - -«PDO» является акроним для «[PHP Data Objects](https://www.php.net/manual/ru/intro.pdo.php)» (объектов данных PHP). Он предоставляет интерфейс для PHP, чтобы иметь возможность подключаться к некоторым системам баз данных, обычно используемым различными приложениями PHP. - -«DSN» является акроним для «[data source name](https://en.wikipedia.org/wiki/Data_source_name)» (имени источника данных). «PDO DSN» описывает как PDO должен подключаться к базе данных. - -phpMussel предоставляет возможность использовать PDO для целей кэширования. Чтобы это работало должным образом, вам необходимо соответствующим образом настроить phpMussel, включив PDO, создать новую базу данных для phpMussel использовать (если вы еще не имеете в виду базу данных для phpMussel использовать), и создать новую Таблица в вашей базе данных в соответствии со структурой, описанной ниже. - -Когда соединение с базой данных успешно, но необходимая таблица не существует, автоматическое создание таблицы будет предпринято. Тем не менее, это поведение не было тщательно проверено, и успех не может быть гарантирован. - -Это, конечно, применимо, только если вы действительно хотите, чтобы phpMussel использовал PDO. Если вы достаточно довольны тем, что phpMussel использует кэширование плоских файлов (в соответствии с его конфигурацией по умолчанию) или любые другие предоставляемые опции кэширования, вам не нужно беспокоиться о настройке баз данных, таблиц, и т.д. - -Структура, описанная ниже, использует «phpmussel» в имени базы данных, но вы можете использовать любое имя, которое вы хотите для своей базы данных, при условии, что это же имя реплицируется в конфигурации DSN. - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -Директива конфигурации phpMussel `pdo_dsn` должна быть настроена, как описано ниже. - -``` -Согласно базе данных драйвер используется... -├─4d (Предупреждение: экспериментально, не проверено, не рекомендуется!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └Хост, с которым нужно связаться, чтобы найти базу данных. -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └Имя базы данных для -│ │ │ использования. -│ │ │ -│ │ └Номер порта для подключения к хосту. -│ │ -│ └Хост, с которым нужно связаться, чтобы найти базу данных. -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └Имя базы данных для использования. -│ │ │ -│ │ └Хост, с которым нужно связаться, чтобы найти базу данных. -│ │ -│ └Возможные значения: «mssql», «sybase», «dblib». -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├Может быть путем к файлу локальной базы данных. -│ │ -│ ├Может соединиться с хостом и номером порта. -│ │ -│ └Вам следует обратиться к документации Firebird, если вы -│ хотите использовать это. -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └Каталогизированная база данных для связи. -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └Каталогизированная база данных для связи. -├─mysql (Наиболее рекомендуется!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └Номер порта для подключения к -│ │ │ хосту. -│ │ │ -│ │ └Хост, с которым нужно связаться, чтобы найти -│ │ базу данных. -│ │ -│ └Имя базы данных для использования. -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├Может ссылаться на конкретную каталогизированную базу данных. -│ │ -│ ├Может соединиться с хостом и номером порта. -│ │ -│ └Вам следует обратиться к документации Oracle, если вы хотите -│ использовать это. -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├Может ссылаться на конкретную каталогизированную базу данных. -│ │ -│ ├Может соединиться с хостом и номером порта. -│ │ -│ └Вам следует обратиться к документации ODBC/DB2, если вы хотите -│ использовать это. -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └Имя базы данных для использования. -│ │ │ -│ │ └Номер порта для подключения к хосту. -│ │ -│ └Хост, с которым нужно связаться, чтобы найти базу данных. -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └Путь к файлу локальной базы данных для использования. -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └Имя базы данных для использования. - │ │ - │ └Номер порта для подключения к хосту. - │ - └Хост, с которым нужно связаться, чтобы найти базу данных. -``` - -Если вы не уверены, что использовать для какой-либо конкретной части вашего DSN, попробуйте сначала выяснить, работает ли она как есть, ничего не меняя. - -Обратите внимание, что `pdo_username` и `pdo_password` должны совпадать с именем пользователя и паролем, которые вы выбрали для своей базы данных. - -#### Моя функция загрузки асинхронна (например, использует ajax, ajaj, json и т.д.). Я не вижу специальных сообщений или предупреждений, когда загрузка заблокирована. В чем дело? - -Это нормально. Стандартная страница phpMussel «Загрузка Отказана» обслуживается как HTML, которого должно быть достаточно для типичных синхронных запросов, но этого, вероятно, будет недостаточно если ваше функция загрузки ожидает чего-то другого. Если ваша функция загрузки является асинхронной или ожидает, что статус загрузки будет обслуживаться асинхронно, есть некоторые вещи которые вы можете попробовать сделать чтобы phpMussel соответствовал вашим функциональным возможностям загрузки. - -1. Создание собственного шаблона вывода для обслуживания чего-то другого, кроме HTML. -2. Создание собственного плагина, позволяющего полностью обойти стандартную страницу «Загрузка Отказана» и, чтобы функция загрузки делает что-то еще, когда загрузка заблокирована (есть некоторые кодовые точки, предоставляемые обработчиком загрузка, которые могут быть полезны для этого). -3. Полностью отключите обработчик загрузки и просто вызовите phpMussel API из вашей функции загрузки. - -#### Может ли phpMussel обнаружить EICAR? - -Да. Сигнатуры для обнаружения EICAR включена в «файл сигнатуры стандартных регулярных выражений phpMussel» (`phpmussel_regex.db`). Пока этот файл сигнатуры установлен и активирован, phpMussel должен уметь обнаруживать EICAR. Поскольку база данных ClamAV также включает множество сигнатур специально для обнаружения EICAR, ClamAV может легко обнаружить EICAR, но поскольку phpMussel использует только сокращенное подмножество сигнатур, предоставляемых ClamAV, их самих может быть недостаточно для phpMussel для обнаружения EICAR. Возможность его обнаружения также может зависеть от вашей точной конфигурации. - ---- - - -### 11. ЛЕГАЛЬНАЯ ИНФОРМАЦИЯ - -#### 11.0 ПРЕАМБУЛА РАЗДЕЛА - -Этот раздел документации предназначен для описания возможных юридических соображений, касающихся использования и реализации пакета, и предоставления некоторой базовой связанной информации. Это может быть важно для некоторых пользователей в качестве средства обеспечения соответствия любым юридическим требованиям, которые могут существовать в странах, в которых они работают, и некоторым пользователям, возможно, придется корректировать свои политики веб-сайта в соответствии с этой информацией. - -Прежде всего, поймите, что я (автор пакета) не квалифицированный юрист любого рода. Поэтому я не имею юридической силы для предоставления юридических консультаций. Кроме того, в некоторых случаях, точные законодательные требования могут различаться между различными странами и юрисдикциями, и эти различные юридические требования могут иногда противоречить (таких как, например, в случае стран, которые поддерживают права на [неприкосновенность частной жизни](https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%BF%D1%80%D0%B8%D0%BA%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%BE%D0%B9_%D0%B6%D0%B8%D0%B7%D0%BD%D0%B8), и [право быть забытым](https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B0%D0%B2%D0%BE_%D0%BD%D0%B0_%D0%B7%D0%B0%D0%B1%D0%B2%D0%B5%D0%BD%D0%B8%D0%B5), по сравнению с странами, которые предпочитают [расширенное хранение данных](https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BA%D0%BE%D0%BD_%D0%AF%D1%80%D0%BE%D0%B2%D0%BE%D0%B9)). Учтите также, что доступ к пакету не ограничивается конкретными странами или юрисдикциями, и, следовательно, пользовательская база пакетов, вероятно, будет географически разнообразной. При рассмотрении этих вопросов, я не в состоянии заявить, что это означает быть «юридически совместимым» для всех пользователей, во всех отношениях. Однако я надеюсь, что приведенная здесь информация поможет вам самим принять решение о том, что вы должны сделать, чтобы оставаться юридически совместимым в контексте пакета. Если у вас есть какие-либо сомнения относительно информации, или если вам нужна дополнительная помощь и рекомендации с юридической точки зрения, Я бы рекомендовал обратиться к квалифицированному юристу. - -#### 11.1 ОТВЕТСТВЕННОСТЬ - -В соответствии с уже заявленной лицензией на пакет, пакет предоставляется без каких-либо гарантий. Это включает (но не ограничивается) всю сферу ответственности. Пакет предоставляется вам для вашего удобства, в надежде, что он будет полезен, и что он принесет вам определенную пользу. Однако, независимо от того, используете ли вы или реализуете пакет, это ваш собственный выбор. Вы не обязаны использовать или внедрять пакет, но когда вы это делаете, вы несете ответственность за это решение. Ни я, ни другие участники пакета не несут юридическую ответственность за последствия решений, которые вы принимаете, независимо от того, являются ли они прямыми, косвенными, подразумеваемыми или нет. - -#### 11.2 ТРЕТЬИ ЛИЦА - -В зависимости от его точной конфигурации и реализации пакет может передавать и обмениваться информацией с третьими лицами в некоторых случаях. Эта информация может быть определена как «[персональные данные](https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5)» (PII/ПИИ) в некоторых контекстах, в некоторых юрисдикциях. - -Как эта информация может использоваться этими третьими лицами, зависит от различных политик, установленных этими третьими лицами, и выходит за рамки этой документации. Однако, во всех таких случаях обмен информацией с этими третьими лицами может быть отключен. Во всех таких случаях, если вы решите включить его, вы несете ответственность за исследование любых проблем, которые могут возникнуть в отношении конфиденциальности, безопасности и использования PII/ПИИ этими третьими лицами. Если существуют какие-либо сомнения, или если вы неудовлетворены действиями этих третьих сторон в отношении PII/ПИИ, лучше всего отключить весь обмен информацией с этими третьими лицами. - -В целях прозрачности тип информации, совместно используемой, и с кем, описан ниже. - -##### 11.2.0 ВЕБ ФОНТЫ - -Некоторые пользовательские темы, а также стандартный «UI» (пользовательский интерфейс) для фронтенд phpMussel и страница «Загрузка Отказана» могут использовать веб фонты по эстетическим соображениям. Веб фонты отключен по умолчанию, но когда он включен, происходит прямая связь между браузером пользователя и сервисом, на котором размещаются веб-сайты. Это может потенциально включать в себя передачу информации, такой как IP-адрес пользователя, пользовательский агент, операционная система и другие данные, доступные для запроса. Большинство этих веб фонтов размещены службой [Google Fonts](https://fonts.google.com/). - -*Соответствующие директивы конфигурации:* -- `general` -> `disable_webfonts` - -##### 11.2.1 СКАНЕР URL - -URL-адреса, найденные в файлах, могут быть переданы API Google Safe Browsing, в зависимости от того, как настроен пакет. Для правильной работы API Google Safe Browsing требуется использовать ключи API, поэтому по умолчанию он отключен. - -*Соответствующие директивы конфигурации:* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -Когда phpMussel сканирует загрузку файла, хэши этих файлов могут использоваться совместно с API Total Virus, в зависимости от того, как настроен пакет. Планируется также возможность совместного использования файлов в определенный момент в будущем, но эта функция не поддерживается пакетом в настоящее время. API Virus Total требуется ключ API для правильной работы, и поэтому отключен по умолчанию. - -Информация (включая файлы и связанные метаданные файлов), отправленные в Virus Total, также могут быть отправлены их партнерам, аффилированным и другим в исследовательских целях. Это более подробно описано в их политике конфиденциальности. - -*Видеть: [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*Соответствующие директивы конфигурации:* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 ЖУРНАЛОВ - -Журналов (альтернативно: регистрация, логгинг) – Это важная часть phpMussel по ряду причин. Без регистрируются может быть трудно диагностировать ложные-срабатывания, чтобы точно определить, насколько эффективный phpMussel в любом конкретном контексте, и может быть трудно определить, где его недостатки могут быть, и какие изменения могут потребоваться для его конфигурации или сигнатуры соответственно, чтобы он продолжал функционировать по назначению. Несмотря на это, регистрация может быть нежелательна для всех пользователей и остается полностью необязательной. Несмотря на это, регистрация может быть нежелательна для всех пользователей и остается полностью необязательной. В phpMussel регистрация по умолчанию отключена. Чтобы включить его, phpMussel должен быть настроен соответствующим образом. - -Дополнительно, ли ведение журнала разрешено законом, и в какой степени (например, типы информации, которые могут быть зарегистрированы, как долго, и при каких обстоятельствах), может варьироваться в зависимости от юрисдикции и контекста, в котором реализуется phpMussel (например, если вы работаете как индивидуальный лицо, корпоративный лицо, если вы работаете на коммерческой или некоммерческой основе). Поэтому это может быть полезно для вас внимательно прочитать этот раздел. - -phpMussel может выполнять несколько типов ведения журнала. Различные типы ведения журнала включают различные типы информации по разным причинам. - -##### 11.3.0 СКАНИРОВАНИЕ ЖУРНАЛОВ - -Когда включено в конфигурации пакета, phpMussel хранит журналы файлов, которые он сканирует. Этот тип ведения журнала доступен в двух разных форматах: -- Человекочитаемые лог-файлы. -- Сериализованные лог-файлы. - -Записи в человекочитаемые лог-файлы обычно выглядят примерно так (в качестве примера): - -``` -Mon, 21 May 2018 00:47:58 +0800 Начало работы. -> Проверить 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> Обнаружено phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 Готово. -``` - -Запись журнала сканирования обычно включает следующую информацию: -- Дата и время сканирования файла. -- Имя сканируемого файла. -- CRC32b хеши имени и содержимого файла. -- Что было обнаружено в файле (если что-то было обнаружено). - -*Соответствующие директивы конфигурации:* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -Когда эти директивы остаются пустыми, этот тип ведения журнала останется отключенным. - -##### 11.3.1 ЗАБЛОКИРОВАННЫЕ ЗАГРУЗКИ - -Когда включено в конфигурации пакета, phpMussel сохраняет журналы заблокированных загрузок. - -Записи в этом типе файла журнала обычно выглядят примерно так (в качестве примера): - -``` -Дата: Mon, 21 May 2018 00:47:56 +0800 -IP-адрес: 127.0.0.1 -== Результаты сканирования (почему помечены) == -Обнаружено phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)! -== Реконструкция хэш-сигнатур == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -Помещен на карантин в «/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu». -``` - -Запись обычно включает следующую информацию: -- Дата и время, когда загрузка была заблокирована. -- IP-адрес, из которого произошла загрузка. -- Причина, по которой файл был заблокирован (что было обнаружено). -- Имя файла заблокировано. -- MD5 и размер файла заблокированы. -- Был ли файл помещен в карантин и под каким внутренним именем. - -*Соответствующие директивы конфигурации:* -- `general` -> `scan_kills` - -##### 11.3.2 ФРОНТЕНД ЖУРНАЛОВ - -Этот тип ведения журнала связан с попытками входа в фронтенд и возникает только тогда, когда пользователь пытается войти в фронтенд (при условии, что фронтенд включен). - -Эти записи журнала содержат IP-адрес пользователя, пытающегося войти в систему, дату и время совершения попытки, и результаты попытки (успешно вошел в систему или не смог войти в систему). Обычно они выглядят примерно так (в качестве примера): - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - Вошли в систему. -``` - -*Соответствующие директивы конфигурации:* -- `general` -> `frontend_log` - -##### 11.3.3 ВРАЩЕНИЕ ЖУРНАЛА - -Возможно, вы захотите очистить журналы через определенный промежуток времени или, возможно, потребуется сделать это по закону (то есть, количество времени, которое законно допустимо для вас сохранять журналы, может быть ограничено законом). Вы можете достичь этого, включив маркеры даты/времени в имена ваших файлов журналов в соответствии с настройками вашего пакета (например, `{yyyy}-{mm}-{dd}.log`), и затем разрешить вращение журнала (поворот журнала позволяет выполнять некоторые действия на лог-файлах при превышении указанных пределов). - -Например: Если мне было необходимо закончить журналы через 30 дней, я мог бы указать `{dd}.log` в именах моих лог-файлов (`{dd}` представляет дни), установить значение `log_rotation_limit` в 30, и установить значение `log_rotation_action` в `Delete`. - -И наоборот, если вам необходимо сохранять журналы в течение длительного периода времени, вы можете либо не использовать поворот журнала вообще, либо вы можете установить значение `log_rotation_action` в `Archive`, чтобы сжать лог-файлы, тем самым уменьшив общий объем занимаемого ими дискового пространства. - -*Соответствующие директивы конфигурации:* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 УСЕЧЕНИЕ ЖУРНАЛА - -Также возможно обрезать отдельные лог-файлы, если они превышают определенный размер, если это то, что вы хотите/нуждаетесь сделать. - -*Соответствующие директивы конфигурации:* -- `general` -> `truncate` - -##### 11.3.5 ПСЕВДОНИМИЗАЦИЯ IP-АДРЕСА - -Во-первых, если вы не знакомы с термином, «псевдонимизация» относится к обработке персональных данных таким образом, что она не может быть идентифицирована ни с каким конкретным объектом данных без дополнительной информации, и при условии, что такая дополнительная информация поддерживается отдельно и подлежит техническим и организационным мерам для обеспечения того, чтобы личные данные не могли быть идентифицированы ни одному физическому лицу. - -В некоторых случаях вам может быть юридически требуется анонимизировать или псевдонимизировать любого PII/ПИИ, собранного, обработанного, или сохраненного. Хотя эта концепция существует уже довольно давно, GDPR/DSGVO особенно упоминает и специально поощряет «псевдонимизация». - -phpMussel может псевдонимизировать IP-адреса при входе в журналы, если это то, что вы хотите/нуждаетесь сделать. Когда phpMussel псевдонимизирует IP-адреса, при входе в журналы, окончательный октет адресов IPv4, и все после второй части адресов IPv6 представлено символом «x» (эффективно округляя адреса IPv4 до начального адреса 24-й подсети, в которую они входят, и адреса IPv6 на начальный адрес 32-й подсети, в которую они входят). - -*Соответствующие директивы конфигурации:* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 СТАТИСТИКА - -phpMussel по желанию может отслеживать статистику, такую как общее количество файлов, отсканированных и заблокированных с определенного момента времени. Эта функция отключена по умолчанию, но можно включить с помощью конфигурации пакета. Тип отслеживаемой информации не должен рассматриваться как PII/ПИИ. - -*Соответствующие директивы конфигурации:* -- `general` -> `statistics` - -##### 11.3.7 ШИФРОВАНИЕ - -phpMussel не шифрует свой кэш или какую-либо информацию журнала. [Шифрование](https://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5) кэша и журналов могут быть введены в будущем, но в настоящее время нет конкретных планов. Если вы обеспокоены тем, что несанкционированные сторонние лица получают доступ к частям phpMussel, которые могут содержать PII/ПИИ или конфиденциальную информацию, такую как ее кэш или журналы, я бы рекомендовал, чтобы phpMussel не был установлен в общедоступном месте (например, установить phpMussel за пределами стандартного каталога `public_html` или его эквивалента, доступного большинству стандартных веб-серверов) и я рекомендую применять соответствующие ограничительные разрешения для каталога установки (в частности, для каталога «vault»). Если этого недостаточно для решения ваших проблем, настройте phpMussel таким образом, чтобы типы информации, вызывающие ваши проблемы, не собирались или не регистрировались в первую очередь (например, путем отключения ведения журнала). - -#### 11.4 КУКИ - -Когда пользователь успешно входит в фронтенд, phpMussel устанавливает [куки](https://ru.wikipedia.org/wiki/Cookie), чтобы иметь возможность запоминать пользователя для последующих запросов (то есть, куки используются для аутентификации пользователя в сеансе фронтенд). На странице входа в систему предупреждения куки отображаются на видном месте, предупреждающее пользователя о том, что куки будет установлен, если они участвуют в соответствующем действии. Куки не установлены ни в одном другом месте в кодовой базе. - -*Соответствующие директивы конфигурации:* -- `general` -> `disable_frontend` - -#### 11.5 МАРКЕТИНГ И РЕКЛАМА - -phpMussel не собирает и не обрабатывает какую-либо информацию для маркетинговых или рекламных целей и не продает и не получает прибыль от любой собранной или занесенной в журнал информации. phpMussel не коммерческим предприятием и не имеет отношения к каким-либо коммерческим интересам, поэтому делать это не имеет смысла. Это имело место с самого начала проекта и по-прежнему имеет место сегодня. Кроме того, делать эти вещи было бы контрпродуктивным для духа и намеченной цели проекта в целом, и до тех пор, пока я продолжаю поддерживать проект, никогда не произойдет. - -#### 11.6 ПОЛИТИКА КОНФИДЕНЦИАЛЬНОСТИ - -В некоторых случаях вам может быть юридически необходимо четко отображать ссылку на вашу политику конфиденциальности на всех страницах и разделах вашего сайта. Это может быть важно как средство обеспечения того, чтобы пользователи были хорошо информированы о ваших точных правилах конфиденциальности, типах PII/ПИИ, которые вы собираете, и о том, как вы собираетесь их использовать. Чтобы иметь возможность включить такую ссылку на странице phpMussel «Загрузка Отказана», предоставляется директива конфигурации для указания URL-адреса вашей политики конфиденциальности. - -*Соответствующие директивы конфигурации:* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -«Общее Регулирование Защиты Данных» – Это регламент Европейского Союза, который вступает в силу с 25 Мая 2018 года. Основная цель регулирования – Дать контроль гражданам и жителям ЕС в отношении их личных данных, и унифицировать регулирование в ЕС относительно конфиденциальности и личных данных. - -Регулирование содержит конкретные положения, касающиеся обработки «[личной идентифицируемой информации](https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5)» (PII/ПИИ) любых «субъектов данных», (любое идентифицированное или идентифицируемое физическое лицо) из или в пределах ЕС. Чтобы соответствовать регулированию, «предприятия» (согласно определению, указанным в регулирование), и любые соответствующие системы и процессы должны реализовать «конфиденциальность по дизайну» по умолчанию, должны использовать максимально возможные настройки конфиденциальности, должны обеспечивать необходимые гарантии для любой сохраненной или обработанной информации (включая, но не ограничиваясь, внедрение псевдонимизированный или полную анонимизированный данных), должны четко и недвусмысленно объявлять типы собираемых ими данных, как они обрабатывают его, по каким причинам, как долго они его сохраняют, и делится ли они этими данными с любыми третьими лицами, типами данных, совместно используемыми с третьими лицами, как, почему, и т.д. - -Данные не могут быть обработаны, если нет законных оснований для этого, в соответствии с определением правила. Как правило, это означает, что для обработки данных субъекта данных на законной основе, это должно выполняться в соответствии с юридическими обязательствами, или только после того, как явное, хорошо информированное, однозначное согласие было получено от субъекта данных. - -Поскольку аспекты регулирования могут развиваться во времени, чтобы избежать распространения устаревшей информации, лучше узнать о регулировании из авторитетного источника, а не просто включать соответствующую информацию в документацию к пакету (которые в конечном итоге могут устареть, поскольку регулирование развивается). - -Некоторые рекомендуемые ресурсы для получения дополнительной информации: -- [Новый европейский регламент по защите данных – последствия для российских организаций](https://www.buzko.legal/content-ru/general-data-protection-regulation) -- [GDPR — новые правила обработки персональных данных в Европе для международного IT-рынка](https://habr.com/company/digitalrightscenter/blog/344064/) -- [Общий регламент по защите данных](https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%89%D0%B8%D0%B9_%D1%80%D0%B5%D0%B3%D0%BB%D0%B0%D0%BC%D0%B5%D0%BD%D1%82_%D0%BF%D0%BE_%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85) -- [REGULATION (EU) 2016/679 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex:32016R0679) - ---- - - -Последнее обновление: 12 Мая 2022 г (2022.05.12). diff --git a/v2-and-earlier/readme.ur.md b/v2-and-earlier/readme.ur.md deleted file mode 100644 index 2c0a1c0..0000000 --- a/v2-and-earlier/readme.ur.md +++ /dev/null @@ -1,1981 +0,0 @@ -##
phpMussel v2 لئے دستاویزی (اردو).
- -###
فہرست:
- - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -###
۱. تمہید
- -
phpMussel، ایک PHP کی سکرپٹ کو جہاں کہیں سکرپٹ جھکا ہے، ClamAV اور دوسروں کے دستخط کی بنیاد پر آپ کے سسٹم پر اپ لوڈ کی فائلوں کے اندر اندر ٹروجن، وائرس، میلویئر اور دیگر خطرات کا پتہ لگانے کے لئے ڈیزائن کیا استعمال کرنے کے لئے آپ کا شکریہ.

- -
PHPMUSSEL کاپی رائٹ 2013 اور Caleb M (Maikuolan) کی طرف GNU/GPLv2 اجازت سے آگے.

- -
یہ سکرپٹ مفت سافٹ ویئر ہے. آپ اسے دوبارہ تقسیم اور/یا ترمیم کے طور پر مفت سافٹ ویئر فاؤنڈیشن کی جانب سے شائع GNU جنرل پبلک لائسنس کی شرائط کے تحت اس پر نظر ثانی کر سکتے ہیں؛ یا تو لائسنس کے ورژن 2، یا (آپ کے اختیارات پر) کسی بھی جدید ورژن. یہ سکرپٹ یہ مفید ہو جائے گا، لیکن کسی بھی وارنٹی کے بغیر امید میں تقسیم کیا جاتا ہے؛ کسی خاص مقصد کے لئے قابل فروختگی یا فٹنس کی بھی تقاضا وارنٹی کے بغیر. مزید تفصیلات کے لئے GNU جنرل پبلک لائسنس، "LICENSE.txt" فائل اور سے بھی دستیاب میں واقع دیکھیں:
-- . -- . - -
کرنے کے لئے خصوصی شکریہ ادا کیا. ClamAV دونوں منصوبے پریرتا کے لئے اور اس سکرپٹ کا استعمال ہے کہ دستخط، اسکرپٹ کا امکان موجود نہیں کریں گے، جس کے بغیر، یا سب کے لئے، بہت محدود قدر ہو گی.

- -SourceForge اور Bitbucket اور GitHub کے لئے خصوصی شکریہ، اور اضافی ذرائع کے phpMussel طرف سے استعمال کیا دستخطوں کی ایک بڑی تعداد کی: PhishTank، NLNetLabs، Malware.Expert اور دوسروں کو، اور یہ کہ میں نے ذکر کرنا وگرنہ بھول گئے ہیں، اور اسکرپٹ استعمال کرنے کے لئے، کسی اور کو اس منصوبے کی حمایت تمام والوں کے لئے خصوصی شکریہ.

- -
یہ دستاویز اور اس کے متعلقہ پیکجوں کے لئے مفت سے ڈاؤن لوڈ کیا جا سکتا ہے:
-- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -###
۲. انسٹال کرنے کا طریقہ
- -####
۲.۰ دستی طور پر نصب
- -
۱. آپ کے پڑھنے کی طرف سے اس، مجھے سنبھالنے رہا ہوں آپ کے پاس پہلے، اسکرپٹ کا ایک آرکائیو کاپی کو ڈاؤن لوڈ کیا اس کے مشمولات کو پھیلا اور اس کو اپنے مقامی مشین پر کہیں بیٹھے ہیں کیا ہے. یہاں سے، آپ نے جہاں رکھا یا CMS پر آپ ان کے مندرجات رکھنے کے لئے چاہتے ہیں باہر کام کرنے چاہیں گے. جیسے "/public_html/phpmussel/" یا اسی طرح کی (اگرچہ، یہ جو آپ کو اسے محفوظ ہے کچھ اور کچھ اور آپ کے ساتھ خوش ہیں ہے اتنی دیر کے طور پر انتخاب کرتے ہیں، کوئی فرق نہیں پڑتا) ایک ڈائریکٹری کافی ہوگا. آپ کو اپ لوڈ کرنے شروع کرنے سے پہلے، پر پڑھیں ..

- -
۲. "config.ini" (اندر "vault" واقع کرنے "config.ini.RenameMe" نام تبدیل)، اور اختیاری پختہ اعلی درجے کی صارفین کے لئے سفارش کی جاتی ہے، لیکن (اس فائل پر مشتمل ابتدائی کے لئے یا ناتجربہ کار)، اسے کھولنے کے لئے سفارش کی نہیں phpMussel لئے دستیاب تمام ہدایات؛ ہر آپشن کے اوپر ایک مختصر تبصرہ یہ کیا کرتا بیان اور کیا اس کے لئے ہے) ہونا چاہئے. آپ کو فٹ دیکھ کے طور جو بھی اپنے مخصوص سیٹ اپ کے لئے مناسب ہے کے مطابق ان ہدایات کو ایڈجسٹ کریں. فائل محفوظ کریں، قریب ہے.

- -
۳. (اگر آپ پہلے پر فیصلہ کیا تھا ڈائریکٹری میں مندرجات (phpMussel اور اس کی فائلوں) کو اپ لوڈ کریں آپ "*.txt/*.md" فائلوں کو شامل کرنے کی ضرورت نہیں ہے، لیکن زیادہ تر، تم سب کچھ اپ لوڈ کرنا چاہئے) .

- -
۴. CHMOD "755" (مسائل ہیں تو، آپ کو کوشش "vault" ڈائریکٹری میں کر سکتے ہیں "777"؛ اس سے کم محفوظ ہے، اگرچہ). مندرجات (آپ اس سے قبل انتخاب کیا ایک) ذخیرہ کرنے کے اہم ڈائریکٹری، عام طور پر، آپ کو آپ کے سسٹم پر ماضی میں اجازتیں مسائل پڑا ہے تو اکیلے چھوڑ دیا جا سکتا ہے، لیکن CHMOD کی حیثیت کی جانچ پڑتال کی جانی چاہئے (ڈیفالٹ کی طرف سے، جیسے "755" کچھ ہونا چاہئے). مختصرا: پیکج کے لئے مناسب طریقے سے کام کرنے کے لئے، پی ایچ او کو vault ڈائریکٹری کے اندر فائلوں کو پڑھنے اور لکھنے کے قابل ہونے کی ضرورت ہے. اگر بہت سے چیزیں (اپ ڈیٹنگ، لاگنگ، وغیرہ) ممکن نہیں ہوسکتے، اگر PHP vault ڈائریکٹری میں نہیں لکھا جاسکتا ہے، اور پیکج بالکل کام نہیں کرے گا تو PHP vault ڈائرکٹری سے پڑھ نہیں سکتا. تاہم، زیادہ سے زیادہ سیکورٹی کے لئے، vault ڈائرکٹری عوامی طور پر قابل رسائی نہیں ہونا ضروری ہے (vault ڈائرکٹری عوامی طور پر قابل رسائی ہے تو حملہ آوروں کے بارے میں سنجیدگی سے متعلق معلومات سامنے آسکتی ہیں).

- -
۵. کسی بھی دستخط کو انسٹال کریں جو آپ کی ضرورت ہو گی. دیکھیں: تنصیب کا دستخط).

- -
۶. اگلا، آپ کو "ہک" آپ کے سسٹم یا CMS کرنے phpMussel کرنا ہوگا. کئی مختلف طریقے ہیں آپ کر سکتے ہیں جیسا کہ آپ کے سسٹم یا CMS، لیکن سب سے آسان ہے صرف عام طور پر ہمیشہ سے لوڈ کیا جائے گا کہ آپ کے سسٹم یا CMS (ایک کی ایک بنیادی فائل کے شروع میں سکرپٹ کو شامل کرنے کے لئے کرنا phpMussel "ہک" اسکرپٹس اگر کوئی ویب سائٹ بھر میں کسی بھی صفحے تک رسائی حاصل کرتا ہے جب) ایک "require" یا "include" بیان کا استعمال کرتے ہوئے. عام طور پر، اس طرح کے طور پر "/includes"، "/assets" یا "/functions" ایک ڈائریکٹری میں محفوظ کیا کچھ ہو جائے گا، اور اکثر" init.php"، "common_functions.php"،" افعال کی طرح کچھ نام دیا جائے گا. php" یا اسی طرح کی. تم جس فائل اگر یہ آپ کی صورت حال کے لئے ہے باہر کام کرنا پڑے گا؛ تم اپنے لئے اس سے باہر کام کرنے میں مشکلات کا سامنا کرتے ہیں، GitHub کے پر phpMussel مسائل کا صفحہ ملاحظہ کریں. [ "require" یا" استعمال کرنے کے لئے include"] ایسا کرنے کے لئے، جو کہ بنیادی فائل کے شروع کرنے کے لئے کوڈ کی مندرجہ ذیل لائن داخل، "loader.php" فائل کا عین مطابق ایڈریس کے ساتھ واوین کے اندر موجود سٹرنگ کی جگہ (مقامی پتہ، نہ HTTP ایڈریس؛ یہ پہلے ذکر والٹ ایڈریس کو اسی طرح دیکھ لیں گے).

- -`` - -
فائل، قریب، ہٹادیا بچائیں.

- -
-- یا متبادل --

- -
آپ ایک اپاچی ویب سرور استعمال کر رہے ہیں اور آپ کو "php.ini" تک رسائی ہے تو، تو آپ جب بھی کسی بھی PHP کی درخواست کی جاتی ہے phpMussel prepend کے کو "auto_prepend_file" ہدایت کو استعمال کر سکتے ہیں. کی طرح کچھ:

- -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -
یا ".htaccess" فائل میں اس:

- -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -
۷. اب، یہ ختم ہو گیا ہے! تاہم، آپ کو شاید اسے باہر یہ مناسب طریقے سے کام کر رہا ہے بات کو یقینی بنانے کے لئے جانچ کرنا چاہئے. فائل اپ لوڈ کی حفاظت کے باہر کی جانچ کرنے کے لئے، ٹیسٹنگ کی فائلوں کو اپ لوڈ کرنا شامل پیکیج میں آپ کی ویب سائٹ کو .tests/samples کے تحت اپنے معمول کے براؤزر کی بنیاد پر اپ لوڈ طریقوں کے ذریعے کوشش. (Make sure you've included the `phpmussel*.*db` signature files in the `active` configuration directive for the test files to trigger). سب کچھ کام کر رہی ہے تو، ایک پیغام کی تصدیق ہے کہ اپ لوڈ کریں کامیابی سے بلاک کیا گیا تھا phpMussel سے ظاہر ہونا چاہیے. کچھ بھی ظاہر ہوتا ہے، کسی چیز کے صحیح طریقے سے کام نہیں کر رہا ہے. آپ کو کسی بھی جدید ترین خصوصیات کا استعمال کر رہے ہیں یا آپ کے آلے کے ساتھ ممکن سکیننگ کے دیگر اقسام کا استعمال کرتے ہوئے کر رہے ہیں تو، تو میں نے اسے باہر والوں کے ساتھ جو بھی کام کرتا ہے کے طور پر توقع اس بات کو یقینی بنانے کی کوشش کر مشورہ تھا.

- -####
۲.۱ دستی طور پر نصب (CLI کے لئے)
- -
۱. آپ کے پڑھنے کی طرف سے اس، مجھے سنبھالنے رہا ہوں آپ کے پاس پہلے، اسکرپٹ کا ایک آرکائیو کاپی کو ڈاؤن لوڈ کیا اس کے مشمولات کو پھیلا اور اس کو اپنے مقامی مشین پر کہیں بیٹھے ہیں کیا ہے. کیا آپ نے منتخب کیا ہے مقام کے ساتھ خوش ہیں، جاری رکھیں.

- -
۲. PHP کی کام کرنے کے لئے ترتیب میں phpMussel طرف مطلوب ہے. اگر آپ نے پہلے نہیں کیا ہے، اسے انسٹال کریں.

- -
۳. "config.ini" (اندر "vault" واقع کرنے "config.ini.RenameMe" نام تبدیل)، اور اختیاری پختہ اعلی درجے کی صارفین کے لئے سفارش کی جاتی ہے، لیکن (اس فائل پر مشتمل ابتدائی کے لئے یا ناتجربہ کار)، اسے کھولنے کے لئے سفارش کی نہیں phpMussel لئے دستیاب تمام ہدایات؛ ہر آپشن کے اوپر ایک مختصر تبصرہ یہ کیا کرتا بیان اور کیا اس کے لئے ہے) ہونا چاہئے. آپ کو فٹ دیکھ کے طور جو بھی اپنے مخصوص سیٹ اپ کے لئے مناسب ہے کے مطابق ان ہدایات کو ایڈجسٹ کریں. فائل محفوظ کریں، قریب ہے.

- -
۴. "BAT" فائلوں کو آپ کے لئے اسے آسان بنانے کے کر سکتے ہیں. اس سے آپ کو کوشش کر سکتے ہیں کچھ ہے.

- -
۵. کسی بھی دستخط کو انسٹال کریں جو آپ کی ضرورت ہو گی. دیکھیں: تنصیب کا دستخط).

- -
۶. اب، یہ ختم ہو گیا ہے! تاہم، آپ کو شاید اسے باہر یہ مناسب طریقے سے کام کر رہا ہے بات کو یقینی بنانے کے لئے جانچ کرنا چاہئے. phpMussel کو ٹیسٹ کرنے کے لئے، phpMussel چلانے اور سکیننگ پیکج کے ساتھ فراہم کی .tests/samples ڈائریکٹری کوشش کریں.

- -####
۲.۲ COMPOSER کے ساتھ نصب
- -
phpMussel Packagist ساتھ رجسٹرڈ ہے، اور اسی طرح، آپ کمپوزر سے واقف ہیں تو، آپ (تاہم، آپ اب بھی پیکیج تیار کرنے کی ضرورت ہوگی؛ "دستی طور پر نصب کرنے" دیکھیں اقدامات ۲، ۴، ۵ اور ۶).

- -`composer require phpmussel/phpmussel` - -####
۲.۳ تنصیب کا دستخط
- -
چونکہ v1.0.0، دستخط اہم پیکج میں شامل نہیں ہیں. خاص خطرات کا پتہ لگانے کے لئے phpMussel کے دستخط کی ضرورت ہوتی ہے. دستخط کو انسٹال کرنے کے لئے 3 اہم طریقوں ہیں:

- -
    -
  • ۱. خود کار طریقے سے سامنے کے آخر میں اپ ڈیٹس کا صفحہ استعمال کرتے ہوئے انسٹال کریں.
  • -
  • ۲. "SigTool" کا استعمال کرتے ہوئے دستخط پیدا کریں اور دستی طور پر انسٹال کریں.
  • -
  • ۳. "phpMussel/Signatures" سے دستخط ڈاؤن لوڈ کریں اور دستی طور پر انسٹال کریں.
  • -
- -#####
۲.۳.۱ خود کار طریقے سے سامنے کے آخر میں اپ ڈیٹس کا صفحہ استعمال کرتے ہوئے انسٹال کریں.
- -
سب سے پہلے، آپ کو اس بات کا یقین کرنے کی ضرورت ہوگی کہ سامنے کے آخر میں فعال ہو. دیکھیں: سامنے کے آخر میں انتظام.

- -
پھر، آپ کو اپ ڈیٹس صفحے پر جانے کی ضرورت ہوگی، لازمی دستخط شدہ فائلوں کو تلاش کریں، اور صفحے پر فراہم کی جانے والے اختیارات کا استعمال کرتے ہوئے، انہیں انسٹال کریں، اور ان کو چالو کریں.

- -#####
۲.۳.۲ "SigTool" کا استعمال کرتے ہوئے دستخط پیدا کریں اور دستی طور پر انسٹال کریں.
- - - -
یہ بھی نوٹ کریں: SigTool صرف ClamAV کے دستخطوں پر کارروائی کرتا ہے. تاکہ دوسرے ذرائع سے دستخط حاصل کریں (مثال کے طور پر، جو خاص طور پر phpMussel کے لئے لکھے گئے ہیں، یا اس کی جانچ فائلوں کا پتہ لگانے کے لئے درکار ہیں)، اس طریقہ کو یہاں ذکر کردہ دیگر طریقوں میں سے کسی ایک کے ذریعہ تکمیل کرنے کی ضرورت ہوگی.

- -#####
۲.۳.۳ "phpMussel/Signatures" سے دستخط ڈاؤن لوڈ کریں اور دستی طور پر انسٹال کریں.
- -
سب سے پہلے، phpMussel/Signatures پر جائیں. ذخیرہ پر مشتمل مختلف GZ کمپریسڈ دستخط فائلیں. آپ کی ضرورت فائلوں کو ڈاؤن لوڈ کریں، ان کو ڈسپوز کریں، اور ڈسپلے شدہ فائلوں کو /vault/signatures ڈائریکٹری میں ان کو نصب کرنے کیلئے کاپی کریں. کاپی شدہ فائلوں کے ناموں کو ان کی چالو کرنے کے لئے آپ کے phpMussel ترتیب میں active ڈائریکٹری میں درج کریں.

- ---- - - -###
۳. کس طرح استعمال
- -####
۳.۰ (ویب سرورز کے لئے) استعمال کرنے کا طریقہ
- -
phpMussel آپ کے حصہ پر کم سے کم ضروریات کے ساتھ درست طریقے سے کام کرنے کے قابل ہونا چاہئے: یہ انسٹال کرنے کے بعد، یہ فوری طور پر کام کرتے ہیں اور فوری طور پر قابل استعمال ہونا چاہئے.

- -
فائل اپ لوڈ کی سکیننگ خود کار ہے اور فطری طور پر قابل ہے، تو کچھ بھی نہیں اس مخصوص فعالیت کے لئے آپ کی طرف سے کی ضرورت ہے.

- -
تاہم، آپ کو بھی مخصوص فائلوں، ڈائریکٹریز اور/یا ابلیھاگار اسکین کرنے phpMussel ہدایت کرنے کے قابل ہو. ایسا کرنے کے لئے، سب سے پہلے، آپ کو مناسب ترتیب (cleanup غیر فعال کر دیا جائے ضروری ہے) config.ini فائل میں مقرر کیا گیا ہے، اور کیا جب phpMussel کو جھکا دیا گیا ہے کہ ایک PHP کی فائل میں، استعمال یقینی بنانے کے لئے کی ضرورت ہو گی مندرجہ ذیل آپ کے کوڈ میں بندش.

- -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -
    -
  • $what_to_scan ایک سٹرنگ، ایک صف، یا arrays کے ایک صف ہو، اور فائل، فائلوں، ڈائریکٹری اور/یا ڈائریکٹریز کو اسکین کرنے کے لئے جس کی طرف اشارہ کر سکتے ہیں.
  • -
  • $output_type طور واپس کرنے کے اسکین کے نتائج کے لئے کی شکل کا اشارہ، ایک بولین ہے. جھوٹی ایک عدد صحیح (کے -4 اشارہ کرتا ہے کہ ڈیٹا کو خفیہ کاری کی وجہ سے سکینڈ نہیں کیا جا سکتا، -3 اشارہ کرتا ہے کہ دستخط فائلوں کے ساتھ مسائل کا سامنا کرنا پڑا، -2 کی طرف اشارہ کرتا ہے کہ بدعنوان ڈیٹا دوران پتہ چلا تھا اسکین اور اس طرح اسکین مکمل کرنے میں ناکام رہے، -1 طرف اشارہ کرتا ہے کہ ملانے یا addons کے اسکین پر عمل کرنے PHP طرف سے کی ضرورت لاپتہ تھے اور اس طرح اسکین، کو مکمل کرنے میں ناکام رہے 0 اشارہ کرتا اسکین ہدف موجود نہیں ہے کہ اس طرح اور اسکین کرنے کی کوئی بات نہیں تھی 1 ہدف کو کامیابی سے سکین کر رہا تھا اور کوئی مسائل کا پتہ چلا رہے تھے کہ اشارہ کرتا ہے، اور 2 کی طرف اشارہ ہدف کو کامیابی سے سکین کر رہا تھا کہ اور مسائل کا پتہ چلا رہے تھے). یہ سچ ہے کہ انسانی قابل مطالعہ متن کے طور پر نتائج واپس کرنے کے لئے تقریب کی ہدایات. اس کے علاوہ، دونوں صورتوں میں، نتائج عالمی متغیر کے ذریعے جانے کے بعد سکیننگ مکمل کر لیا ہے حاصل کیا جا سکتا ہے. یہ متغیر غلط پر مجرم، اختیاری ہے.
  • -
  • $output_flatness تقریب کرنے کا اشارہ ایک صف یا ایک تار کے طور پر سکیننگ کے نتائج (ایک سے زیادہ اسکین اہداف ہیں جب) واپس کرنے کے لئے، چاہے ایک بولین ہے. جھوٹی ایک صف کے طور پر نتائج واپس کرے گا. یہ سچ ہے کہ ایک تار کے طور پر نتائج واپس کرے گا. یہ متغیر غلط پر مجرم، اختیاری ہے.
  • -
- -
مثالیں:

- -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -
کچھ اس طرح (ایک تار کے طور پر) واپسی:

- -``` - Wed, 16 Sep 2013 02:49:46 +0000 Started. - > Checking '/user_name/public_html/my_file.html': - -> No problems found. - Wed, 16 Sep 2013 02:49:47 +0000 Finished. -``` - -
دستخط کس قسم کی ایک مکمل بریک ڈاون کے phpMussel اس کے علیحدہ اسکین کے دوران استعمال کرتا ہے اور یہ ان کے دستخط کو کس طرح ہینڈل، اس README فائل کا دستخط فارمیٹ سیکشن سے رجوع کریں.

- -
آپ کو کسی بھی جھوٹے مثبت سامنا کرتے ہیں، آپ کو کچھ نیا آپ کو لگتا ہے کہ کا سامنا ہے تو بلاک کر دیا جائے چاہئے، یا کچھ اور دستخط کے بارے میں کے طور پر، اس کے بارے میں مجھ سے رابطہ کریں تا کہ میں ضروری تبدیلیاں کر سکتے ہیں، آپ مجھ سے، مجھے سے رابطہ نہیں کرتے تو لازمی طور سے آگاہ نہیں ہو سکتا. (دیکھیں: ایک "جھوٹی مثبت" سے کیا مراد ہے؟).

- -
phpMussel ساتھ شامل دستخطوں کو غیر فعال کرنے کے لئے (جیسا کہ آپ کو آپ کے مقاصد عموما مین لائن سے ہٹایا نہیں کیا جانا چاہئے کہ ایک جھوٹی مثبت مخصوص سامنا کر رہے ہیں کے طور پر اگر)، سرمئی لسٹ کے دستخط کے ناموں کو شامل کریں (/vault/greylist.csv)، کاموں کی طرف سے الگ.

- - - -####
۳.۱ (CLI کے لئے) استعمال کرنے کا طریقہ
- -
"دستی طور پر نصب (CLI کے لئے)" اس README فائل کا سیکشن سے رجوع کریں.

- -
اس کے علاوہ اس بات سے آگاہ phpMussel ایک ڈیمانڈ سکینر ہے کہ ہو؛ یہ ہے نہیں ایک پر رسائی سکینر (اپ لوڈ کے وقت، فائل اپ لوڈ ماسوائے) اور روایتی اینٹی وائرس سوئٹ کے برعکس، فعال میموری کی نگرانی نہیں کرتا! یہ صرف فائل اپ لوڈ کی طرف سے موجود وائرس کا پتہ لگانے، اور ان لوگوں کے مخصوص فائلوں کو آپ کو واضح طور پر اسکین پر یہ بتانے کے کہ کر لیں گے.

- ---- - - -###
۴. سامنے کے آخر میں انتظام
- -####
۴.۰ سامنے کے آخر کیا ہے.

- -
سامنے کے آخر میں، برقرار رکھنے کا انتظام، اور آپ phpMussel تنصیب کو اپ ڈیٹ کرنے کے لئے ایک آسان اور آسان طریقہ فراہم کرتا ہے. آپ صرف مسودہ دیکھ سکتے ہیں، اشتراک، اور نوشتہ صفحے کے ذریعے لاگ مسلیں لوڈ، آپ کی ترتیب کے صفحے کے ذریعے کی ترتیب تبدیل کر سکتے ہیں، آپ کو انسٹال کر سکتے ہیں اور اپ ڈیٹس صفحے کے ذریعے انسٹال اجزاء، اور آپ کو اپ لوڈ کر سکتے ہیں، ڈاؤن لوڈ، اتارنا، اور فائل کے ذریعے آپ کے والٹ میں فائلوں پر نظر ثانی مینیجر.

- -
سامنے کے آخر میں (آپ کی ویب سائٹ اور اس کی سیکیورٹی کے لئے اہم نتائج ہو سکتے ہیں غیر مجاز رسائی) غیر مجاز رسائی کو روکنے کے لئے پہلے سے طے شدہ کی طرف سے غیر فعال ہے. اس کو چالو کرنے کے لئے ہدایات اس پیراگراف ذیل میں شامل ہیں.

- -####
۴.۱ سامنے کے آخر میں فعال کرنے کا طریقہ.

- -
۱. اندر "config.ini"، "disable_frontend" ہدایت کو تلاش کریں اور "false" کرنے کے لئے مقرر (یہ ڈیفالٹ کی طرف سے "true" ہو جائے گا).

- -
۲. رسائی اپنے براؤزر سے "loader.php" (جیسے، "http://localhost/phpmussel/loader.php").

- -
۳. پہلے سے طے شدہ صارف کا نام اور پاس ورڈ کے ساتھ لاگ ان کریں (admin/password).

- -
نوٹ: اگر آپ کو پہلی بار کے لئے لاگ ان کرنے کے بعد، سامنے کے آخر تک غیر مجاز رسائی کو روکنے کے لئے، آپ کو فوری طور پر آپ کا صارف نام اور پاس ورڈ کو تبدیل کرنا چاہئے! یہ بہت اہم ہے، یہ سامنے کے آخر میں کے ذریعے آپ کی ویب سائٹ پر من مانی PHP کوڈ کو اپ لوڈ کرنا ممکن ہے کیونکہ.

- -
اس کے علاوہ، زیادہ سے زیادہ سیکورٹی کے لئے، تمام فرنٹ اینڈ اکاؤنٹس کے لئے 2FA کو مؤثر طریقے سے سفارش کی جاتی ہے (ذیل میں دی گئی ہدایات).

- -####
۴.۲ سامنے کے آخر میں کس طرح استعمال.

- -
ہدایات یہ اور اس مقصد کو استعمال کرنے کا صحیح طریقہ کی وضاحت کے لئے سامنے کے آخر میں کے ہر صفحے پر فراہم کی جاتی ہیں. اگر آپ کو مزید وضاحت یا کوئی خاص مدد کی ضرورت ہے، کی مدد سے رابطہ کریں. متبادل طور پر، یو ٹیوب پر دستیاب کچھ ویڈیوز مظاہرے کی راہ کی طرف مدد کر سکتا ہے جس میں موجود ہیں.

- -####
۴.۳ 2FA

- -
2FA کو چالو کرنے کے ذریعہ front-end کو مزید محفوظ بنانے کے لئے ممکن ہے. جب 2FA کے ساتھ اکاؤنٹ میں لاگ ان ہو تو، اس اکاؤنٹ سے منسلک ای میل ایڈریس پر ایک ای میل بھیجا جاتا ہے. اس ای میل میں "2FA کوڈ" شامل ہے، جو اس صارف کا استعمال کرتے ہوئے لاگ ان کرنے کے لۓ صارف کا نام اور پاسورڈ کے علاوہ صارف کو داخل ہونا ضروری ہے. اس کا مطلب یہ ہے کہ اکاؤنٹ اکاؤنٹ پاس ورڈ حاصل کرنے کے لئے کسی بھی ہیکر یا ممکنہ حملہ آور کو اس اکاؤنٹ میں لاگ ان کرنے کے قابل نہیں ہو گا، کیونکہ انہیں وصول کرنے کے قابل ہونے کے لئے ان اکاؤنٹ سے منسلک ای میل ایڈریس تک رسائی حاصل ہوگی. اور سیشن کے ساتھ منسلک 2FA کوڈ استعمال کریں.

- -
سب سے پہلے، 2FA کو چالو کرنے کے لئے، PHPMailer اجزاء کو انسٹال کرنے کے لئے front-end اپ ڈیٹس کا صفحہ استعمال کریں. ای میل بھیجنے کے لئے phpMussel PHPMailer کا استعمال کرتا ہے. نوٹ: اگرچہ phpMussel، خود ہی، PHP >= 5.4.0 کے ساتھ مطابقت رکھتا ہے، PHPMailer کی ضرورت ہے PHP >= 5.5.0. اس کا مطلب ہے کہ PHP 5.4 صارفوں کیلئے phpMussel front-end 2FA کو چالو کرنا ممکن نہیں ہوگا.

- -
PHPMailer نصب کرنے کے بعد، آپ کو phpMussel ترتیب کے صفحے یا ترتیب کی فائل کے ذریعے PHPMailer کے لئے ترتیب ہدایات کو آباد کرنے کی ضرورت ہوگی. ان ترتیبات کے ہدایات کے بارے میں مزید معلومات اس دستاویز کے ترتیب کے حصے میں شامل ہیں. PHPMailer ترتیب ہدایات آبادی کے بعد، enable_two_factor true سیٹ کریں. 2FA اب فعال ہونا چاہئے.

- -
اگلا، آپ کو ایک ای میل ایڈریس کو اکاؤنٹ کے ساتھ منسلک کرنے کی ضرورت ہوگی، تاکہ phpMussel کو معلوم ہے کہ اس اکاؤنٹ کے ساتھ لاگ ان کرتے وقت 2FA کوڈ بھیجنے کے لئے. ایسا کرنے کے لئے، اکاؤنٹ کے صارف نام کے طور پر ای میل پتہ استعمال کریں (کچھ foo@bar.tld کی طرح)، یا اس صارف کے صارف کے حصے کے طور پر ای میل ایڈریس بھی شامل ہے جس طرح آپ عام طور پر ای میل بھیجیں گے (کچھ Foo Bar <foo@bar.tld> کی طرح).

- -
نوٹ: غیر مجاز رسائی کے خلاف vault کی حفاظت خاص طور پر اہم ہے (مثال کے طور پر، آپ کے سرور کی سیکیورٹی کو مضبوط کرنا، عوامی رسائی کی اجازت محدود)، کیونکہ غیر مجاز رسائی آپ کے SMTP ترتیبات کو بے نقاب کر سکتا ہے (اس میں SMTP صارف کا نام اور پاس ورڈ بھی شامل ہے). آپ کو اس بات کو یقینی بنانا چاہئے کہ 2FA کو چالو کرنے سے پہلے vault مناسب طریقے سے محفوظ ہو. اگر آپ ایسا کرنے میں قاصر ہیں تو، کم سے کم، آپ کو ایک نیا ای میل اکاؤنٹ بنانا چاہئے، اس مقصد کیلئے وقف کردہ SMTP ترتیبات کے خطرات کو کم کرنے کے لئے.

- ---- - - -###
۵. CLI (کمانڈ لائن انٹرفیس)
- -
phpMussel ونڈوز کی بنیاد پر نظام کے تحت CLI موڈ میں ایک انٹرایکٹو فائل سکینر کے طور پر چلایا جا سکتا ہے. "(CLI لئے) نصب کرنے کے لئے کس طرح" مزید تفصیلات کے لئے اس README فائل کا سیکشن دیکھیں.

- -
آپ CLI کی فہرست کے لئے حکم دیتا ہے، CLI پرامپٹ میں، قسم سی، اور پریس درج کریں.

- -
مزید برآں، ان دلچسپی کے لئے، CLI موڈ میں phpMussel استعمال کرنے کے لئے کس طرح کے لئے ایک ویڈیو ٹیوٹوریل یہاں دستیاب ہے:
-- - ---- - - -###
۶. فائل اس پیکیج میں شامل
- -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -###
۷. ترتیب کے اختیارات
- -
مندرجہ ذیل phpMussel کے "config.ini" کنفیگریشن فائل میں پایا، ان کے مقاصد اور تقریب کی ایک وضاحت کے ساتھ ساتھ متغیر کی ایک فہرست ہے.

- -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -####
"general" (قسم)
-
جنرل phpMussel ترتیب.

- -#####
"cleanup"
-
    -
  • ترتیب ختم متغیر اور کیشے ابتدائی اپ لوڈ سکیننگ کے بعد اسکرپٹ طرف سے استعمال کیا؟ False (جھوٹی) = کوئی؛ True (سچے) = جی ہاں [پہلے سے طے شدہ]. آپ کے اپ لوڈز کے ابتدائی سکیننگ پرے سکرپٹ کا استعمال کرتے ہوئے نہیں ہیں تو، آپ کو اس TRUE" (ہاں) "کرنے کے لئے، میموری استعمال کو کم سے کم کرنے کے لئے مقرر کیا جانا چاہئے. آپ کے اپ لوڈز کے ابتدائی سکیننگ پرے سکرپٹ کا استعمال کرتے ہوئے ہیں تو، میموری میں دہرے ڈیٹا دوبارہ لوڈ بیکار میں سے بچنے کے لئے FALSE" (کوئی) "لئے مقرر کیا جانا چاہئے. عام پریکٹس میں، یہ عام طور پر TRUE" "لئے مقرر کیا جائے چاہئے، لیکن آپ ایسا کرتے ہیں تو، آپ کو ابتدائی فائل اپ لوڈ کی سکیننگ کے علاوہ کسی اور چیز کے لئے سکرپٹ کو استعمال کرنے کے لئے نہیں کر سکیں گے.
  • -
  • CLI موڈ میں کوئی اثر و رسوخ ہے.
  • -
- -#####
"scan_log"
-
    -
  • فائل کی فائل کا نام لئے تمام سکیننگ نتائج لاگ ان کریں. ایک فائل کا نام کی وضاحت کریں، یا غیر فعال کرنے خالی چھوڑ دیں.
  • -
- -#####
"scan_log_serialized"
-
    -
  • فائل کا نام مسل تمام سکیننگ کے نتائج کو (serialized فارمیٹ استعمال کرتے ہوئے) لاگ ان کریں. ایک فائل کا نام کی وضاحت کریں، یا غیر فعال کرنے خالی چھوڑ دیں.
  • -
- -#####
"scan_kills"
-
    -
  • فائل کا نام مسل کو مسدود یا ہلاک کر کے اپ لوڈز کے تمام ریکارڈ لاگ ان کریں. ایک فائل کا نام کی وضاحت کریں، یا غیر فعال کرنے خالی چھوڑ دیں.
  • -
- -
مفید ٹپ: "{yyyy}" مکمل سال کے لئے، "{yy}" مختصر سال کے لئے، "{mm}": اگر آپ چاہتے ہیں تو آپ کے نام میں ان کو شامل کرکے آپ لاگ مسلیں کے ناموں کو تاریخ/وقت کی معلومات شامل کر سکتے ہیں مہینے کے لئے، دن کے لئے، "{hh}" گھنٹے کیلئے "{dd}" (ذیل کی مثالیں دیکھ).

- -``` - scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt' - scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt' - scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt' -``` - -#####
"error_log"
-
    -
  • کسی بھی غیر مہلک غلطیوں کو لاگ کرنے کیلئے ایک فائل کا پتہ چلا. ایک فائل کا نام کی وضاحت کریں، یا غیر فعال کرنے کو خالی چھوڑ.
  • -
- -#####
"truncate"
-
    -
  • وہ ایک خاص سائز تک پہنچنے میں جب صاف لاگ مسلیں؟ ویلیو میں B/KB/MB/GB/TB زیادہ سے زیادہ سائز ہے. جب 0KB، وہ غیر معینہ مدت تک ترقی کر سکتا ہے (پہلے سے طے). نوٹ: واحد فائلوں پر لاگو ہوتا ہے! فائلیں اجتماعی غور نہیں کر رہے ہیں.
  • -
- -#####
"log_rotation_limit"
-
    -
  • لاگ گرد گردش کسی بھی وقت کسی بھی وقت موجود ہونا لاگ ان کی تعداد محدود کرتا ہے. جب نیا لاگ ان کی تخلیق کی جاتی ہے تو، اگر لاگ ان کی کل تعداد مخصوص حد سے زیادہ ہوتی ہے تو مخصوص کارروائی کی جائے گی. آپ یہاں مطلوبہ حد کی وضاحت کرسکتے ہیں. 0 کی قیمت لاگ گرد گردش کو غیر فعال کرے گی.
  • -
- -#####
"log_rotation_action"
-
    -
  • لاگ گرد گردش کسی بھی وقت کسی بھی وقت موجود ہونا لاگ ان کی تعداد محدود کرتا ہے. جب نیا لاگ ان کی تخلیق کی جاتی ہے تو، اگر لاگ ان کی کل تعداد مخصوص حد سے زیادہ ہوتی ہے تو مخصوص کارروائی کی جائے گی. آپ یہاں مطلوبہ کارروائی کی وضاحت کرسکتے ہیں. Delete = قدیم ترین لاگ ان کو حذف کریں، جب تک کہ حد تک زیادہ نہیں ہوسکتی ہے. Archive = سب سے پہلے آرکائیو، اور پھر سب سے پرانی لاگ ان کو حذف کریں، جب تک کہ حد زیادہ نہیں ہوسکتی.
  • -
- -
تکنیکی وضاحت: اس تناظر میں "سب سے پرانی" کا مطلب "کم از کم ترمیم شدہ" ہے.

- -#####
"timezone"
-
    -
  • یہ استعمال کیا جاتا ہے کہ کون سا ٹائم زون phpMussel کو تاریخ/وقت کے آپریشن کے لئے استعمال کرنا چاہئے. اگر آپ کو اس کی ضرورت نہیں ہے تو اسے نظر انداز کریں. ممکنہ اقدار PHP کی طرف سے مقرر ہیں. یہ عام طور پر یہ کرنا ہمیشہ ممکن نہیں ہے، اور تو، اس اختیار کو یہاں فراہم کی جاتی ہے (جیسا محدود مشترکہ ہوسٹنگ فراہم کرنے والے کے ساتھ کام کرتے وقت کے طور پر) آپ php.ini فائل میں ٹائم زون ہدایت کو ایڈجسٹ کرنے کی بجائے سفارش، لیکن کبھی کبھی رہا ہے.
  • -
- -#####
"time_offset"
-
    -
  • v1: "timeOffset"
  • -
  • آپ کے سرور کے وقت آپ کے مقامی وقت کے مماثل نہیں ہے تو، آپ کو آپ کی ضروریات کے مطابق phpMussel طرف سے پیدا تاریخ/وقت کی معلومات کو ایڈجسٹ کرنے کے لئے یہاں آفسیٹ ایک وضاحت کر سکتے ہیں. یہ عام طور پر یہ کرنا ہمیشہ ممکن نہیں ہے، اور تو، اس اختیار کو یہاں فراہم کی جاتی ہے (جیسا محدود مشترکہ ہوسٹنگ فراہم کرنے والے کے ساتھ کام کرتے وقت کے طور پر) آپ "php.ini" فائل میں ٹائم زون ہدایت کو ایڈجسٹ کرنے کی بجائے سفارش، لیکن کبھی کبھی رہا ہے. آف سیٹ منٹ میں ہے.
  • -
  • مثال (ایک گھنٹے کا اضافہ کرنے کے لئے):
  • -
- -`time_offset=60` - -#####
"time_format"
-
    -
  • v1: "timeFormat"
  • -
  • تاریخ کی شکل phpMussel طرف سے استعمال کیا. پہلے سے طے شدہ:
  • -
- -`{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}` - -#####
"ipaddr"
-
    -
  • درخواستوں منسلک کرنے کے IP ایڈریس کو کہاں تلاش کرنے کے لئے؟ پہلے سے طے شدہ = REMOTE_ADDR (جیسا Cloudflare کے اور پسند کرتا ہے کے طور پر خدمات کے لئے مفید). انتباہ: جب تک کہ آپ کو پتہ ہے تم کیا کر رہے ہو اس کو تبدیل نہ کریں!
  • -
- -
"ipaddr" کے لئے سفارش کی اقدار:

- - 
قدر
|  
استعمال
----|--- -`HTTP_INCAP_CLIENT_IP` | Incapsula reverse proxy (ریورس پراکسی). -`HTTP_CF_CONNECTING_IP` | Cloudflare reverse proxy (ریورس پراکسی). -`CF-Connecting-IP` | Cloudflare reverse proxy (ریورس پراکسی؛ متبادل؛ مندرجہ بالا کام نہیں کرتا تو). -`HTTP_X_FORWARDED_FOR` | Cloudbric reverse proxy (ریورس پراکسی). -`X-Forwarded-For` | [Squid reverse proxy (ریورس پراکسی)](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* - 
سرور کی ترتیب کی طرف سے وضاحت کی گئی.
| [Nginx reverse proxy (ریورس پراکسی)](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` |  
نہیں کسی بھی ریورس پراکسی (پہلے سے طے شدہ قیمت).
- -#####
"enable_plugins"
-
    -
  • phpMussel پلگ ان کے لئے حمایت فعال کریں؟ False (جھوٹی) = کوئی؛ True (سچے) = جی ہاں [پہلے سے طے شدہ].
  • -
- -#####
"forbid_on_block"
-
    -
  • phpMussel فائل اپ بلاک کر کے پیغام کے ساتھ 403 ہیڈرز بھیجیں، یا کے ساتھ معمول کے 200 OK رہنا چاہیے؟ False (جھوٹی) = نہیں (200)؛ True (سچے) = جی ہاں (403) [پہلے سے طے شدہ].
  • -
- -#####
"unsupported_media_type_header"
-
    -
  • کیا بلیک لسٹ فائل ٹائپ کی وجہ سے اپ لوڈز بلاک ہونے پر phpMussel کو 415 ہیڈر بھیجنا چاہئے؟ جب سچ ہے تو، یہ ترتیب forbid_on_block کو خارج کردیتا ہے. False (جھوٹی) = نہیں [پہلے سے طے شدہ]؛ True (سچے) = جی ہاں.
  • -
- -#####
"delete_on_sight"
-
    -
  • چاہے دستخط کے ذریعے یا دوسری صورت میں، فوری طور پر الفاظ کے ملاپ کے کسی بھی پتہ لگانے کے معیار پر کسی بھی سکین کی کوشش کی فائل اپ لوڈ حذف کرنے کی کوشش کرنے کے لئے اس ہدایت کو چالو کرنے سکرپٹ ہدایت کرے گا. "صاف" ہونے کا تعین کیا فائلیں چھوا نہیں رکھا جائے گا. ابلیھاگاروں کی صورت میں، پورے آرکائیو حذف کر دیا جائے گا قطع نظر یا نہیں آمیز فائل کا صرف ایک ہی محفوظ شدہ دستاویزات کے اندر موجود کئی فائلوں میں سے ہے. فائل اپ لوڈ کی سکیننگ کے معاملے کے طور پر، عام طور پر، یہ ضروری نہیں ہے، یہ ہدایت چالو کرنے کے لئے عام طور پر PHP کی خود کار طریقے سے اس کی کیشے کے مندرجات مٹا دے گا کیونکہ عملدرآمد ختم ہو گیا ہے جب یہ عام طور پر کرنے کے لئے اس کے ذریعے اپ لوڈ کردہ کسی بھی فائلوں کو خارج کر دیں گے جس کا مطلب ہے، سرور جب تک کہ وہ پہلے ہی منتقل کر دیا کاپی یا خارج کر دیا گیا ہے. یہ ہدایت جن PHP کی کاپیاں ہمیشہ انداز کی توقع میں برتاؤ نہیں کر سکتے ہیں ان کے لئے سیکورٹی کی ایک اضافی اقدام کے طور پر یہاں شامل کی جاتی ہے. False (جھوٹی) = سکیننگ کے بعد، اکیلے فائل [پہلے سے طے شدہ] چھوڑ دیں؛ True (سچے) = سکیننگ کے بعد، صاف نہیں ہے تو، فوری طور پر خارج کر دیں.
  • -
- -#####
"lang"
-
    -
  • phpMussel لئے پہلے سے طے شدہ زبان.
  • -
- -#####
"lang_override"
-
    -
  • جب بھی ممکن ہو HTTP_ACCEPT_LANGUAGE کے مطابق لوکلائز کریں؟ True (سچے) = جی ہاں [پہلے سے طے شدہ]؛ False (جھوٹی) = نہیں.
  • -
- -#####
"numbers"
-
    -
  • نمبروں کو ظاہر کرنے کی وضاحت کرتا ہے.
  • -
- -
فی الحال تعاون شدہ اقدار:

- -قدر | پیدا کرتا ہے | تفصیل ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | پہلے سے طے شدہ. -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -
نوٹ: یہ اقدار کہیں بھی معیاری نہیں ہیں، اور شاید پیکج سے باہر متعلقہ نہیں ہوں گے. اس کے علاوہ، معاون اقدار مستقبل میں تبدیل کر سکتے ہیں.

- -#####
"quarantine_key"
-
    -
  • phpMussel سنگرودھ، phpMussel والٹ کے اندر تنہائی میں فائل اپ لوڈ کی کوشش جھنڈا لگایا اس سے تم نے ایسا کرنا چاہتے ہیں کچھ ہے تو قابل ہے. صرف دل کی گہرائیوں سے کسی بھی پرچم لگایا کوشش کی فائل اپ لوڈ اس فعالیت کو غیر فعال کر چھوڑ دینا چاہئے تجزیہ کرنے میں کوئی دلچسپی کے بغیر ان کی ویب سائٹ یا ہوسٹنگ ماحول کی حفاظت کے لئے چاہتے ہیں کہ phpMussel کے آرام دہ اور پرسکون صارفین، لیکن میلویئر کی تحقیق کے لئے یا اسی طرح کے پرچم لگائے کوشش کی فائل اپ لوڈ کی مزید تجزیہ کرنے میں دلچسپی رکھتے کسی بھی صارفین ایسی چیزوں کو اس فعالیت کو چالو کرنا چاہئے. نشان زدہ کوشش کی فائل اپ لوڈ کی Quarantining کبھی کبھی بھی، جھوٹے مثبت ٹھیک کرنا میں مدد کر سکتے ہیں یہ اکثر آپ کے لئے اس وقت ہوتی ہے کہ کچھ ہے. سنگرودھ فعالیت کو غیر فعال کرنے کیلئے، بس "quarantine_key" ہدایت خالی چھوڑ دیں، یا یہ کہ ہدایت کے مندرجات کو مٹانے یہ پہلے سے خالی نہیں ہے. سنگرودھ فعالیت کو چالو کرنے کے لئے، ہدایت میں کچھ قیمت درج کریں. "quarantine_key" ممکنہ حملہ آوروں کی طرف سے اور سنگرودھ کے اندر اندر ذخیرہ کردہ ڈیٹا کی کسی بھی ممکنہ پھانسی کی روک تھام کا ایک ذریعہ کے طور پر استحصال کیا جا رہا ہے سے قرنطینہ فعالیت کی روک تھام کا ایک ذریعہ کے طور پر ضرورت سنگرودھ فعالیت کا ایک اہم حفاظتی خصوصیت ہے. "quarantine_key" آپ کے پاس ورڈ کے طور پر اسی انداز میں علاج کیا جانا چاہئے: اب بہتر ہے، اور مضبوطی سے اس کی حفاظت. بہترین اثر کے لیے، "delete_on_sight" ساتھ مل کر میں استعمال کرتے ہیں.
  • -
- -#####
"quarantine_max_filesize"
-
    -
  • فائلوں کی زیادہ سے زیادہ قابل اجازت فائل قرنطینہ جائے. متعین قدر سے بڑی فائلوں قرنطینہ نہیں رکھا جائے گا. یہ ہدایت کسی بھی ممکنہ حملہ آوروں کے ممکنہ طور پر اپنے ہوسٹنگ سروس پر رن دور ڈیٹا کے استعمال کے باعث ناپسندیدہ اعداد و شمار کے ساتھ آپ کے سنگرودھ سیلاب کے لئے یہ زیادہ مشکل بنانے کا ایک ذریعہ کے طور پر اہم ہے. پہلے سے طے شدہ = 2MB.
  • -
- -#####
"quarantine_max_usage"
-
    -
  • زیادہ سے زیادہ میموری کا استعمال سنگرودھ کے لئے کی اجازت دی. سنگرودھ طرف سے استعمال کیا کل میموری اس قیمت تک پہنچ جاتا ہے تو، استعمال کیا کل میموری اب کوئی اس قیمت تک پہنچ جاتا ہے جب تک قدیم ترین قرنطینہ فائلوں کو خارج کر دیا جائے گا. یہ ہدایت کسی بھی ممکنہ حملہ آوروں کے ممکنہ طور پر اپنے ہوسٹنگ سروس پر رن دور ڈیٹا کے استعمال کے باعث ناپسندیدہ اعداد و شمار کے ساتھ آپ کے سنگرودھ سیلاب کے لئے یہ زیادہ مشکل بنانے کا ایک ذریعہ کے طور پر اہم ہے. پہلے سے طے شدہ = 64MB.
  • -
- -#####
"quarantine_max_files"
-
    -
  • قرنطین میں موجود فائلوں کی زیادہ سے زیادہ تعداد. جب قرنطین میں نئی فائلوں کو شامل کیا جاتا ہے تو، اگر یہ نمبر تجاوز کردی جاتی ہے تو، پرانی فائلوں کو حذف کر دیا جائے گا جب باقی باقی اب اس نمبر سے زیادہ نہیں ہیں. پہلے سے طے شدہ = 100.
  • -
- -#####
"honeypot_mode"
-
    -
  • جب honeypot موڈ چالو حالت میں ہے، phpMussel یہ مقابلوں کہ ہر ایک فائل اپ لوڈ نظرانداز کرنے پر، قطع نظر یا نہیں فائل اپ لوڈ کی جارہی میل کھاتا کی کوشش کرے گا کسی بھی دستخط شامل ہیں، اور ان لوگوں کی کوشش کی فائل اپ لوڈ کی کوئی اصل سکیننگ یا تجزیہ اصل میں واقع ہو گا. یہ فعالیت وائرس/میلویئر کی تحقیق کے مقاصد کے لئے phpMussel استعمال کرنا چاہتے ہیں ان لوگوں کے لئے مفید ہونا چاہئے، لیکن صارف کی طرف phpMussel کے مقصد کے استعمال کی اصل فائل اپ لوڈ کی سکیننگ کے لئے ہے اگر یہ نہ تو اس فعالیت کو چالو کرنے کی سفارش کی، اور نہ ہی استعمال کرنے کے لئے سفارش کی جاتی ہے honeypotting علاوہ دیگر مقاصد کے لئے honeypot فعالیت. بنیادی طور پر، اس اختیار کو غیر فعال ہے. False (جھوٹی) = معذور [پہلے سے طے شدہ]؛ True (سچے) = فعال.
  • -
- -#####
"scan_cache_expiry"
-
    -
  • کب تک phpMussel سکیننگ کے نتائج کیشے چاہئے؟ قیمت کے لئے سکیننگ کے نتائج کیشے سیکنڈ کی تعداد ہے. پہلے سے طے شدہ 21600 سیکنڈ (6 گھنٹے) ہے؛ 0 کی قدر سکیننگ کے نتائج کیشنگ کو غیر فعال کریں گے.
  • -
- -#####
"disable_cli"
-
    -
  • فعال CLI موڈ؟ CLI موڈ ڈیفالٹ کی طرف سے چالو حالت میں ہے، لیکن کبھی کبھی بعض جانچ کے آلات (جیسے PHPUnit کے طور پر، مثال کے طور پر) اور دیگر CLI کی بنیاد پر ایپلی کیشنز کے ساتھ مداخلت کر سکتے ہیں. آپ CLI موڈ کو غیر فعال کرنے کی ضرورت نہیں ہے تو، آپ کو اس ہدایت کو نظر انداز کرنا چاہئے. False (جھوٹی) = CLI موڈ [پہلے سے طے شدہ] فعال؛ True (سچے) = غیر فعال CLI موڈ
  • -
- -#####
"disable_frontend"
-
    -
  • سامنے کے آخر تک رسائی کو غیر فعال کریں؟ سامنے کے آخر میں رسائی phpMussel زیادہ انتظام بنا سکتے ہیں، لیکن یہ بھی بہت ہے، ایک زبردست حفاظتی خطرہ ہو سکتا ہے. یہ جب بھی ممکن ہو واپس کے آخر کے ذریعے phpMussel منظم کرنے کی سفارش کی جاتی ہے، لیکن سامنے کے آخر میں رسائی ممکن نہیں ہے جب کے لئے فراہم کی جاتی ہے. تمہیں اس کی ضرورت ہے جب تک کہ اس کو معذور رکھیں. False (جھوٹی) = سامنے کے آخر میں رسائی کو فعال کریں؛ True (سچے) = غیر فعال سامنے کے آخر میں رسائی [پہلے سے طے شدہ].
  • -
- -#####
"max_login_attempts"
-
    -
  • لاگ ان کوششوں کی زیادہ سے زیادہ تعداد (سامنے کے آخر میں). پہلے سے طے شدہ = 5.
  • -
- -#####
"frontend_log"
-
    -
  • v1: "FrontEndLog"
  • -
  • لاگنگ سامنے کے آخر میں لاگ ان کوششوں کے لئے فائل. ایک فائل کا نام کی وضاحت کریں، یا غیر فعال کرنے خالی چھوڑ دیں.
  • -
- -#####
"disable_webfonts"
-
    -
  • ویب فونٹس کے غیر فعال کریں؟ True (سچے) = جی ہاں [پہلے سے طے شدہ]؛ False (جھوٹی) = کوئی.
  • -
- -#####
"maintenance_mode"
-
    -
  • بحالی کا موڈ فعال کریں؟ True (سچے) = جی ہاں؛ False (جھوٹی) = کوئی [پہلے سے طے شدہ]. سامنے کے اختتام کے مقابلے میں سب کچھ غیر فعال کرتا ہے. کبھی کبھی آپ کے CMS، فریم ورک، وغیرہ کو اپ ڈیٹ کرنے کے لئے مفید ہے.
  • -
- -#####
"default_algo"
-
    -
  • اس بات کی وضاحت کرتا ہے جو تمام مستقبل کے پاس ورڈ اور سیشن کے لئے الگورتھم استعمال کرنا ہے. اختیارات: PASSWORD_DEFAULT (ڈیفالٹ), PASSWORD_BCRYPT, PASSWORD_ARGON2I (PHP >= 7.2.0 کی ضرورت ہے), PASSWORD_ARGON2ID (PHP >= 7.3.0 کی ضرورت ہے).
  • -
- -#####
"statistics"
-
    -
  • phpMussel استعمال کے اعداد و شمار کو ٹریک کریں؟ True (سچے) = جی ہاں؛ False (جھوٹی) = نہیں [پہلے سے طے شدہ].
  • -
- -#####
"hide_version"
-
    -
  • لاگ ان اور صفحے کی پیداوار سے ورژن کی معلومات چھپائیں؟ True (سچے) = جی ہاں؛ False (جھوٹی) = نہیں [پہلے سے طے شدہ].
  • -
- -#####
"disabled_channels"
-
    -
  • درخواستوں کو بھیجنے کے لئے خاص طور پر چینلز کا استعمال کے لئے phpMussel کو روکنے کے لئے یہ استعمال کیا جا سکتا ہے (مثال کے طور پر، جب اپ ڈیٹ کرنا، اجزاء میٹا ڈیٹا، وغیرہ کو پکڑنے کے بعد).
  • -
- -#####
"default_timeout"
-
    -
  • بیرونی درخواستوں کے لئے استعمال کرنے کیلئے پہلے سے طے شدہ ٹائم آؤٹ؟ پہلے سے طے شدہ = 12 سیکنڈ.
  • -
- -####
"signatures" (قسم)
-
دستخط ترتیب.

- -#####
"active"
-
    -
  • v1: "Active"
  • -
  • فعال دستخط کی فائلوں، کوما سے ختم ہونے والی کی ایک فہرست.
  • -
- -
نوٹ:
    -
  • دستخط فائلوں کو پہلے ہی انسٹال کرنا ضروری ہے، اس سے پہلے کہ آپ ان کو چالو کرسکیں.
  • -
  • ٹیسٹ کی فائلوں کو صحیح طریقے سے کام کرنے کے لئے، دستخط فائلوں کو انسٹال کرنا اور چالو کرنا ضروری ہے.
  • -
  • اس ترتیب کی قیمت کیش میں ذخیرہ کیا جاتا ہے. تبدیل کرنے کے بعد، آپ کو مناسب طریقے سے کام کرنے کے لۓ کیش کو خارج کرنے کی ضرورت ہوسکتی ہے.
  • -
- -#####
"fail_silently"
-
    -
  • چاہئے phpMussel رپورٹ جب دستخط فائلوں غائب یا خراب ہو؟ اگر "fail_silently"، غیر فعال ہے لاپتہ اور خراب فائلوں سکیننگ پر اطلاع دی جائے گی، اور" اگر fail_silently" فعال لاپتہ اور خراب فائلوں کو کسی بھی مسائل موجود نہیں ہیں کہ ان فائلوں کے لئے رپورٹنگ سکیننگ کے ساتھ، نظر انداز کر دیا جائے گا. آپ گر کر تباہ یا اسی طرح کے مسائل کا سامنا کر رہے ہیں جب تک کہ یہ عام تنہا چھوڑ دیا جانا چاہئے. False (جھوٹی) = معذور؛ True (سچے) = چالو کیا [پہلے سے طے شدہ].
  • -
- -#####
"fail_extensions_silently"
-
    -
  • چاہئے phpMussel رپورٹ توسیعات لاپتہ ہیں جب؟ fail_extensions_silently" غیر فعال ہے "تو، لاپتہ توسیعات سکیننگ پر اطلاع دی جائے گی، اور" اگر fail_extensions_silently" چالو حالت میں ہے، لاپتہ توسیعات کسی بھی مسائل موجود نہیں ہیں کہ ان فائلوں کے لئے رپورٹنگ سکیننگ کے ساتھ، نظر انداز کر دیا جائے گا. اس حکم کو غیر فعال ممکنہ طور پر آپ کی سیکورٹی میں اضافہ ہو سکتا ہے، بلکہ جھوٹے مثبت کا اضافہ کا باعث بن سکتا. False (جھوٹی) = معذور؛ True (سچے) = چالو کیا [پہلے سے طے شدہ].
  • -
- -#####
"detect_adware"
-
    -
  • phpMussel ایڈویئر کا پتہ لگانے کے لئے دستخط تجزیہ کرنا چاہیے؟ False (جھوٹی) = کوئی؛ True (سچے) = جی ہاں [پہلے سے طے شدہ].
  • -
- -#####
"detect_joke_hoax"
-
    -
  • phpMussel مذاق/چکما میلویئر/وائرس کا پتہ لگانے کے لئے دستخط تجزیہ کرنا چاہیے؟ False (جھوٹی) = کوئی؛ True (سچے) = جی ہاں [پہلے سے طے شدہ].
  • -
- -#####
"detect_pua_pup"
-
    -
  • phpMussel PUAs/بچوں کا پتہ لگانے کے لئے دستخط تجزیہ کرنا چاہیے؟ False (جھوٹی) = کوئی؛ True (سچے) = جی ہاں [پہلے سے طے شدہ].
  • -
- -#####
"detect_packer_packed"
-
    -
  • phpMussel پیکرز اور پیک کے اعداد و شمار کا پتہ لگانے کے لئے دستخط تجزیہ کرنا چاہیے؟ False (جھوٹی) = کوئی؛ True (سچے) = جی ہاں [پہلے سے طے شدہ].
  • -
- -#####
"detect_shell"
-
    -
  • phpMussel شیل اسکرپٹ کا پتہ لگانے کے لئے دستخط تجزیہ کرنا چاہیے؟ False (جھوٹی) = کوئی؛ True (سچے) = جی ہاں [پہلے سے طے شدہ].
  • -
- -#####
"detect_deface"
-
    -
  • phpMussel defacements اور defacers کا پتہ لگانے کے لئے دستخط تجزیہ کرنا چاہیے؟ False (جھوٹی) = کوئی؛ True (سچے) = جی ہاں [پہلے سے طے شدہ].
  • -
- -#####
"detect_encryption"
-
    -
  • phpMussel کو خفیہ کاری فائلوں کا پتہ لگانے اور بلاک کرنا چاہئے؟ False (جھوٹی) = کوئی؛ True (سچے) = جی ہاں [پہلے سے طے شدہ].
  • -
- -####
"files" (قسم)
-
کنفیگریشن ہینڈلنگ فائل.

- -#####
"max_uploads"
-
    -
  • فائلوں کی زیادہ سے زیادہ قابل اجازت تعداد میں اپ لوڈ کے دوران فائلوں کو اسکین اسکین کرنے اسکین اسقاط اور صارف کو وہ بہت زیادہ ایک ہی بار میں اپ لوڈ کر رہے ہیں مطلع کرنے سے پہلے! ایک نظریاتی حملے ہیں جس کے تحت ایک حملہ آور ایک پیسنے رک PHP عمل کو سست کرنے phpMussel اوور لوڈنگ کی طرف سے آپ کے سسٹم یا CMS DDOS کرنے کی کوشش کے خلاف تحفظ فراہم کرتا ہے. تجویز کردہ: 10. آپ کو بڑھانے یا اس نمبر سے آپ ہارڈ ویئر کی رفتار پر منحصر ہے کو کم کر سکتے ہیں. کہ اس نمبر کے لئے اکاؤنٹ یا ابلیھاگاروں کے مندرجات شامل نہیں ہے یاد رکھیں کہ.
  • -
- -#####
"filesize_limit"
-
    -
  • میں KB فائل کی حد. 65536 = 64MB [پہلے سے طے شدہ]؛ 0 = کوئی حد نہیں (ہمیشہ سرمئی درج)، کسی بھی (مثبت) عددی قیمت قبول کر لیا. آپ PHP کی ترتیب میموری کی رقم ایک عمل کو پکڑ کر سکتے محدود کر دیتی ہے یا اپ لوڈز آپ PHP کی ترتیب حدود فائل اگر تو یہ مفید ہو سکتا ہے.
  • -
- -#####
"filesize_response"
-
    -
  • کیا فائل کی حد سے تجاوز ہے کہ (اگر موجود ہو) فائلوں کے ساتھ کیا کرنا. False (جھوٹی) = وائٹ لسٹ؛ True (سچے) = بلیک لسٹ [پہلے سے طے شدہ].
  • -
- -#####
"filetype_whitelist"، "filetype_blacklist"، "filetype_greylist"
-
    -
  • آپ کے سسٹم صرف فائلوں کی مخصوص اقسام اپ لوڈ کیا جا کرنے کی اجازت دیتا ہے، یا آپ کے سسٹم کو واضح طور پر، فائلوں کی بعض اقسام کی تردید کرتے ہیں وائٹ لسٹیں، بلیک لسٹ اور سرمئی فہرستوں میں ان قسم کی فائلوں کی وضاحت جس میں رفتار سکیننگ جائیں کرنے سکرپٹ اجازت دے کر کیا جاتا ہے بڑھا سکتے ہیں اگر تو بعض قسم کی فائلوں کے دوران. ڈاک CSV (علامت سے علیحدہ اقدار) ہے. آپ کو سب کچھ، بلکہ وائٹ لسٹ، بلیک لسٹ یا بھوری رنگ کی فہرست کے مقابلے میں اسکین کرنے کے لئے چاہتے ہیں، متغیر خالی چھوڑ؛ ایسا کرنے سے وائٹ لسٹ/بلیک لسٹ/سرمئی فہرست کو غیر فعال کریں گے.
  • -
  • پروسیسنگ کے منطقی حکم ہے:
  • -
      -
    • قسم کی فائل کو وائٹ لسٹ میں ہے، تو اسکین نہیں اور فائل کو مسدود نہ کریں، اور بلیک لسٹ یا سرمئی فہرست خلاف کی فائل کو چیک نہیں کرتے.
    • -
    • قسم کی فائل کو بلیک لسٹ کیا جاتا ہے تو، فائل کو اسکین نہیں لیکن بہرحال اس پر بلاک، اور سرمئی فہرست خلاف کی فائل کو چیک نہیں کرتے.
    • -
    • سرمئی لسٹ خالی ھے یا سرمئی لسٹ خالی نہیں ہے اور قسم کی فائل سرمئی مندرج ہے تو، عام طور پر فی فائل کو اسکین اور اسکین کے نتائج کی بنیاد پر اسے مسدود کرنا چاہے تعین، لیکن بھوری رنگ لسٹ خالی نہیں ہے تو تو اور قسم کی فائل، درج ہوتا نہیں گرے بلیک لسٹ کے طور پر فائل کا علاج، اس وجہ سے اس کو سکین لیکن ویسے یہ مسدود نہیں.
    • -
    -
- -#####
"check_archives"
-
    -
  • ابلیھاگاروں کے مندرجات کو چیک کرنے کی کوشش؟ False (جھوٹی) = چیک نہ کریں؛ True (سچے) = چیک کریں [پہلے سے طے شدہ].
  • -
- - 
شکل
|  
پڑھ سکتے ہیں
|  
دوبارہ پڑھ سکتے ہیں
|  
خفیہ کاری کا پتہ لگانا
|  
نوٹس
----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ |  
libzip کی ضرورت ہوتی ہے (عام طور پر PHP کے ساتھ شامل). بھی حمایت کی (zip فارمیٹ استعمال کرتا ہے): ✔️ OLE اعتراض کا سراغ لگانا. ✔️ آفس میکرو کا پتہ لگانا.
-Tar | ✔️ | ✔️ | ➖ |  
کوئی خاص ضروریات نہیں. فارمیٹ خفیہ کاری کی حمایت نہیں کرتا.
-Rar | ✔️ | ✔️ | ✔️ |  
rar توسیع کی ضرورت ہوتی ہے (جب یہ توسیع انسٹال نہیں ہے تو، phpMussel rar فائلوں کو پڑھ نہیں سکتے).
-Phar | ❌ | ❌ | ❌ |  
سپورٹ v1.6.0 میں ہٹا دیا گیا ہے. محفوظ نہیں. دوبارہ شامل نہیں کیا جائے گا.
- -
معاونت کا خیر مقدم ہے، اگر کوئی اسے بہتر بنانا چاہتا ہے.

- -#####
"filesize_archives"
-
    -
  • ابلیھاگاروں کے مندرجات کو فائل بلیک لسٹ/وہسلنگ لے؟ False (جھوٹی) = کوئی (صرف greylist سب کچھ)؛ True (سچے) = جی ہاں [پہلے سے طے شدہ].
  • -
- -#####
"filetype_archives"
-
    -
  • قسم کی فائل بلیک لسٹ/دستاویز کے مندرجات کو وہسلنگ لے؟ False (جھوٹی) = کوئی (صرف greylist سب کچھ) [پہلے سے طے شدہ]؛ True (سچے) = جی ہاں.
  • -
- -#####
"max_recursion"
-
    -
  • ابلیھاگاروں کے لئے زیادہ سے زیادہ تکرار کی گہرائی کی حد. پہلے سے طے شدہ = 3.
  • -
- -#####
"block_encrypted_archives"
-
    -
  • پتہ لگانے اور مرموز آرکائیوز کو بلاک؟ کیونکہ phpMussel مرموز ابلیھاگاروں کے مندرجات کو اسکین کرنے کے قابل نہیں ہے، یہ ممکن ہے کہ محفوظ شدہ دستاویزات خفیہ کاری phpMussel، اینٹی وائرس سکینر اور ایسی دیگر تحفظات کو نظرانداز کرنے کی کوشش کرنے کا ایک ذریعہ کے طور پر ایک حملہ آور کی طرف سے ملازم ہو جائے. phpMussel جو مرموز جائے کرنے کو پتہ چلتا ہے کہ کسی بھی تاریخی دستاویز کو بلاک کرنے کی تربیت؛ ممکنہ طور پر یہ اس طرح کے امکانات کے ساتھ منسلک کسی بھی خطرے کو کم کرنے میں مدد کر سکتا ہے. False (جھوٹی) = کوئی؛ True (سچے) = جی ہاں [پہلے سے طے شدہ].
  • -
- -#####
"max_files_in_archives"
-
    -
  • اسکین کو ختم کرنے سے قبل آرکائیوز کے اندر سے اسکین کرنے کی فائلوں کی زیادہ سے زیادہ تعداد. پہلے سے طے شدہ = 0 (زیادہ سے زیادہ نہیں ہے).
  • -
- -####
"attack_specific" (قسم)
-
حملہ مخصوص ہدایات.

- -
گرگٹ حملے کا پتہ لگانے: False (جھوٹی) = بند؛ True (سچے) = پر.

- -#####
"chameleon_from_php"
-
    -
  • نہ تو PHP فائلوں کو نہ پہچان لیا آرکائیوز ہیں کہ فائلوں میں PHP ہیڈر تلاش کریں.
  • -
- -#####
"can_contain_php_file_extensions"
-
    -
  • فائل کی توسیع کی ایک فہرست PHP کوڈ پر مشتمل ہونے کی اجازت دیتا ہے، جو کمم کے ذریعہ الگ ہوتی ہے. اگر PHP کی چیلنج حملے کا پتہ چلتا ہے تو، PHP کوڈ پر مشتمل فائلوں، جو اس فہرست پر مشتمل نہیں ہیں، اس PHP کی چیلنج حملوں کے طور پر پتہ چلا جائے گا.
  • -
- -#####
"chameleon_from_exe"
-
    -
  • نہ تو چلنے نہ ہی تسلیم کیا آرکائیوز ہیں کہ فائلوں میں اور چلنے جن ہیڈرز غلط ہیں کے لئے کارکردگی قابل ہیڈر کے لئے تلاش کریں.
  • -
- -#####
"chameleon_to_archive"
-
    -
  • آرکائیو اور کمپریسڈ فائلوں میں غلط ہیڈر کا پتہ لگائیں. تائید: BZ/BZIP2، GZ/GZIP، LZF، RAR، ZIP
  • -
- -#####
"chameleon_to_doc"
-
    -
  • جس کا ہیڈرز ہیں غلط دفتر دستاویزات کے لئے تلاش کریں (تائید: DOC، ڈاٹ، پی پی ایس، PPT، XLA، XLS، جانکار).
  • -
- -#####
"chameleon_to_img"
-
    -
  • جس کا ہیڈرز غلط ہیں تصاویر کے لئے تلاش کریں (تائید: BMP، DIB، PNG، GIF، JPEG، JPG، XCF، PSD، PDD، WEBP.
  • -
- -#####
"chameleon_to_pdf"
-
    -
  • پی ڈی ایف فائلوں جن ہیڈرز غلط ہیں کے لئے تلاش کریں.
  • -
- -#####
"archive_file_extensions"
-
    -
  • تسلیم شدہ آرکائیو فائل ایکسٹنشن (شکل CSV ہے؛ مسائل پائے جاتے ہیں جب صرف شامل کرنے یا ہٹانے چاہئے؛ غیر ضروری طور پر ہٹانے کے بغیر وجہ انہوں نے مزید کہا کہ آپ حملے مخصوص پتہ لگانے سے اضافہ کر رہے ہیں کیا بنیادی طور پر وائٹ لسٹ گے جبکہ جھوٹے مثبت، ذخیرہ فائلوں کے لئے ظاہر کرنے کے لئے کی وجہ سے ہو سکتا ہے، کے ساتھ نظر ثانی احتیاط بھی نوٹ کریں کہ اس تاریخی دستاویز اور مواد کی سطح پر تجزیہ نہیں کیا جا سکتا کر سکتے ہیں پر کوئی اثر) ہے. فہرست، ڈیفالٹ میں ہے کے طور پر، نظام اور CMS کی اکثریت کے اس پار سب سے زیادہ عام طور پر استعمال والوں فارمیٹس کی فہرست، لیکن جان بوجھ ضروری جامع نہیں ہے.
  • -
- -#####
"block_control_characters"
-
    -
  • کسی بھی کنٹرول حروف (نیولائنز علاوہ) استعمال میں کسی بھی فائلوں کو مسدود کریں؟ ("[\x00-\x08\x0b\x0c\x0e\x1f\x7f]") آپ ہو تو صرف اپ لوڈ سادہ ٹیکسٹ، تو آپ اس اختیار کو کچھ اضافی تحفظ فراہم کرنے کے لئے پر تبدیل کر سکتے ہیں آپ کے سسٹم. تاہم، اگر آپ کو سادہ متن کے علاوہ اور کچھ پر اس رخ جھوٹے مثبت نتیجے میں اپ لوڈ کریں. False (جھوٹی) = مسدود نہ کریں [پہلے سے طے شدہ]؛ True (سچے) = بلاک.
  • -
- -#####
"corrupted_exe"
-
    -
  • خراب فائلوں اور غلطیوں کا تجزیہ. False (جھوٹی) = نظرانداز کریں. سچا = بلاک [پہلے سے طے شدہ]. پتہ لگانے اور ممکنہ طور پر خراب PE (پورٹ ایبل نفاذ پذیر) فائلوں کو بلاک؟ اکثر ایسا ہوتا ہے (لیکن ہمیشہ نہیں)، ایک PE فائل کے کچھ پہلوؤں کو خراب کر رہے ہیں یا صحیح طریقے سے پارس نہیں کیا جا سکتا ہے جب، یہ ایک وائرل انفیکشن کا اشارہ ہو سکتا ہے. سب سے زیادہ اینٹی وائرس پروگراموں کی طرف سے استعمال کیا جاتا ہے عمل PE فائلوں میں وائرس کا پتہ لگانے کے لئے ان کے وائرس undetected رہنے کی اجازت دینے کے لئے ہے، بعض طریقوں، ایک وائرس کے پروگرامر کے بارے میں معلوم ہو تو خاص طور پر روکنے کی کوشش کریں گے، جس میں ان فائلوں کی تصریف کی ضرورت ہوتی ہے.
  • -
- -#####
"decode_threshold"
-
    -
  • خام ڈیٹا جس کے اندر ڈیکوڈ کمانڈز کے پتہ جانی چاہئے کی لمبائی کے حد سے (کے معاملے میں کسی بھی نمایاں کارکردگی کے مسائل جبکہ سکیننگ سے ہیں). پہلے سے طے شدہ = 512KB. زیرو یا شہوت انگیز null قیمت (فائل کی بنیاد پر اس طرح کے کسی بھی حد کو ہٹانے کے) حد سے نااہل کیا.
  • -
- -#####
"scannable_threshold"
-
    -
  • کہ phpMussel پڑھیں اور سکین کرنے کی اجازت ہے خام ڈیٹا کی لمبائی کی حد (کے معاملے میں کوئی نمایاں کارکردگی کے مسائل جبکہ سکیننگ ہیں). پہلے سے طے شدہ = 32MB. زیرو یا خالی قدر حد سے غیر فعال. عام طور پر، اس کی قیمت آپ چاہتے ہیں اور filesize_limit ہدایت کے مقابلے میں زیادہ نہیں ہونا چاہئے، آپ کے سرور یا ویب سائٹ کو حاصل کرنے کی توقع ہے کہ فائل اپ لوڈ کی اوسط فائل سے کم نہیں ہونا چاہئے، اور میں سے ایک تقریبا سے زیادہ پانچویں نہیں ہونا چاہئے کل قابل اجازت میموری مختص "php.ini" ترتیب دینے کی فائل کے ذریعے PHP کے لئے عطا کی. یہ ہدایت بہت زیادہ میموری کا استعمال کرتے ہوئے کی طرف سے phpMussel کو روکنے کے لئے کوشش کرنے کے لئے موجود ہے (کہ کامیابی کی ایک مخصوص فائل کے اوپر فائلوں کو اسکین کرنے کے قابل ہونے سے روکنے کروں گا).
  • -
- -#####
"allow_leading_trailing_dots"
-
    -
  • فائلوں کے آغاز اور اختتام پر نقطہ نظر کی اجازت دیں؟ یہ کبھی کبھی استعمال کرنے کے لئے فائلوں کو چھپانے کے لئے، یا کچھ نظام کو ڈائل کرنے کے لئے استعمال کیا جا سکتا ہے ڈائرکٹری کے تبادلوں کی اجازت دیتا ہے. False (جھوٹی) = اجازت نہ دیں [پہلے سے طے شدہ]؛ True (سچے) = اجازت دیں.
  • -
- -#####
"block_macros"
-
    -
  • میکروس پر مشتمل کسی بھی فائل کو روکنے کی کوشش کریں؟ کچھ قسم کے دستاویزات اور سپریڈ شیٹوں میں قابل عمل میکروس شامل ہوسکتا ہے، اس طرح ایک خطرناک ممکنہ میلویئر ویکٹر فراہم کرتا ہے. False (جھوٹی) = مسدود نہ کریں [پہلے سے طے شدہ]؛ True (سچے) = بلاک.
  • -
- -####
"compatibility" (قسم)
-
phpMussel لئے مطابقت ہدایات.

- -#####
"ignore_upload_errors"
-
    -
  • جب تک یہ آپ کی مخصوص نظام پر phpMussel کا صحیح فعالیت کے لئے ضروری ہے یہ ہدایت عام طور پر غیر فعال کر دیا جائے چاہئے. عام طور پر، جب معذور، phpMussel میں عناصر کی موجودگی کا پتہ لگاتا ہے جب $_FILES array()، یہ phpMussel ایک غلطی پیغام واپس آ جائیں گے، ان عناصر کو خالی یا خالی ہو تو، فائلوں ان عناصر کی نمائندگی کرتے ہیں کی ایک اسکین شروع کرنے کی کوشش کرتے ہیں، اور کرے گا. یہ phpMussel لئے مناسب رویہ ہے. تاہم، کچھ CMS کے لئے، میں خالی عناصر $_FILES وہاں نہ کوئی بھی ہوتے ہیں تو اس صورت میں، phpMussel لئے عام رویہ ان لوگوں CMS کے عام رویے کے ساتھ مداخلت کی جائے گی رپورٹ کیا جا سکتا ہے ان لوگوں کے CMS، یا غلطیوں کے قدرتی رویے کے نتیجے میں ہو سکتا ہے. ایک ایسی صورتحال نے اس وقت ہوتی ہے، تو اس اختیار کو چالو کرنے کے، phpMussel طرح خالی عناصر کے لئے علیحدہ اسکین کی ضرورت شروع کرنے کی کوشش نہ کرنے کی ہدایت دیں گے، اس طرح کے صفحے کی درخواست کے تسلسل کی اجازت دی چلا جب ان کو نظر انداز اور کسی بھی متعلقہ خرابی کے پیغامات واپس نہیں کرنا. False (جھوٹی) = بند کر؛ True (سچے) = چالو کردیا.
  • -
- -#####
"only_allow_images"
-
    -
  • جب true پر سیٹ کریں، اسکینر کے ذریعہ پائے جانے والی غیر تصویر والی فائلوں کو فوری طور پر نشان زد کیا جائے گا، اسکین کیے بغیر. اس سے کچھ معاملات میں اسکین مکمل کرنے کے لئے درکار وقت کو کم کرنے میں مدد مل سکتی ہے. بطور ڈیفالٹ false پر سیٹ کریں.
  • -
- -####
"heuristic" (قسم)
-
انکشافی ہدایات.

- -#####
"threshold"
-
    -
  • phpMussel فائلوں کی مشکوک اور ممکنہ طور پر بدنیتی پر مبنی خصوصیات کی شناخت کے لئے ارادہ کر رہے ہیں کہ بعض دستخط موجود ہیں خود میں بغیر اپ لوڈ کیا جا رہا ہے ان فائلوں بدنیتی پر مبنی ہونے کے طور پر خاص طور پر اپ لوڈ کیا جا رہا ہے کی شناخت. یہ "دہلیز" قدر بتاتا ہے ان فائلوں درنساوناپورن کا جھنڈا لگا ہو رہے ہیں اس سے پہلے phpMussel فائلوں کی مشکوک اور ممکنہ طور پر بدنیتی پر مبنی خصوصیات کے زیادہ سے زیادہ کل وزن ہے کہ قابل اجازت ہے اپ لوڈ کیا جا رہا ہے. اس تناظر میں وزن کی تعریف کی شناخت مشکوک اور ممکنہ طور پر بدنیتی پر مبنی خصوصیات کی کل تعداد ہے. بنیادی طور پر، اس کی قیمت 3. ایک کم قیمت عام طور پر جھوٹے مثبت کے ایک اعلی موجودگی کے نتیجے میں جائے کرنے کے لئے مقرر کیا جائے گا لیکن بدنیتی پر مبنی فائلوں کی ایک بڑی تعداد جھنڈا لگایا جا رہا ہے، ایک زیادہ قیمت عام طور پر جھوٹے مثبت کی ایک کم موجودگی لیکن ایک کے نتیجے میں جائے جبکہ بدنیتی پر مبنی فائلوں کی کم تعداد جھنڈا لگایا جا رہا ہے. یہ آپ کو اس سے متعلق مسائل کا سامنا کر رہے ہیں جب تک کہ اس کا بنیادی میں اس قدر چھوڑنے کے لئے عام طور پر سب سے بہتر ہے.
  • -
- -####
"virustotal" (قسم)
-
VirusTotal.com ہدایات.

- -#####
"vt_public_api_key"
-
    -
  • اختیاری، phpMussel وائرس، ٹروجن، میلویئر اور دیگر خطرات کے خلاف تحفظ کی ایک بہت بڑھا سطح فراہم کرنے کے لئے ایک طریقہ کے طور پر وائرس کل API کا استعمال کرتے ہوئے فائلوں کو اسکین کرنے کے قابل ہے. بطور ڈیفالٹ، سکیننگ فائلوں وائرس کل API کا استعمال غیر فعال ہے. یہ فعال کرنے کیلئے، وائرس کل سے ایک API کلید درکار ہے. اگر آپ کے ساتھ فراہم کر سکتے ہیں کہ اہم فائدہ کی وجہ سے، جو میں انتہائی چالو کرنے کی سفارش کرتے ہیں کہ کچھ ہے. براہ کرم آگاہ رہیں، تاہم، کہ وائرس کل API استعمال کرنے کے لئے، آپ کو ضروری ان سروس کی شرائط سے اتفاق کرتا ہوں اور تم ضروری مطابق وائرس کل دستاویزات کی طرف سے بیان تمام ہدایات پر عمل! تم جب تک یہ انضمام خصوصیت کو استعمال کرنے کی اجازت نہیں ہے:
  • -
      -
    • آپ کو پڑھ اور وائرس کل اور اس API کے سروس کی شرائط سے اتفاق کرتا ہوں. وائرس کل اور اس API کے سروس کی شرائط پایا جا سکتا ہے یہاں.
    • -
    • آپ نے پڑھا ہے اور آپ کو ایک کم از کم، سمجھنے، وائرس کل پبلک API دستاویزات کا کردار (بعد "VirusTotal Public API v2.0" لیکن "Contents" سے پہلے سب کچھ). Virus Total پبلک API دستاویزات پایا جا سکتا ہے یہاں.
    • -
    -
- -
نوٹ: وائرس کل API غیر فعال ہے کا استعمال کرتے ہوئے فائلوں کو سکین تو، آپ کو اس زمرے میں ہدایت میں سے کسی پر نظرثانی کرنے کی ضرورت نہیں کرے گا ("virustotal")، اس غیر فعال ہو تو ان میں سے کوئی کچھ بھی کرے گا کیونکہ. ان کی ویب سائٹ پر کسی بھی جگہ سے، ایک وائرس کل API کلید حاصل کرنے کے لئے،، صفحے کے سب سے اوپر دائیں جانب واقع "ہماری کمیونٹی میں شامل" کے لنک پر کلک کر درخواست کی معلومات میں درج کریں، اور کلک کریں "سائن اپ" کیا جب. فراہم کی تمام ہدایات پر عمل کریں، اور آپ اپنے عوامی API کلید، کاپی/پیسٹ config.ini کنفیگریشن فائل کےvt_public_api_key ہدایت ہے کہ عوامی API کلید مل گیا ہے جب.

- -#####
"vt_suspicion_level"
-
    -
  • ڈیفالٹ کی طرف سے، phpMussel جس فائلوں کی یہ "مشکوک" سمجھتی ہے کہ ان فائلوں کو وائرس کل API کا استعمال کرتے ہوئے کو سکین کرتا ہے کو محدود کریں گے. آپ اختیاری vt_suspicion_level ہدایت کی قدر میں تبدیلی کرتے ہوئے اس پابندی کو ایڈجسٹ کر سکتے ہیں.
  • -
  • "0": فائلیں صرف phpMussel اس کے اپنے دستخط کا استعمال کرتے ہوئے کی طرف سے سکین کیا جا رہا ہے کے بعد، اگر مشکوک سمجھا جاتا ہے، وہ ایک انکشافی وزن لے جانے کے لئے تصور کیا جاتا ہے. یہ مؤثر طریقے سے وائرس کل API لئے جب phpMussel ایک فائل ممکنہ طور پر بدنیتی پر مبنی ہو سکتا ہے کہ شبہ ہے ایک دوسرے کی رائے کے لئے ہو جائے گا کے اس کے استعمال کا مطلب ہو گا، لیکن مکمل طور پر یہ بھی ممکنہ طور پر سومی (غیر درنساوناپورن) ہو سکتا ہے کو مسترد نہیں کر سکتے ہیں اور اس وجہ سے دوسری صورت میں عام طور پر بدنیتی پر مبنی ہونے کے طور پر اس کا یا اس پر پرچم لگا مسدود نہ کریں گے.
  • -
  • "1": فائلیں اس کے اپنے دستخط کا استعمال کرتے ہوئے phpMussel طرف سے سکین کیا جا رہا ہے کے بعد، اگر مشکوک سمجھا جاتا ہے، وہ (ایگزیکیوٹیبل ہو جانا جاتا رہے تو PE فائلوں، مچھ-O فائلیں، ایک انکشافی وزن لے جانے کے لئے تصور کیا جاتا ہے، تیر/لینکس فائلوں، وغیرہ)، یا وہ ایک شکل ہے کہ ممکنہ طور پر کارکردگی کا ڈیٹا (جیسے جیسے RARs، زپ اور وغیرہ) کارکردگی میکرو، DOC/DOCX فائلوں، ذخیرہ فائلوں پر مشتمل کر سکتے کے طور پر جانا جاتا رہے ہیں. یہ مؤثر طریقے سے وائرس کے استعمال کل API جب phpMussel ابتدائی طور پر بدنیتی پر مبنی یا ایک فائل جو مشکوک ہونے کے لئے اور اس وجہ سے کرے گا سمجھتی ہے کہ ساتھ کچھ غلط کچھ بھی نہیں کرتا ہے کے لئے ایک دوسرے کی رائے کے لئے ہو جائے گا کہ جس کا مطلب لاگو کرنے کے لئے پہلے سے طے شدہ اور سفارش شبہ سطح ہے دوسری صورت میں عام طور پر یہ یا بدنیتی پر مبنی ہونے کے طور پر پرچم لگا مسدود نہ.
  • -
  • "2": تمام فائلوں کو مشکوک سمجھا جاتا ہے اور وائرس کل API کا استعمال کرتے ہوئے اسکین کیا جانا چاہئے. میں عام طور پر بہت تیز وگرنہ صورت ہو گا کے مقابلے میں آپ API کوٹہ پہنچنے کے خطرے کی وجہ سے، اس شک کی سطح کا اطلاق کرنے کی سفارش نہیں کرتے، لیکن بعض حالات (جیسا کہ ویب ماسٹر یا hostmaster میں بہت کم ایمان یا اعتماد جو کچھ ہے جب سے ہیں ان صارفین کی اپ لوڈ کردہ مواد) اس شک کی سطح پر مناسب ہو سکتا ہے جہاں کے کسی بھی. اس شک کی سطح کے ساتھ، تمام فائلوں کو عام طور پر مسدود یا جھنڈا لگایا نہیں بدنیتی پر مبنی ہونے کی وجہ سے وائرس کل API کا استعمال کرتے ہوئے اسکین کیا جائے گا. نوٹ، تاہم، phpMussel اپنے API کوٹہ (قطع نظر اس شک کی سطح کی) تک پہنچ گیا ہے جب وائرس کل API کا استعمال ختم ہو جائے گا، اور اس شک کی سطح کا استعمال کرتے وقت آپ کے کوٹے کا امکان زیادہ تیزی سے تک پہنچ جائے گی.
  • -
- -
نوٹ: قطع شبہ سطح کے، یا تو phpMussel طرف سے بلیک لسٹ یا وائٹ لسٹ کر رہے ہیں کہ کسی بھی فائلوں وائرس کل API کا استعمال کرتے ہوئے اسکین نہیں کیا جائے گا، ان لوگوں کو اس طرح کی فائلوں کو پہلے ہی وقت کی طرف سے phpMussel طرف درنساوناپورن یا سومی یا تو کے طور پر اعلان کیا گیا ہے گی کیونکہ کہ وہ دوسری صورت میں وائرس کل API کی طرف سے سکین کریں گے لیا ہے کیا گیا ہے، اور اس وجہ سے، اضافی سکیننگ کی ضرورت نہیں ہو گی. وائرس کل API کا استعمال کرتے ہوئے فائلوں کو اسکین کرنے phpMussel کی صلاحیت ہے کہ آیا ایک فائل درنساوناپورن یا ان حالات میں جہاں phpMussel خود چاہے ایک فائل درنساوناپورن یا سومی ہے کرنے کے طور پر مکمل طور پر یقین نہیں ہے میں سومی ہے کے لئے مزید اعتماد کی تعمیر کرنا ہے.

- -#####
"vt_weighting"
-
    -
  • phpMussel کا پتہ لگانے کے کر کے طور پر یا پتہ لگانے وزن کے طور وائرس کل API کا استعمال کرتے ہوئے سکیننگ کے نتائج کو درخواست دینی چاہیے؟ (اور بدنیتی پر مبنی فائلوں کی ایک بڑی تعداد پکڑے جانے لہذا میں) ایک سے زیادہ کے انجن کو استعمال کرتے ہوئے (جیسا وائرس کل کرتا ہے) ایک فائل کو سکین ایک اضافہ کا پتہ لگانے کی شرح کے نتیجے چاہئے، اگرچہ، یہ بھی جھوٹے کی زیادہ تعداد کے نتیجے کر سکتے ہیں، کیونکہ یہ ہدایت موجود ہے، مثبت ہے، اور اس وجہ سے، کچھ حالات میں، سکیننگ کے نتائج بہتر ایک حتمی نتیجے پر اس اعتماد کا سکور کے طور پر کی بجائے استعمال کیا جا سکتا ہے. 0 کی قدر استعمال کیا جاتا ہے تو، وائرس کل API کا استعمال کرتے ہوئے سکیننگ کے نتائج کسی بھی انجن وائرس کل پرچم فائل کو بدنیتی پر مبنی ہونے کے طور پر سکین کیا جا رہا ہے کی طرف سے استعمال کیا تو اس کا پتہ لگانے کے طور پر لاگو کیا جائے گا، اور اس وجہ سے، phpMussel بدنیتی پر مبنی ہونے کے لئے فائل پر غور کریں گے. کسی دوسرے کی قدر استعمال کیا جاتا ہے تو، وائرس کل API کا استعمال کرتے ہوئے سکیننگ کے نتائج کا پتہ لگانے وزن کے طور پر لاگو کیا جائے گا، اور اس وجہ سے، فائل پرچم کہ وائرس کل کی طرف سے استعمال کے انجن کی تعداد سکین کیا جا رہا ہے درنساوناپورن ہونے (ایک اعتماد سکور کے طور پر کام کرے گا کے طور پر یا پتہ لگانے وزن کے) کے لئے ہے یا نہیں کی فائل کو سکین کیا جا رہا phpMussel طرف بدنیتی پر مبنی سمجھا جانا چاہئے (استعمال کیا کم از کم اعتماد کی نمائندگی کریں گے ویلیو سکور یا ترتیب میں کی ضرورت وزن بدنیتی پر مبنی سمجھا جائے). 0 کی قدر سے طے شدہ کی طرف سے استعمال کیا جاتا ہے.
  • -
- -#####
"vt_quota_rate" اور "vt_quota_time"
-
    -
  • وائرس کل API دستاویزات کے مطابق، "یہ کسی بھی 1 منٹ ٹائم فریم میں کسی بھی نوعیت کی زیادہ سے زیادہ 4 درخواستوں تک محدود ہے آپ کو ایک honeyclient، honeypot یا VirusTotal کی اور نہ کرنے کے لئے وسائل فراہم کرنے کے لئے کی جا رہی ہے کہ کسی دوسرے آٹومیشن چلاتے ہیں تو. صرف رپورٹیں آپ کو ایک اعلی کی درخواست کی شرح کوٹہ" کے حقدار ہیں بازیافت. بطور ڈیفالٹ، phpMussel سختی سے ان حدود پر عمل کرے گا، لیکن ان کی شرح کوٹہ کے امکان میں اضافہ کیا جا رہا ہے کی وجہ سے، ان دو ہدایات آپ اس پر کیا عمل کرنا چاہئے محدود کرنے کے طور phpMussel ہدایت کرنے کے لئے ایک وسیلہ کے طور پر فراہم کی جاتی ہیں. جب تک آپ کو ایسا کرنے کی ہدایت کی گئی ہے، یہ آپ کو ان اقدار کو کم، آپ کو آپ کی شرح کوٹہ پہنچنے سے متعلق مسائل کا سامنا کرنا پڑا ہے تو، ان اقدار میں اضافہ کرنے کے لئے، لیکن کبھی کبھی آپ نمٹنے میں مدد مل سکتی ہے کی سفارش کی نہیں ہے ان مسائل کے ساتھ. آپ کی شرح کی حد کسی بھی 'vt_quota_time' منٹ ٹائم فریم میں کسی بھی نوعیت کی 'vt_quota_rate' درخواستوں کے طور پر مقرر کیا جاتا ہے.
  • -
- -####
"urlscanner" (قسم)
-
میں ایک یو آر ایل سکینر phpMussel کے ساتھ شامل، سکین کسی بھی ڈیٹا یا فائلوں کے اندر سے درنساوناپورن یو آر ایل کا پتہ لگانے کی صلاحیت رکھتا.

- -
نوٹ: یو آر ایل سکینر غیر فعال ہے تو، آپ کو اس غیر فعال ہے اگر ان میں سے کوئی کچھ بھی کرے گا، کیونکہ اس زمرے ("urlscanner") میں ہدایت میں سے کسی پر نظرثانی کرنے کی ضرورت نہیں کرے گا.

- -
URL سکینر API لک اپ ترتیب.

- -#####
"google_api_key"
-
    -
  • ضروری API کلید وضاحت کی گئی ہے جب گوگل محفوظ براؤزنگ API کو API لک اپ فعال کرتا ہے. گوگل محفوظ براؤزنگ API لک اپ یہاں سے حاصل کیا جا سکتا ہے جس میں ایک API کلید کی ضرورت ہے.
  • -
  • نوٹ: cURL توسیع اس خصوصیت کو استعمال کرنے کے لئے ضروری ہے.
  • -
- -#####
"maximum_api_lookups"
-
    -
  • انفرادی اسکین تکرار کے مطابق انجام دینے کے لئے API لک اپ کی زیادہ سے زیادہ قابل اجازت تعداد. ہر اضافی API لک اپ ہر ایک اسکین تکرار مکمل کرنے کی ضرورت کل وقت کا اضافہ کریں گے، لہذا آپ کو مجموعی طور پر اسکین کے عمل کو تیز کرنے کے لئے ایک حد مقرر کر سکتے ہیں. 0 مقرر کرتے وقت، کوئی ایسی زیادہ سے زیادہ قابل اجازت تعداد میں لاگو کیا جائے گا. پہلے سے طے شدہ کی طرف سے 10 مقرر کریں.
  • -
- -#####
"maximum_api_lookups_response"
-
    -
  • API لک اپ کی زیادہ سے زیادہ قابل اجازت تعداد سے تجاوز کر جاتا ہے تو کیا کیا جائے؟ False (جھوٹی) = کچھ بھی نہیں (پروسیسنگ جاری رہے) [پہلے سے طے شدہ] ہو؛ True (سچے) = فلیگ/بلاک فائل.
  • -
- -#####
"cache_time"
-
    -
  • کب تک (سیکنڈوں میں) API لک اپ کے نتائج کے لئے محفوظ ہو جائے چاہئے؟ پہلے سے طے شدہ 3600 سیکنڈ (1 گھنٹہ) ہے.
  • -
- -####
"legal" (قسم)
-
قانونی ضروریات سے متعلق ترتیب.

- -
قانونی ضروریات کے بارے میں مزید معلومات کے لئے اور یہ آپ کی ترتیبات کی ضروریات کو کس طرح اثر انداز کر سکتا ہے، براہ کرم دستاویزات کے "قانونی معلومات" حصے کا حوالہ دیتے ہیں.

- -#####
"pseudonymise_ip_addresses"
-
    -
  • لاگ ان کرتے وقت پی ایس ڈی نامناسب IP پتے؟ True (سچے) = جی ہاں [پہلے سے طے شدہ]؛ False (جھوٹی) = نہیں.
  • -
- -#####
"privacy_policy"
-
    -
  • کسی بھی پیدا کردہ صفحات کے فوٹر میں ظاہر ہونے والی متعلقہ رازداری کی پالیسی کا پتہ. ایک URL کی وضاحت کریں، یا غیر فعال کرنے کیلئے خالی چھوڑ دیں.
  • -
- -####
"template_data" (قسم)
-
سانچوں اور موضوعات کے لئے ہدایات/متغیر.

- -
"رسائی نہیں ہوئی" کے صفحے پیدا کرنے کے لئے استعمال HTML پیداوار سے متعلق ہے. آپ phpMussel لئے اپنی مرضی کے موضوعات کا استعمال کرتے ہوئے کر رہے ہیں، ایچ ٹی ایم ایل کی پیداوار template_custom.html فائل سے کیے جاتا ہے، اور دوسری صورت میں، HTML پیداوار template.html فائل سے کیے جاتا ہے. ترتیب فائل کے اس شعبہ کو لکھا تغیر اسی متغیر ڈیٹا کے ساتھ ایچ ٹی ایم ایل کی پیداوار کے اندر اندر پایا گھوبگھرالی بریکٹ طرف circumfixed کوئی بھی متغیرہ کے ناموں کی جگہ کی راہ کی طرف HTML پیداوار میں پارس کر رہے ہیں. مثال کے طور پر، جہاں foo="bar" بار کے کسی بھی مثال <p>{foo}</p> HTML پیداوار کے اندر اندر پایا بن جائے گا <p>bar</p>.

- -#####
"theme"
-
    -
  • phpMussel لئے استعمال کرنے کے لئے مرکزی خیال، موضوع پہلے سے طے شدہ.
  • -
- -#####
"magnification"
-
    -
  • v1: "Magnification"
  • -
  • فونٹ اضافہ. پہلے سے طے شدہ = 1.
  • -
- -#####
"css_url"
-
    -
  • ڈیفالٹ تھیم کے لئے سانچے کی فائل اندرونی سی ایس ایس خصوصیات کا استعمال، جبکہ اپنی مرضی کے موضوعات کے لئے سانچے کی فائل، خارجی سی ایس ایس خصوصیات کا استعمال. اپنی مرضی کے موضوعات کے لئے سانچے کی فائل کو استعمال کرنے phpMussel ہدایت کرنے کے لئے، "css_url" متغیر کا استعمال کرتے ہوئے آپ کی اپنی مرضی کے موضوع کی سی ایس ایس فائلوں کے عوامی HTTP ایڈریس کی وضاحت. آپ کو اس متغیر خالی چھوڑ تو، phpMussel ڈیفالٹ تھیم کے لئے سانچے کی فائل کو استعمال کریں گے.
  • -
- -####
"PHPMailer" (قسم)
-
PHPMailer ترتیب.

- -
فی الحال، phpMussel صرف 2FA کے لئے صرف PHPMailer کا استعمال کرتا ہے. اگر آپ سامنے کے اختتام کا استعمال نہیں کرتے ہیں، یا اگر آپ 2FA استعمال نہیں کرتے ہیں، تو آپ ان ہدایات کو نظر انداز کر سکتے ہیں.

- -#####
"event_log"
-
    -
  • v1: "EventLog"
  • -
  • PHPMailer کے سلسلے میں تمام واقعات کو لاگ ان کرنے کے لئے ایک فائل. ایک فائل کا نام کی وضاحت کریں، یا غیر فعال کرنے کو خالی چھوڑ.
  • -
- -#####
"skip_auth_process"
-
    -
  • v1: "SkipAuthProcess"
  • -
  • جب true، SMTP کی تصدیق کے عمل کو چھوڑ دیا گیا ہے. اس سے بچنا چاہئے. اگر عمل ختم ہو جاتا ہے تو، آؤٹ باؤنڈ ای میل MITM حملوں سے بے نقاب ہوسکتا ہے. مخصوص معاملات میں ضروری ہوسکتا ہے (مثال کے طور پر، جب SMTP سرور مناسب طریقے سے منسلک نہیں کرے گا).
  • -
- -#####
"enable_two_factor"
-
    -
  • v1: "Enable2FA"
  • -
  • یہ تعین کرتا ہے کہ 2FA استعمال کیا جانا چاہئے.
  • -
- -#####
"host"
-
    -
  • v1: "Host"
  • -
  • آؤٹ پاؤنڈ ای میل کے لئے استعمال کرنے کے لئے SMTP میزبان.
  • -
- -#####
"port"
-
    -
  • v1: "Port"
  • -
  • آؤٹ پاؤنڈ ای میل کے لئے استعمال کرنے کے لئے پورٹ نمبر. پہلے سے طے شدہ = 587.
  • -
- -#####
"smtp_secure"
-
    -
  • v1: "SMTPSecure"
  • -
  • ای میل بھیجنے پر پروٹوکول استعمال کرنے کے لئے (TLS یا SSL).
  • -
- -#####
"smtp_auth"
-
    -
  • v1: "SMTPAuth"
  • -
  • کیا SMTP سیشن کو مستند کیا جاسکتا ہے؟ (عام طور پر اس کو نظر انداز کرنا چاہئے).
  • -
- -#####
"username"
-
    -
  • v1: "Username"
  • -
  • ای میل بھیجنے کے لئے صارف کا نام.
  • -
- -#####
"password"
-
    -
  • v1: "Password"
  • -
  • ای میل بھیجنے کے لئے پاس ورڈ.
  • -
- -#####
"set_from_address"
-
    -
  • v1: "setFromAddress"
  • -
  • ای میل بھیجنے کے لئے بھیجنے والے کا پتہ.
  • -
- -#####
"set_from_name"
-
    -
  • v1: "setFromName"
  • -
  • ای میل بھیجنے کے لئے بھیجنے کا نام.
  • -
- -#####
"add_reply_to_address"
-
    -
  • v1: "addReplyToAddress"
  • -
  • ای میل بھیجنے پر جواب کا پتہ.
  • -
- -#####
"add_reply_to_name"
-
    -
  • v1: "addReplyToName"
  • -
  • ای میل بھیجنے پر جواب کا نام.
  • -
- -####
"supplementary_cache_options" (قسم)
-
اضافی کیشنگ کے اختیارات.

- -#####
"prefix"
-
    -
  • یہاں بیان کردہ قدر کو تمام کیش انٹری کیز کے ساتھ پہلے سے جوڑا جائے گا. بطور ڈیفالٹ خالی. جب ایک ہی سرور پر متعدد تنصیبات موجود ہوں، تو یہ ان کے کیچز کو ایک دوسرے سے الگ رکھنے کے لیے مفید ہو سکتا ہے.
  • -
- -#####
"enable_apcu"
-
    -
  • اس کی وضاحت کرتا ہے کہ کیش کے لئے APCu استعمال کرنا چاہے. پہلے سے طے شدہ = False (جھوٹی).
  • -
- -#####
"enable_memcached"
-
    -
  • اس کی وضاحت کرتا ہے کہ کیش کے لئے Memcached استعمال کرنا چاہے. پہلے سے طے شدہ = False (جھوٹی).
  • -
- -#####
"enable_redis"
-
    -
  • اس کی وضاحت کرتا ہے کہ کیش کے لئے Redis استعمال کرنا چاہے. پہلے سے طے شدہ = False (جھوٹی).
  • -
- -#####
"enable_pdo"
-
    -
  • اس کی وضاحت کرتا ہے کہ کیش کے لئے PDO استعمال کرنا چاہے. پہلے سے طے شدہ = False (جھوٹی).
  • -
- -#####
"memcached_host"
-
    -
  • Memcached کے میزبان نام. پہلے سے طے شدہ = "localhost".
  • -
- -#####
"memcached_port"
-
    -
  • Memcached کے لئے بندرگاہ. پہلے سے طے شدہ = "11211".
  • -
- -#####
"redis_host"
-
    -
  • Redis کے میزبان نام. پہلے سے طے شدہ = "localhost".
  • -
- -#####
"redis_port"
-
    -
  • Redis کے لئے بندرگاہ. پہلے سے طے شدہ = "6379".
  • -
- -#####
"redis_timeout"
-
    -
  • Redis کے لئے ٹائم آؤٹ. پہلے سے طے شدہ = "2.5".
  • -
- -#####
"pdo_dsn"
-
    -
  • PDO کے لئے DSN. پہلے سے طے شدہ = "mysql:dbname=phpmussel;host=localhost;port=3306".
  • -
- - - -#####
"pdo_username"
-
    -
  • PDO کے لئے صارف نام.
  • -
- -#####
"pdo_password"
-
    -
  • PDO کیلئے پاس ورڈ.
  • -
- ---- - - -###
۸. دستخط فارمیٹ
- -
بھی دیکھو:
- - -
پہلا 9 بائٹس [x0-x8] phpMussel دستخط فائل کی phpMussel ہے، اور "جادو نمبر"(magic number) کے طور پر کام کرتے ہیں، انہیں دستخط شدہ فائلوں کے طور پر شناخت کرنے کے لئے (اس فائلوں کا استعمال کرتے ہوئے حادثے سے بچنے میں مدد ملتی ہے جو دستخط شدہ فائلوں میں نہیں ہیں). اگلے بائٹ [x9] دستخط فائل کی قسم کی شناخت کرتا ہے، دستخط فائل کو سمجھنے کے قابل ہونے کے لئے ضروری ہے. مندرجہ ذیل قسم کے دستخط فائلوں کو تسلیم کیا جاتا ہے:

- - 
قسم
|
بائٹ
|
تفصیل
----|---|--- -`General_Command_Detections` | `0?` |
"کوما علیحدہ اقدار" دستخط فائلوں کے لئے. دستخط فائلوں کے اندر اندر تلاش کرنے کے لئے ہییکسڈیکیلٹ - انکوڈ کرنگ ہیں. یہاں دستخط کسی نام یا دیگر تفصیلات نہیں ہیں (پتہ لگانے کے لئے صرف تار).
-`Filename` | `1?` |
فائل نام کے دستخط کے لئے.
-`Hash` | `2?` |
ہش دستخط کے لئے.
-`Standard` | `3?` |
دستخط کی فائلوں کے لئے جو براہ راست فائل فائل کے ساتھ کام کرتی ہے.
-`Standard_RegEx` | `4?` |
دستخط کی فائلوں کے لئے جو براہ راست فائل فائل کے ساتھ کام کرتی ہے. دستخط باقاعدگی سے اظہار میں شامل ہوسکتے ہیں.
-`Normalised` | `5?` |
دستخط کردہ فائلوں کے لئے جو معمولی فائل کے مواد کے ساتھ کام کرتی ہے.
-`Normalised_RegEx` | `6?` |
دستخط کردہ فائلوں کے لئے جو معمولی فائل کے مواد کے ساتھ کام کرتی ہے. دستخط باقاعدگی سے اظہار میں شامل ہوسکتے ہیں.
-`HTML` | `7?` |
دستخط فائلوں کے لئے جو HTML مواد کے ساتھ کام کرتا ہے.
-`HTML_RegEx` | `8?` |
دستخط فائلوں کے لئے جو HTML مواد کے ساتھ کام کرتا ہے. دستخط باقاعدگی سے اظہار میں شامل ہوسکتے ہیں.
-`PE_Extended` | `9?` |
پی ایچ میٹ میٹاٹا کے ساتھ کام کرنے والی دستخط کی فائلوں کے لئے.
-`PE_Sectional` | `A?` |
پی ایچ سیکشنل میٹا ڈیٹا کے ساتھ کام کرنے والی دستخط کی فائلوں کے لئے.
-`Complex_Extended` | `B?` |
دستخط فائلوں کے لئے جو وسیع قوانین کے ساتھ وسیع پیمانے پر میٹا ڈیٹا ڈیٹا پر مبنی کام کرتی ہیں.
-`URL_Scanner` | `C?` |
سائن ان فائلوں کے لئے جو URL کے ساتھ کام کرتی ہیں.
- -
اگلے بائٹ [x10] ایک نیا لائن ہے [0A].

- -
اس کے بعد ہر غیر خالی لائن ایک دستخط یا حکمرانی ہے. ہر دستخط یا قاعدہ ایک لائن پر قبضہ کرتی ہے. معاون دستخط کی حمایت ذیل میں بیان کی گئی ہے.

- -####
فائل کا نام دستخط
-
تمام فائل کا نام دستخطوں کی شکل پر عمل کریں:

- -`NAME:FNRX` - -
NAME کہاں کہ دستخط کے لئے پیش کرنے کے لئے نام ہے اور FNRX اسم مسل (انکوڈنگ نہیں) خلاف سے ملنے کے لئے رگ نمونہ ہے.

- -####
ہش دستخط
-
تمام ہش دستخط شکل پر عمل کریں:

- -`HASH:FILESIZE:NAME` - -
کہاں ہیش ایک پوری فائل کی ہش ہیش ہے (عام طور پر MD5)، FILESIZE وہ فائل کا مجموعی حجم ہے اور NAME کہ دستخط کے لئے پیش کرنے کے لئے نام ہے.

- -####
PE تخباگیی دستخط
-
تمام PE تخباگیی دستخط شکل پر عمل کریں:

- -`SIZE:HASH:NAME` - -
کہاں ہیش ایک PE فائل کے ایک حصے کی MD5 ہیش ہے، SIZE اس حصے کا مجموعی حجم ہے اور NAME کہ دستخط کے لئے پیش کرنے کے لئے نام ہے.

- -####
PE توسیع دستخط
-
تمام PE توسیع کر دستخطوں کی شکل پر عمل کریں:

- -`$VAR:HASH:SIZE:NAME` - -
$VAR کہاں کیخلاف سے ملنے کے لئے پیئ متغیر کا نام ہے، ہیش کہ متغیر کی MD5 ہیش، SIZE کہ متغیر کا مجموعی حجم ہے اور NAME کہ دستخط کے لئے پیش کرنے کے لئے نام ہے.

- -####
پیچیدہ بڑھا دیا دستخط
-
کمپلیکس توسیعی دستخط وہ خود کے خلاف دستخطوں کی طرف سے مخصوص کیا جاتا ہے کے ملاپ کر رہے ہیں کہ میں phpMussel ساتھ ممکن دستخط کے دیگر اقسام کے بجائے مختلف ہیں اور وہ متعدد معیارات کے خلاف میچ کر سکتے ہیں. میچ کے criterias کی طرف سے محدود رہے ہیں "؛" اور ہر میچ کا کلیہ کی طرف سے محدود کیا جاتا ہے کے ملاپ کی قسم اور میچ کے اعداد و شمار ":" کے طور پر تو ان کے دستخط کے لئے اس کی شکل کی طرح تھوڑا سا نظر جاتا:

- -`$variable1:SOMEDATA;$variable2:SOMEDATA;SignatureName` - -####
باقی سب کچھ
-
دیگر تمام دستخطوں کی شکل پر عمل کریں:

- -`NAME:HEX:FROM:TO` - -
کہاں کا نام ہے کہ دستخط کے لئے پیش کرنے کے لئے نام ہے اور HEX دیا دستخط کی طرف سے ملائے جا کرنا فائل کی ایک شش اعشاری انکوڈنگ طبقہ ہے. FROM اور کرنے کا اشارہ، اختیاری پیرامیٹرز ہیں جس کے خلاف جانچ کرنا ماخذ ڈیٹا میں عہدوں کے لئے اور جس میں سے.

- -####
رگ
-
رگ کی کسی بھی شکل سمجھا اور صحیح طریقے سے PHP کی طرف سے کارروائی بھی صحیح phpMussel اور اس کے دستخط کی طرف سے سمجھ اور اس پر عملدرآمد کیا جانا چاہئے. تاہم، میں نے نئے رگ بنیاد پر دستخط لکھنے جب، انتہائی احتیاط لینے کیا آپ کیا کر رہے ہیں مکمل طور پر یقین نہیں ہے تو، کیونکہ مشورہ تھا، انتہائی فاسد اور/یا غیر متوقع نتائج ہو جائے کر سکتے ہیں. phpMussel منبع کوڈ پر ایک نظر ڈالیں آپ سیاق و سباق ہے جس میں رگ بیانات تصریف کر رہے ہیں کے بارے میں مکمل طور پر یقین نہیں ہیں تو. اس کے علاوہ، کہ تمام نمونوں (فائل نام، ذخیرہ میٹاڈیٹا اور MD5 نمونوں کو رعایت کے ساتھ) شش اعشاری (کورس کی، پوروگامی پیٹرن نحو) انکوڈنگ جائے ضروری ہے یاد رکھنا!

- ---- - - -###
۹. جانا جاتا مطابقت کے مسائل
- -####
PHP اور PCRE
- -
phpMussel صحیح PHP اور PCRE پر عمل کرنے اور تقریب کی ضرورت ہے. PHP کے بغیر، یا PHP کی PCRE توسیع کے بغیر، phpMussel پھانسی یا صحیح طریقے سے کام نہیں کرے گا. پہلے ڈاؤن لوڈ کرنے اور phpMussel نصب کرنے سے آپ کے سسٹم PHP اور PCRE دونوں نصب ہے اس بات کا یقین اور دستیاب بنانا چاہئے.

- -####
اینٹی وائرس سافٹ ویئر کی مطابقت
- -
بعض اوقات phpMussel اور دیگر اینٹی وائرس حلوں کے مابین مطابقت کی دشواری ہوتی ہے. لہذا ہر چند مہینوں کے بعد، میں رپورٹ شدہ پریشانیوں کے لئے Virus Total کے خلاف phpMussel چیک کرتا ہوں. جب وہاں پر مسائل کی اطلاع دی جاتی ہے تو، میں دستاویزات میں، درج کردہ مسائل کو یہاں درج کرتا ہوں.

- -
جب میں نے حال ہی میں جانچ کیا (2022.05.12)، تو کوئی پریشانی کی اطلاع نہیں ملی.

- -
میں دستخط فائلوں، دستاویزات، یا دیگر پردیی مواد کی جانچ نہیں کرتا ہوں. جب دوسرے اینٹی وائرس حل ان کا پتہ لگاتے ہیں تو دستخط فائلیں ہمیشہ کچھ غلط مثبت کا سبب بنتی ہیں. لہذا میں سختی سے سفارش کروں گا، اگر آپ کسی ایسی مشین میں phpMussel انسٹال کرنے کا ارادہ رکھتے ہیں جہاں پہلے ہی ایک اور اینٹی وائرس حل موجود ہے، آپ کی وائٹ لسٹ میں phpMussel دستخط فائلوں کو ڈالنے کے لئے.

- ---- - - -### - -
- -####
ایک "دستخط" کیا ہے؟

- -
phpMussel میں، ایک "دستخط" ڈیٹا کو ایک شناخت کے طور پر کام کرتا ہے کہ مراد، عام طور پر کچھ کے لئے بڑی پورے کا ایک چھوٹا سا ٹکڑا کے طور پر ہم تلاش کر رہے ہیں. عام طور پر اضافی سیاق و سباق فراہم کرنے میں مدد کرنے کے لئے ایک لیبل، اور دیگر مفید ڈیٹا شامل ہیں. یہ ہم اسے تلاش کرتے وقت آگے بڑھنے کا بہترین طریقہ کا تعین کرنے میں مدد کر سکتے ہیں.

- -####
ایک "جھوٹی مثبت" سے کیا مراد ہے؟

- -
اصطلاح "جھوٹی مثبت" (متبادل کے طور پر: "جھوٹی مثبت غلطی"؛ "جھوٹے الارم")، بیان بہت صرف، اور ایک عام سیاق و سباق میں، ایک کی حالت کے لئے جانچ جب، استعمال کیا جاتا ہے کہ ٹیسٹ کے نتائج کا حوالہ دیتے ہیں کے لئے، نتائج مثبت ہیں جب (یعنی حالت "مثبت" یا "سچ" ہونے کا تعین کیا جاتا ہے)، لیکن بننے کی توقع کی جاتی ہے (یا ہونا چاہیئے) منفی (یعنی حالت، حقیقت میں، "منفی"، یا "جھوٹے"). "جھوٹی مثبت" مثل غور کیا جا سکتا کے لئے "رونا بھیڑیا" (جس حالت تجربہ کیا جا رہا، حالت "جھوٹے" کہ میں ریوڑ کے قریب کوئی بھیڑیا ہے، اور شرط کے طور پر رپورٹ کیا جاتا ہے ریوڑ کے قریب ایک بھیڑیا ہے کہ آیا ہے "بھیڑیا، بھیڑیا" بلا کی راہ کی طرف چرواہا کی طرف سے "مثبت")، یا طبی جانچ میں حالات جس میں ایک مریض، کچھ بیماری یا مرض ہونے حقیقت میں، وہ ایسی کوئی بیماری یا مرض ہے جب کے طور پر تشخیص کی جاتی ہے کے مطابق.

- -
ایک شرط کے لئے جانچ جب متعلقہ نتائج "سچ مثبت" کی اصطلاحات کا استعمال کرتے ہوئے، "سچ منفی" اور "جھوٹے منفی" بیان کیا جا سکتا ہے. "سچ مثبت" جب ٹیسٹ کے نتائج اور حالت کی اصل ریاست دونوں حقیقی (یا "مثبت")، اور ایک "حقیقی منفی" ہیں سے مراد ہے سے مراد ہے جب ٹیسٹ کے نتائج اور کی اصل ریاست شرط ہیں دونوں جھوٹے ہیں (یا "منفی")؛ "سچ مثبت" یا "سچ منفی" ایک "صحیح اندازہ" سمجھا جاتا ہے. ایک "جھوٹی مثبت" کے برعکس ایک "جھوٹے منفی" ہے؛ "جھوٹے منفی" سے ٹیسٹ کے نتائج منفی ہیں، جب (یعنی حالت "منفی"، یا "جھوٹے" ہونے کا تعین کیا جاتا ہے)، لیکن بننے کی توقع کی جاتی ہے (یا ہونا چاہیئے) مراد مثبت (یعنی، حالت، حقیقت میں، "مثبت" یا "سچ") ہے.

- -
phpMussel کے تناظر میں، ان شرائط phpMussel کے دستخط اور فائلوں کو وہ بلاک ہے کہ حوالہ دیتے ہیں. جب phpMussel وجہ سے بری فرسودہ یا غلط دستخط کرنے کے بلاکس ایک فائل ہے، لیکن ایسا نہیں کیا جاتا یا یہ غلط وجوہات کی بناء پر ایسا کرتا ہے جب، ہم نے ایک "جھوٹی مثبت" کے طور پر اس ایونٹ کا حوالہ دیتے ہیں. phpMussel ایک فائل ہے، کی وجہ سے غیر متوقع خطرات سے، بلاک کر دیا گیا ہے چاہئے لاپتہ اس کے دستخط میں دستخط یا کمی کو بلاک کرنے میں ناکام ہونے پر، ہم نے ایک "یاد کا پتہ لگانے" (ایک "جھوٹے منفی" کے مطابق ہوتا ہے) کے طور پر اس واقعہ کا حوالہ دیتے ہیں.

- -
یہ مندرجہ ذیل ٹیبل کی طرف سے بیان کیا جا سکتا ہے:

- - 
phpMussel چاہئے نہیں ایک فائل بلاک
|  
phpMussel ایک فائل کو بلاک کرنا چاہئے
|   ----|---|--- - 
یہ سچ ہے کہ منفی (صحیح اندازہ)
|
فوت شدہ کا پتہ لگانے (جھوٹے منفی کے مطابق)
|
phpMussel نہیں ایک فائل کو بلاک
جھوٹی مثبت
|
یہ سچ ہے کہ مثبت (صحیح اندازہ)
|
phpMussel کرتا فائل کو بلاک
- -####
دستخط کیسے بیشتر اپ ڈیٹ کر رہے ہیں؟

- -
اپ ڈیٹ فریکوئنسی سوال میں دستخط کی فائلوں پر منحصر ہوتی ہے. phpMussel دستخط کی فائلوں کے لئے تمام حاکم عام طور پر اپ ڈیٹ کرنے کے لئے ممکن ہے کے طور پر کے طور پر ان کے دستخط رکھنے کی کوشش کرتے ہیں، لیکن ہم سب کے طور پر مختلف دیگر وعدوں، اس منصوبے سے باہر ہماری زندگی ہے، اور ہم میں سے کوئی اس کو مالی طور پر معاوضہ رہے ہیں (یعنی، ادا کی ) منصوبے پر ہماری کوششوں کے لئے ایک عین مطابق اپ ڈیٹ کے شیڈول کی ضمانت نہیں کیا جا سکتا. دستخط کو اپ ڈیٹ کیا جاتا ہے جب ایسا کرنے کا کافی وقت ہے. اگر آپ کو کوئی پیشکش کرنے کو تیار ہیں تو اس سلسلے میں معاونت ہمیشہ تعریف کی ہے.

- -####
phpMussel استعمال کرتے ہوئے میں ایک مسئلہ کا سامنا کرنا پڑا ہے اور میں اس کے بارے میں کیا پتہ نہیں ہے! مدد کریں!
-
    -
  • آپ نے سافٹ ویئر کا تازہ ترین ورژن استعمال کر رہے ہیں؟ آپ کو آپ کے دستخط فائلوں کا تازہ ترین ورژن استعمال کر رہے ہیں؟ ان دو سوالوں کی یا تو کرنے کے لئے جواب نہیں ہے تو، سب سے پہلے سب کچھ کو اپ ڈیٹ کرنے کی کوشش کریں، اور چاہے وہ مسئلہ برقرار رہتا ہے چیک کریں. یہ برقرار رہتا ہے، پڑھنے جاری رکھیں.
  • -
  • اگر آپ کو تمام دستاویزات کے ذریعے کی جانچ پڑتال کی ہے؟ اگر نہیں، تو براہ مہربانی. مسئلہ دستاویزات استعمال کر حل نہیں کیا جا سکتا ہے، تو پڑھنے جاری رکھیں.
  • -
  • اگر آپ کو issues صفحے، دیکھنا چاہے مسئلہ پہلے ذکر کیا گیا ہے؟ اس سے پہلے ذکر کیا گیا ہے تو، چاہے وہ کسی بھی تجاویز، خیالات، اور/یا کے حل فراہم کیا گیا جانچ اور مسئلہ حل کرنے کی کوشش کرنے کے لئے ضروری کے مطابق عمل کریں.
  • -
  • اگر مسئلہ اب بھی جاری رہتا ہے، تو issues کے صفحے پر ایک نیا issue تشکیل دے کر اس کے بارے میں مدد طلب کریں.
  • -
- -####
میں 5.4.0 سے زیادہ پرانے ایک PHP ورژن کے ساتھ phpMussel (v2 سے پہلے) استعمال کرنا چاہتے ہیں؛ کیا آپ مدد کر سکتے ہیں؟

- -
نہیں. phpMussel < v2 کم از کم PHP >= 5.4.0 کی ضرورت ہے.

- -####
میں 7.2.0 سے زیادہ پرانے ایک PHP ورژن کے ساتھ phpMussel (v2) استعمال کرنا چاہتے ہیں؛ کیا آپ مدد کر سکتے ہیں؟

- -
نہیں. phpMussel v2 کم از کم PHP >= 7.2.0 کی ضرورت ہے.

- -
بھی دیکھو: مطابقت چارٹ.

- -####
میں نے ایک سے زیادہ ڈومینز کی حفاظت کے لئے ایک واحد phpMussel تنصیب کا استعمال کر سکتا ہوں؟

- -
جی ہاں. phpMussel ایک سے زیادہ ڈومینز کی حفاظت کے لئے استعمال کیا جا سکتا ہے. ضرورت کی ترتیب مختلف ہے تو، ایسا کرنے کے لئے تحفظ کی ضرورت ہوتی ڈومینز کے مطابق نامی نئی ترتیب فائل، تخلیق کرتے ہیں. phpMussel یہ ڈومین کیلئے کام کرنا چاہئے کہ کس طرح اس بات کا تعین کرنے کے لئے ان فائلوں کو استعمال کریں گے. سوف تستخدم phpMussel هذه الملفات لتحديد كيفية تشغيلها للنطاق. ایک مثال کے طور، کے لئے "https://www.some-domain.tld/"، اس کا نام ہے "some-domain.tld.config.ini". ڈومین نام "HTTP_HOST" سے آتا ہے. "www" نظر انداز کر دیا جاتا ہے.

- -####
میں نے اس پر وقت خرچ نہیں کرنا چاہتا (اسے انسٹال، اس کے قیام، وغیرہ)؛ میں نے آپ کو ایسا کرنے کے لئے ادا کر سکتے ہیں؟

- -
شاید. یہ معاملہ در معاملہ کی بنیاد پر کیا جاتا ہے. کی آپ کو ضرورت ہے ہمیں بتائیں. ہمیں بتائیں کہ آپ کی پیشکش کر رہے ہیں. ہم آپ کو بتا دیں گے ہم مدد کر سکتے ہیں.

- -####
میں ذاتی کام کے لئے آپ کی خدمات حاصل کر سکتے ہیں؟

- -
اوپر ملاحظہ کریں.

- -####
مجھے خصوصی ترمیم کی ضرورت؛ کیا آپ مدد کر سکتے ہیں؟

- -
اوپر ملاحظہ کریں.

- -####
میں نے ایک ڈویلپر، ویب سائٹ ڈیزائنر، یا پروگرامر ہوں. میں اس منصوبے سے متعلق کام کر سکتے ہیں؟

- -
جی ہاں. ہمارے لائسنس اس کی ممانعت نہیں کرتا.

- -####
میں نے اس منصوبے میں شراکت کے لئے چاہتے ہیں؛ میں یہ کر سکتا ہوں؟

- -
جی ہاں. اس کا خیر مقدم کیا جاتا ہے. "CONTRIBUTING.md" ملاحظہ کریں مزید معلومات کے لئے.

- -####
کس طرح وہ سکین کر رہے ہیں جب فائلوں کے بارے میں مزید تفصیلات تک رسائی حاصل کرنے کے لئے؟

- -
آپ کو اس مقصد ان کو اسکین کرنے phpMussel ہدایت کرنے سے پہلے کے لئے استعمال کرنے کے لئے ایک صف بتائے کی طرف سے ایسا کر سکتے ہیں.

- -
ذیل کی مثال میں، $Foo اس مقصد کے لئے مقرر کیا جاتا ہے. سکیننگ کے بعد /file/path/...، /file/path/... کی طرف سے موجود فائلوں کے بارے میں تفصیلی معلومات $Foo کی طرف سے پر مشتمل ہو گا.

- -```PHP -صف کثیرالابعاد ہے. عناصر ہر فائل کو سکین کیا جا رہا ہے کی نمائندگی کرتے ہیں. ذیلی عناصر ان فائلوں کے بارے میں تفصیلات نمائندگی کرتے ہیں. ذیلی عناصر مندرجہ ذیل ہیں:

- -- Filename (`string`) -- FromCache (`bool`) -- Depth (`int`) -- Size (`int`) -- MD5 (`string`) -- SHA1 (`string`) -- SHA256 (`string`) -- CRC32B (`string`) -- 2CC (`string`) -- 4CC (`string`) -- ScanPhase (`string`) -- Container (`string`) -- † FileSwitch (`string`) -- † Is_ELF (`bool`) -- † Is_Graphics (`bool`) -- † Is_HTML (`bool`) -- † Is_Email (`bool`) -- † Is_MachO (`bool`) -- † Is_PDF (`bool`) -- † Is_SWF (`bool`) -- † Is_PE (`bool`) -- † Is_Not_HTML (`bool`) -- † Is_Not_PHP (`bool`) -- ‡ NumOfSections (`int`) -- ‡ PEFileDescription (`string`) -- ‡ PEFileVersion (`string`) -- ‡ PEProductName (`string`) -- ‡ PEProductVersion (`string`) -- ‡ PECopyright (`string`) -- ‡ PEOriginalFilename (`string`) -- ‡ PECompanyName (`string`) -- Results (`int`) -- Output (`string`) - -
† - عارضی نتائج کے ساتھ فراہم نہیں (صرف نئے اسکین کے نتائج کے لئے فراہم).

- -
‡ - PE فائلوں کو سکین جب صرف فراہم کی.

- -
اختیاری، اس صف میں مندرجہ ذیل کا استعمال کرتے ہوئے کی طرف سے تباہ کیا جا سکتا ہے:

- -```PHP -$phpMussel['Destroy-Scan-Debug-Array']($Foo); -``` - -####
کیا میں خود کار طریقے سے اپ ڈیٹ کرنے کیلئے cron استعمال کرسکتا ہوں؟

- -
جی ہاں. بیرونی سکرپٹ کے ذریعہ اپ ڈیٹس صفحہ کے ساتھ بات چیت کرنے کے لئے ایک API سامنے کے آخر میں بنایا جاتا ہے. ایک علیحدہ لکھاوٹ، "Cronable"، دستیاب ہے، اور اس کے اور دیگر معاون پیکجوں کو خود کار طریقے سے اپ ڈیٹ کرنے کے لئے آپ کے cron manager یا cron scheduler کا استعمال کیا جا سکتا ہے (یہ اسکرپٹ اپنی اپنی دستاویزات فراہم کرتا ہے).

- -####
غیر ANSI ناموں کے ساتھ فائلوں کو phpMussel اسکین کرسکتے ہیں؟

- -
فرض کریں کہ اس ڈائریکٹری میں آپ اسکین کرنا چاہتے ہیں. اس ڈائرکٹری میں، آپ کے پاس غیر ANSI ناموں کے ساتھ کچھ فائلیں ہیں.

- -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -
فرض کریں آپ اسکین کرنے کے لئے CLI موڈ یا phpMussel API استعمال کر رہے ہیں.

- -
کچھ نظام پر PHP < 7.1.0 کا استعمال کرتے ہوئے، phpMussel کو ڈائرکٹری کو اسکین کرنے کے دوران ان فائلوں کو نہیں ملیں گے. آپ کو یہ ممکنہ طور پر وہی نتیجہ مل جائے گا جیسے آپ کو ایک خالی ڈائرکٹری اسکین کرنا پڑا تھا:

- -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -
اس کے علاوہ، PHP < 7.1.0 کا استعمال کرتے ہوئے، انفرادی طور پر فائلوں کو اسکیننگ ان طرح کے نتائج پیدا کرتا ہے:

- -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - > Checking 'X:/directory/Пример.txt' (FN: b831eb8f): - -> Invalid file! - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -
یا یہ:

- -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - > X:/directory/??????.txt is not a file or directory. - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -
یہ اس وجہ سے ہے کہ غیر ANSI فائلوں کے PHP 7.1.0 سے پہلے کس طرح سنبھال لیا گیا تھا. اگر آپ اس مسئلے کا تجربہ کرتے ہیں تو، حل آپ کے PHP کی تنصیب کو اپ ڈیٹ کرنا ہے. PHP >= 7.1.0 میں، غیر ANSI فائلوں کے نام کو بہتر بنا دیا جاتا ہے، اور phpMussel کو مناسب طریقے سے اسکین کرنے کے قابل ہونا چاہئے.

- -
مقابلے کے لئے، PHP >= 7.1.0 کا استعمال کرتے ہوئے ڈائرکٹری کو اسکین کرنے کے لۓ نتائج:

- -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - -> Checking '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> No problems found. - -> Checking '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> No problems found. - -> Checking '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> No problems found. - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -
اور انفرادی طور پر فائلوں کو اسکین کرنے کی کوشش:

- -``` - Sun, 01 Apr 2018 22:27:41 +0800 Started. - > Checking 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> No problems found. - Sun, 01 Apr 2018 22:27:41 +0800 Finished. -``` - -####
بلیک لسٹ – سفید لسٹ – سرمئی لسٹ – وہ کیا ہیں، اور میں ان کا کیسے استعمال کروں؟

- -
سیاق و ضوابط پر منحصر ہے، یہ الفاظ مختلف چیزوں کا مطلب ہے. phpMussel میں، تین شرائط ہیں جہاں یہ شرائط استعمال کیا جاتا ہے: فائل کا ناپ، فائل کی قسم، اور سرمئی لسٹ دستخط.

- -
کم سے کم پروسیسنگ کے ساتھ مطلوبہ مطلوبہ نتائج حاصل کرنے کے لئے، فائلوں کو اسکین کرنے سے قبل phpMussel کچھ چیزیں کرسکتے ہیں، مثال کے طور پر، فائل کا سائز، نام، اور توسیع چیک کر رہا ہے. اگر ایک فائل بہت بڑی ہے، یا اگر اس کے کسی قسم کی فائل کا توسیع ہے جسے ہم نہیں چاہتے ہیں، ہم فوری طور پر فائل کی شناخت کر سکتے ہیں، اور اسے اسکین کرنے کی ضرورت نہیں ہے.

- -
فائل کا سائز کے سیاق و سباق کا طریقہ phpMussel کا جواب ہے جب ایک فائل ایک مخصوص حد سے کہیں زیادہ ہے. کوئی فہرست شامل نہیں ہیں، لیکن اس کے سائز پر مبنی ایک فائل کو سمجھا جا سکتا ہے. دو الگ الگ، اختیاری ترتیب کے ہدایات بالترتیب ایک حد اور مطلوبہ جواب کی وضاحت کرنے کے لئے موجود ہیں.

- -
فائل کی قسم کا جواب یہ ہے کہ phpMussel فائل کی توسیع کا جواب ہے. تین علیحدہ، اختیاری ترتیب کے ہدایات واضح طور پر واضح کرنے کے لئے موجود ہیں کہ بالترتیب ہر لسٹ پر ہر ترتیب پر ہونا چاہئے. ایک فائل درج کی جا سکتی ہے اگر اس کی توسیع بالترتیب کسی بھی مخصوص ملانے سے ملتی ہے.

- -
ان دونوں مقاصد میں، وائٹسٹسٹ کا مطلب یہ ہے کہ اسے اسکین یا پرچم نہیں کیا جانا چاہئے؛ بلیک لسٹ پر ہونے کا مطلب یہ ہے کہ اسے نشان زد کیا جانا چاہئے (اور اس وجہ سے اس کو اسکین کرنے کی ضرورت نہیں ہے)؛ اور گرینسٹ پر ہونے کا مطلب یہ ہے کہ اس بات کا تعین کرنے کے لئے مزید تجزیہ کی ضرورت ہے کہ آیا ہمیں اسے پرچم دینا چاہیے (یعنی، اسے اسکین کیا جانا چاہئے).

- -
دستخط سرمئی لسٹ دستخط کی ایک فہرست ہے جو لازمی طور پر نظر انداز کی جانی چاہئے (اس دستاویز میں پہلے ہی مختصر بیان کی گئی ہے). جب سرمئی لسٹ پر دستخط ہوجائے تو، phpMussel اپنے دستخط کے ذریعہ کام جاری رکھتا ہے اور سرمئی لسٹ پر دستخط کے حوالے سے کوئی خاص کارروائی نہیں کرتا ہے. کوئی دستخط بلیک لسٹ نہیں ہے، کیونکہ تخیل شدہ دستخط کے لئے منسلک سلوک رویہ عام رویے ہے. اس میں کوئی دستخط نہیں ہے، کیونکہ یہ اس سلسلے میں ضروری نہیں ہے.

- -
اگر آپ کو دستخط یا مکمل دستخط فائل غیر فعال کرنے کے بغیر کسی خاص دستخط کی وجہ سے مسائل کو حل کرنے کی ضرورت ہوتی ہے تو دستخط سرمئی لسٹ مفید ہے.

- -####
جب میں دستخط شدہ فائلوں کے ذریعہ دستخط شدہ فائلوں کو چالو یا غیر فعال کروں تو، یہ انفرادی طور پر ترتیب میں تبدیل کرتا ہے. کیا میں اس راستہ کو تبدیل کر سکتا ہوں جسے وہ ترتیب دیں گے؟

- -
جی ہاں. اگر آپ کو مخصوص فائلوں میں عمل درآمد کرنے کے لئے کچھ فائلوں پر مجبور کرنے کی ضرورت ہے تو، آپ ان کے نام سے پہلے ان ترتیبات کو ہدایت دیتے ہیں جہاں وہ فہرست میں درج ہوتے ہیں، ان سے پہلے کسی بھی مباحثہ کے اعداد و شمار کو شامل کرسکتے ہیں. جب اپ ڈیٹس کے صفحے کو بعد میں فائلوں کو دوبارہ ترتیب دیتا ہے، تو اس نے مزید کہا کہ خود مختار اعداد و شمار اس طرح کے حکم کو متاثر کرے گی، جس کے نتیجے میں ان کے نتیجے میں عملدرآمد کرنے کے نتیجے میں عملدرآمد کرنے کے لۓ، بغیر کسی کو تبدیل کرنے کی ضرورت ہے.

- -
مثال کے طور پر، مندرجہ ذیل درج ذیل فائلوں کے ساتھ ایک ترتیب ڈائریکٹری کو فرض کرنا:

- -`file1.php,file2.php,file3.php,file4.php,file5.php` - -
اگر آپ چاہتے تھے کہ file3.php سب سے پہلے عمل کرنے کیلئے، آپ فائل کے نام سے پہلے aaa: کی طرح کچھ شامل کرسکتے ہیں:

- -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -
پھر، اگر ایک نئی فائل، file6.php، چالو کر دیا جاتا ہے، جب اپ ڈیٹس صفحہ ان کو دوبارہ دوبارہ تبدیل کرتا ہے، تو اسے اس طرح ختم کرنا چاہئے:

- -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -
ایک ہی صورت حال حال ہی میں ایک فائل غیر فعال ہے. اس کے برعکس، اگر آپ چاہتے تھے کہ آخری فائل کو عمل کرنے کے لۓ، آپ فائل کے نام سے پہلے zzz: کی طرح کچھ شامل کرسکیں. کسی بھی صورت میں، آپ کو سوال میں فائل کا نام تبدیل کرنے کی ضرورت نہیں ہوگی.

- -####
"PDO DSN" کیا ہے؟ میں phpMussel کے ساتھ PDO کیسے استعمال کرسکتا ہوں؟

- -
"PHP Data Objects" (PHP ڈیٹا آبجیکٹ)، "PDO" کا مخفف ہے. یہ PHP کو ایک انٹرفیس فراہم کرتا ہے تاکہ وہ PHP کی ایپلی کیشنز کے ذریعہ استعمال ہونے والے ڈیٹا بیس سسٹم سے رابطہ قائم کرسکیں.

- -
"data source name" (ڈیٹا سورس کا نام)، "DSN" کا مخفف ہے. یہ PDO کو بیان کرتا ہے کہ اسے ڈیٹا بیس سے کیسے جڑنا چاہئے.

- -
phpMussel میں، آپ کیڈیچنگ مقاصد کے لئے PDO استعمال کرسکتے ہیں. تاکہ اسے صحیح طریقے سے کام کیا جاسکے، ترتیب کے ذریعہ اس کو اہل بنائیں، اس کے لئے ایک ڈیٹا بیس بنائیں، اور نیچے بیان کردہ ڈھانچے کے مطابق اپنے ڈیٹا بیس میں ایک نیا ٹیبل بنائیں.

- -
جب ایک ڈیٹا بیس کنکشن کامیابی کے ساتھ ہے، لیکن ضروری جدول موجود نہیں ہے، یہ خود بخود تخلیق کرنے کی کوشش کرے گی. تاہم، اس طرز عمل کا بڑے پیمانے پر تجربہ نہیں کیا گیا ہے اور کامیابی کی ضمانت نہیں دی جاسکتی ہے.

- -
اگر آپ اسے استعمال نہیں کرنا چاہتے ہیں تو، آپ ان ہدایات کو نظرانداز کرسکتے ہیں.

- -
ذیل میں بیان کردہ ڈھانچے میں "phpmussel" کو اپنے ڈیٹا بیس کے نام کے بطور استعمال کیا گیا ہے، لیکن آپ اپنے ڈیٹا بیس کے لئے جو بھی نام استعمال کرنا چاہ، استعمال کرسکتے ہیں، جب تک کہ وہی نام آپ کی ڈی ایس این ترتیب میں نقل کیا جائے.

- -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -
pdo_dsn نیچے جیسا کہ بیان کیا جانا چاہئے.

- -``` -ڈیٹا بیس ڈرائیور کس پر استعمال ہوتا ہے اس پر منحصر ہے... -├─4d (انتباہ: تجرباتی، غیر جانچ شدہ، تجویز کردہ نہیں) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └رابطہ کرنے کیلئے میزبان -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └استعمال کرنے کے لئے ڈیٹا بیس کا نام -│ │ │ -│ │ └استعمال کرنے کیلئے پورٹ نمبر -│ │ -│ └رابطہ کرنے کیلئے میزبان -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └استعمال کرنے کے لئے ڈیٹا بیس کا نام -│ │ │ -│ │ └رابطہ کرنے کیلئے میزبان -│ │ -│ └Possible values: "mssql", "sybase", "dblib". -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├مقامی ڈیٹا بیس فائل کا راستہ ثابت ہوسکتا ہے -│ │ -│ ├ایک میزبان اور پورٹ نمبر سے رابطہ کرسکتے ہیں -│ │ -│ └اگر آپ اسے استعمال کرنا چاہتے ہیں تو آپ کو Firebird دستاویزات کا حوالہ دینا چاہئے -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └رابطہ کرنے کے لئے کیٹلوجڈ ڈیٹا بیس -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └رابطہ کرنے کے لئے کیٹلوجڈ ڈیٹا بیس -├─mysql (سب سے زیادہ تجویز کردہ) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └استعمال کرنے کیلئے پورٹ نمبر -│ │ │ -│ │ └رابطہ کرنے کیلئے میزبان -│ │ -│ └استعمال کرنے کے لئے ڈیٹا بیس کا نام -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├مخصوص کیٹلوجڈ ڈیٹا بیس کا حوالہ دے سکتا ہے -│ │ -│ ├ایک میزبان اور پورٹ نمبر سے رابطہ کرسکتے ہیں -│ │ -│ └اگر آپ اسے استعمال کرنا چاہتے ہیں تو آپ کو Oracle دستاویزات کا حوالہ دینا چاہئے -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├مخصوص کیٹلوجڈ ڈیٹا بیس کا حوالہ دے سکتا ہے -│ │ -│ ├ایک میزبان اور پورٹ نمبر سے رابطہ کرسکتے ہیں -│ │ -│ └اگر آپ اسے استعمال کرنا چاہتے ہیں تو آپ کو ODBC/DB2 دستاویزات کا حوالہ دینا چاہئے -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └استعمال کرنے کے لئے ڈیٹا بیس کا نام -│ │ │ -│ │ └استعمال کرنے کیلئے پورٹ نمبر -│ │ -│ └رابطہ کرنے کیلئے میزبان -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └استعمال کرنے کے لئے مقامی ڈیٹا بیس فائل کا راستہ -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └استعمال کرنے کے لئے ڈیٹا بیس کا نام - │ │ - │ └استعمال کرنے کیلئے پورٹ نمبر - │ - └رابطہ کرنے کیلئے میزبان -``` - -
اگر آپ اپنے DSN کو تبدیل کرنے کے بارے میں یقین نہیں رکھتے ہیں تو، کچھ بھی تبدیل کیے بغیر اسے استعمال کرنے کی کوشش کریں.

- -
pdo_username اور pdo_password آپ کے صارف کے نام اور پاس ورڈ کی طرح ہونا چاہئے جو آپ نے اپنے ڈیٹا بیس کے لئے منتخب کیا ہے.

- -####
میری اپ لوڈ کی فعالیت نہیں ہم وقت ساز (مثال کے طور پر، ajax، ajaj، json، وغیرہ استعمال کرتا ہے). اپلوڈ مسدود ہونے پر مجھے کوئی خاص پیغام یا انتباہ نظر نہیں آتا ہے. کیا ہو رہا ہے؟

- -
یہ عام بات ہے. phpMussel کے معیاری "اپ لوڈ کریں تردید" کا صفحہ HTML کے بطور پیش کیا گیا ہے. عام درخواستوں کے ل یہ کافی ہونا چاہئے، لیکن اگر آپ کو زیادہ کی ضرورت ہو یہ شاید کافی نہیں ہوگا. اگر یہ ایک مسئلہ بن جاتا ہے، کچھ چیزیں ایسی ہیں جن کی آپ کوشش کرسکتے ہیں.

- -
    -
  • ۱. HTML کے علاوہ کسی اور چیز کی خدمت کے لئے کسٹم آؤٹ پٹ ٹیمپلیٹ تشکیل دینا.
  • -
  • ۲. معیاری "اپ لوڈ کریں تردید" صفحہ کو مکمل طور پر نظر انداز کرنے کے لئے ایک کسٹم پلگ ان بنانا اور اپ لوڈ کو روکنے پر اپ لوڈ ہینڈلر کو کچھ اور کروائیں (اپلوڈر ہینڈلر کے ذریعہ فراہم کردہ کچھ پلگ ان ہکس ہیں جو اس کے لئے مددگار ثابت ہوسکتے ہیں).
  • -
  • ۳. اپ لوڈ ہینڈلر کو مکمل طور پر غیر فعال کرنا اور اس کے بجائے آپ کی اپ لوڈ فعالیت میں phpMussel API کو کال کرنا.
  • -
- -####
کیا EICAR phpMussel کے ذریعہ پتہ لگایا جاسکتا ہے؟

- -
جی ہاں. EICAR کا پتہ لگانے کے لئے ایک دستخط phpmussel_regex.db میں شامل ہے. جب تک یہ دستخط فائل انسٹال اور چالو ہوجائے گی، phpMussel کو EICAR کا پتہ لگانے کے قابل ہونا چاہئے. چونکہ ClamAV ڈیٹا بیس میں EICAR کا پتہ لگانے کے لئے بہت سے دستخط موجود ہیں، لہذا ClamAV آسانی سے EICAR کا پتہ لگا سکتا ہے، لیکن چونکہ ClamAV کے دستخطوں کا صرف ایک چھوٹا سا حصہ phpMussel کے ذریعہ استعمال ہوتا ہے، لہذا یہ phpMussel میں EICAR کا پتہ لگانے کے لئے کافی نہیں ہوگا. اس کا پتہ لگانے کی قابلیت آپ کی صحیح ترتیب پر بھی منحصر ہوسکتی ہے.

- ---- - - -### - -####
۱۱.۰ سیکشن پریامبل

- -
دستاویزات کا یہ حصہ پیکج کے استعمال اور عمل کے بارے میں ممکنہ قانونی مفکوم بیان کرتا ہے، اور کچھ بنیادی متعلق معلومات فراہم کرتی ہے. بعض صارفین کے لئے شکایت کا یقین کرنے کے لئے یہ ممکن ہو سکتا ہے کہ وہ کسی بھی قانونی تقاضے کے ساتھ موجود ممالک میں موجود ہوسکتے ہیں جس میں وہ کام کرتے ہیں، اور کچھ صارفین اس کی معلومات کے مطابق اپنی ویب سائٹ کی پالیسیوں کو ایڈجسٹ کرنے کی ضرورت ہوسکتی ہے.

- -
سب سے پہلے، سب سے اہم، یاد رکھیں کہ میں (پیکیج کا مصنف) ایک وکیل نہیں ہوں. لہذا، میں قانونی مشورہ فراہم کرنے کے لئے قانونی طور پر قابل نہیں ہوں. اس کے علاوہ، کچھ معاملات میں، قانونی ضروریات مختلف ممالک اور دائرہ کاروں کے درمیان مختلف ہوتی ہیں. یہ مختلف قانونی ضروریات کبھی کبھی متفق ہیں (مثلا، ایسے ممالک جو "رازداری کے حقوق" اور "بھول جانے کا حق"، ایسے ممالک کے مقابلے میں جو "ڈیٹا برقرار رکھنے" کا حق رکھتے ہیں). یہ بھی غور کریں کہ پیکیج تک رسائی مخصوص ممالک یا دائرہ کاروں سے محدود نہیں ہے, اور اس وجہ سے، پیکج کے صارفین جغرافیایی متنوع ہونے کا امکان رکھتے ہیں. ان پوائنٹس پر غور کیا گیا ہے، میں ایسی حیثیت میں نہیں ہوں جو یہ سب کے لئے "قانونی طور پر مطابق" ہونے کا مطلب ہے. تاہم، مجھے امید ہے کہ اس معلومات میں آپ کو یہ فیصلہ کرنے میں مدد ملتی ہے کہ پیکج کے تناظر میں قانونی طور پر مطابق رہنے کے لۓ آپ کو کیا کرنا ہوگا. اگر آپ کو کوئی شبہ ہے، یا اگر آپ کو قانونی نقطہ نظر سے اضافی مدد اور مشورہ کی ضرورت ہو تو، میں ایک قانونی پیشہ ورانہ مشاورت کی سفارش کروں گا.

- -####
۱۱.۱ ذمہ داری

- -
پیکج کسی بھی وارنٹی کے ساتھ فراہم نہیں کی جاتی ہے (لائسنس پہلے ہی اس کا ذکر کرتا ہے). یہ ذمہ داری کے تمام مقاصد پر لاگو ہوتا ہے. پیکج آپ کی سہولت کے لئے فراہم کی جاتی ہے. امید ہے کہ یہ مفید ہو گا، اور یہ آپ کے لئے کچھ فائدہ فراہم کرے گا. تاہم، پیکج کا استعمال کرتے ہوئے یا لاگو آپ کا اپنا فیصلہ ہے. آپ اسے استعمال کرنے یا اسے لاگو کرنے پر مجبور نہیں ہوئے ہیں. جب آپ ایسا کرتے ہو تو، آپ اس فیصلے کے ذمہ دار ہیں. میں اور دوسرا پیکج شراکت دار، آپ کے فیصلوں کے نتائج کے لئے قانونی طور پر ذمہ دار نہیں ہے.

- -####
۱۱.۲ تیسرے فریقوں

- -
اس پیکیج پر منحصر ہے کہ کس طرح پیکج ترتیب اور لاگو ہوتا ہے، کچھ صورتو میں، یہ تیسری جماعتوں کے ساتھ معلومات کا اشتراک کرسکتا ہے. کچھ قواعد و ضوابط میں، کچھ دائرہ کار کی طرف سے، یہ "ذاتی طور پر شناختی معلومات" کے طور پر بیان کیا جا سکتا ہے.

- -
تیسری جماعتوں کی طرف سے یہ معلومات کس طرح استعمال کی جاتی ہے، ان کی پالیسیوں کے تابع ہے، اور اس دستاویزات کے دائمے سے باہر ہے. تاہم، اس طرح کے معاملات میں، معلومات کا اشتراک معذور ہوسکتا ہے. اس طرح کے معاملات میں، اگر آپ اسے چالو کرنے کا انتخاب کرتے ہیں تو، یہ آپ کی ذمہ داری ہے کہ آپ کو ان خدشات کے بارے میں معلومات کی رازداری، سیکورٹی اور استعمال کے بارے میں کوئی خدشات کی تحقیقات کی جا سکتی ہے. اگر کوئی شبہ موجود ہے، یا اگر آپ ان تیسری جماعتوں کے انعقاد سے ناخوش ہیں تو، ان تیسری جماعتوں کے ساتھ معلومات کے تمام حصول کو غیر فعال کرنے میں یہ سب سے بہتر ہوسکتا ہے.

- -
شفافیت کے مقصد کے لئے، مشترکہ معلومات کی قسم ذیل میں بیان کی گئی ہے.

- -#####
۱۱.۲.۰ ویب فونٹس

- -
کچھ اپنی مرضی کے مطابق موضوعات، معیاری phpMussel صارف انٹرفیس، اور "اپ لوڈ کریں تردید" صفحہ، ویب فونٹس کو جمالیاتی وجوہات کے لۓ استعمال کرسکتے ہیں. ویب فونٹس ڈیفالٹ کے ذریعہ غیر فعال ہیں. فعال ہونے پر، صارف کے برائوزر اور ویب فونٹ میزبان کے درمیان براہ راست مواصلات موجود ہے. یہ ممکنہ طور پر مواصلاتی معلومات جیسے صارف کے IP ایڈریس، صارف ایجنٹ، آپریٹنگ سسٹم، اور درخواست کے لئے دستیاب دیگر تفصیلات شامل ہوسکتا ہے. ان میں سے زیادہ تر ویب فونٹس Google Fonts سروس کی طرف سے میزبان ہیں.

- -
متعلقہ ترتیب ہدایات:
-
    -
  • disable_webfonts <- general
  • -
- -#####
۱۱.۲.۱ URL سکینر

- -
فائل اپ لوڈوں کے اندر پایا URL Google Safe Browsing API کے ساتھ اشتراک کیا جا سکتا ہے، اس سلسلے پر منحصر ہے کہ کس طرح پیکج کو ترتیب دیا گیا ہے.

- -
متعلقہ ترتیب ہدایات:
-
    -
  • google_api_key <- urlscanner
  • -
- -#####
۱۱.۲.۲ VIRUS TOTAL

- -
جب phpMussel فائل فائل اپ لوڈ کرتا ہے، ان فائلوں کے ہیس کو Virus Total API کے ساتھ اشتراک کیا جاسکتا ہے، اس پر منحصر ہے کہ کس طرح پیکج کو تشکیل دیا گیا ہے. مستقبل میں کچھ عرصے سے پوری فائلوں کو بھی اشتراک کرنے کے قابل ہونے کا منصوبہ موجود ہے، لیکن اس خصوصیت اس وقت پیکج کے ذریعہ معاون نہیں ہے. اس خصوصیت کو استعمال کرنے کے لئے API کی کلید کی ضرورت ہے.

- -
معلومات Virus Total کے ساتھ اشتراک کیا جا سکتا ہے، تحقیق کے مقاصد کے لۓ ان کے شراکت دار، ملحقہ، اور دیگر دیگر کے ساتھ بھی اشتراک کیا جا سکتا ہے. یہ ان کی رازداری کی پالیسی کی طرف سے مزید تفصیل میں بیان کی گئی ہے.

- - - -
متعلقہ ترتیب ہدایات:
-
    -
  • vt_public_api_key <- virustotal
  • -
- -####
۱۱.۳ لاگ

- -
لاگنگ کئی وجوہات کے لئے phpMussel کا ایک اہم حصہ ہے. اس کے بغیر، غلطیوں کو تلاش کرنے اور مسائل کی تشخیص مشکل ہوسکتی ہے. اگر ہمارے پاس یہ معلومات نہیں ہے اور کسی چیز کو تبدیل کرنے کی ضرورت ہے، یہ جاننا مشکل ہوسکتا ہے کہ بالکل وہی چیز جو تبدیل کرنے کی ضرورت ہے. اس کے باوجود، ہر کوئی اس معلومات کو ریکارڈ نہیں کرنا چاہتا، لہذا یہ اختیاری رہتا ہے. phpMussel میں، یہ ڈیفالٹ کی طرف سے معذور ہے. اسے فعال کرنے کے لئے، phpMussel کے مطابق ترتیب دیا جانا چاہئے.

- -
یہ یاد رکھنا چاہیے کہ لاگنگ کے لئے عین مطابق قانونی ضروریات دائرہ کاروں کے درمیان مختلف ہو سکتی ہیں. عملدرآمد کا تناظر بھی متعلقہ ہو سکتا ہے (مثال کے طور پر، ایک فرد کے طور پر، ایک کارپوریٹ ادارے کے طور پر، تجارتی بنیاد پر، غیر تجارتی بنیاد پر، وغیرہ). اس کی وجہ سے، یہاں کی معلومات آپ کے لئے مفید ہوسکتی ہے.

- -
بہت سے مختلف قسم کی معلومات درج کی جا سکتی ہیں، مختلف وجوہات کے لئے.

- -#####
۱۱.۳.۰ اسکین لاگ

- -
پیکیج ترتیب میں فعال ہونے پر، phpMussel فائلوں کے لاگ رکھتا ہے اسے اسکین کرتا ہے. یہ دو مختلف فارمیٹس میں دستیاب ہے:
-
    -
  • لاگ جو انسان کی طرف سے پڑھ سکتے ہیں.
  • -
  • سیریلائزڈ لاگ.
  • -
- -
فائلوں میں ڈیٹا جو انسان کی طرف سے پڑھ سکتے ہیں، عام طور پر اس طرح لگ رہا ہے (ایک مثال کے طور):

- -``` -Mon, 21 May 2018 00:47:58 +0800 Started. -> Checking 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> Detected phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 Finished. -``` - -
اسکین لاگ ان عام طور پر مندرجہ ذیل معلومات شامل ہیں:
-
    -
  • فائل اور تاریخ جس کا فائل اسکین کیا گیا تھا.
  • -
  • اس فائل کا نام اسکین کیا گیا تھا.
  • -
  • اس کے نام اور فائل کے مواد کے CRC32b ہش.
  • -
  • فائل میں کیا پتہ چلا تھا (اگر کچھ پتہ چلا).
  • -
- -
متعلقہ ترتیب ہدایات:
-
    -
  • scan_log <- general
  • -
  • scan_log_serialized <- general
  • -
- -
جب یہ ہدایات خالی رہیں تو، اس قسم کی ریکارڈنگ غیر فعال رہیں گے.

- -#####
۱۱.۳.۱ بلاک اپ لوڈز لاگ

- -
کی ترتیب فعال ہونے پر، phpMussel اپ لوڈ کی ریکارڈز کو برقرار رکھتا ہے جو بلاک کردی گئی ہیں.

- -
یہ ریکارڈ عام طور پر اس طرح نظر آتے ہیں:

- -
-تاریخ: Mon, 21 May 2018 00:47:56 +0800
-IP پتہ: 127.0.0.1
-== اسکین کے نتائج (پرچم کیوں) ==
-کے پتہ phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)!
-== ہش کا دستخط دوبارہ تعمیر ==
-3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt
-طور قرنطینہ "/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu".
-
- -
بلاک شدہ اپ لوڈس کے بارے میں معلومات عام طور پر شامل ہیں:
-
    -
  • اپ لوڈ کردہ تاریخ اور وقت.
  • -
  • IP ایڈریس جہاں اپ لوڈ سے پیدا ہوا ہے.
  • -
  • فائل کیوں بلاک ہوگئی تھی (پتہ لگانا ہوئی).
  • -
  • اس فائل کا نام جو بلاک کیا گیا تھا.
  • -
  • MD5 اور اس فائل کا سائز جو بلاک ہے.
  • -
  • الگ تھلگ؟ کیا نام استعمال کیا؟
  • -
- -
متعلقہ ترتیب ہدایات:
-
    -
  • scan_kills <- general
  • -
- -#####
۱۱.۳.۲ سامنے کے آخر لاگ

- -
یہ سامنے کے آخر میں لاگ ان کرنے کی کوشش کرنے سے متعلق ہے. جب سامنے کے آخر میں رسائی کو فعال کیا جاتا ہے، جب صارف کو سامنے کے آخر میں لاگ ان کرنے کی کوشش ہوتی ہے، تو ریکارڈ کیا جاتا ہے.

- -
اس ریکارڈ میں صارف کے IP ایڈریس، تاریخ اور وقت اور اس کے نتائج شامل ہیں (کامیاب یا ناکامی). یہ عام طور پر اس طرح کچھ نظر آتا ہے:

- -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - لاگ ان. -``` - -
متعلقہ ترتیب ہدایات:
-
    -
  • frontend_log <- general
  • -
- -#####
۱۱.۳.۳ لاگ گھومنے

- -
آپ چاہتے ہیں، یا قانونی طور پر ہو سکتا ہے، کچھ وقت کے بعد لاگ ان کو صاف کرنے کے لئے (کتنی دیر تک آپ لاگ ان کو برقرار رکھ سکتے ہیں قانون کی طرف سے محدود ہوسکتے ہیں). یہ لاگ ان کے مطابق لاگ ان کی ترتیب میں تاریخ/وقت مارکر مقرر کرنے کی طرف سے کیا جا سکتا ہے (مثال کے طور پر، {yyyy}-{mm}-{dd}.log)، اور پھر لاگ گرد گھومنے کو چالو کرنے (لاگ گرد کی گردش آپ کو لاگ ان کی حد سے زیادہ حد تک زیادہ سے زیادہ لاگ ان پر لاگو کرنے کی اجازت دیتا ہے).

- -
مثال کے طور پر: اگر مجھے 30 دنوں کے بعد لاگز کو خارج کرنے کی ضرورت ہوتی ہے تو میں {dd}.log اپنے لاگ ان کے نام میں ڈال سکتا ہوں ({dd} دن کی نمائندگی کرتا ہے)، log_rotation_limit کو 30 مقرر کریں، اور log_rotation_action کو Delete مقرر کریں.

- -
اگر آپ کو کچھ وقت کے لئے ریکارڈ رکھنے کی ضرورت ہے تو، آپ کو لاگ گرد گھومنے کا استعمال نہ کرنے کا انتخاب کرسکتے ہیں، یا آپ log_rotation_action کی قدر Archive پر مقرر کر سکتے ہیں (اس ریکارڈ کو کمپیکٹ کریں گے، اس طرح ڈسک کے استعمال کو کم کرنا ہوگا).

- -
متعلقہ ترتیب ہدایات:
-
    -
  • log_rotation_limit <- general
  • -
  • log_rotation_action <- general
  • -
- -#####
۱۱.۳.۴ ٹرنک لاگ

- -
اگر آپ چاہتے ہیں تو، آپ انفرادی ریکارڈز کو چھوٹ سکتے ہیں جب وہ مخصوص سائز سے کہیں زیادہ ہیں.

- -
متعلقہ ترتیب ہدایات:
-
    -
  • truncate <- general
  • -
- -#####
۱۱.۳.۵ IP ایڈریس PSEUDONYMISATION

- -
سب سے پہلے، اگر آپ اصطلاح سے واقف نہیں ہیں، "pseudonymisation" ذاتی اعداد و شمار کی پروسیسنگ سے مراد اس طرح سے ہے کہ یہ کسی بھی مخصوص شخص کو بغیر کسی ضمنی معلومات کی نشاندہی نہیں کی جاسکتی ہے، فراہم کی جاتی ہے کہ اس طرح کی اضافی معلومات علیحدہ طریقے سے برقرار رکھی جاتی ہے اور تکنیکی اور تنظیمی تدابیر کے تابع ہوتے ہیں اس بات کو یقینی بنانے کے لئے کہ ذاتی ڈیٹا کسی قدرتی شخص کو نشاندہی نہیں کی جاسکتی ہے.

- -
مندرجہ ذیل وسائل اس سے مزید تفصیل میں وضاحت کرنے میں مدد کرسکتے ہیں:
- - -
کچھ حالات میں، آپ کو کسی بھی PII جمع، عملدرآمد، یا ذخیرہ کرنے کے لئے "anonymisation" یا "pseudonymisation" کو لاگو کرنا قانونی طور پر ضروری ہوسکتا ہے. یہ تصور ابھی کچھ وقت تک وجود میں آیا ہے، لیکن GDPR/DSGVO خاص طور پر "pseudonymisation" کا ذکر اور حوصلہ افزائی کرتا ہے.

- -
اگر آپ چاہتے ہیں تو، phpMussel لاگ ان کرتے وقت لاگ ان کرتے وقت IP پتے کے لئے یہ کر سکتے ہیں. جب لکھنا لکھنا، IPv4 پتے کے آخری آکٹیٹ اور IPv6 پتے کے دوسرے حصے کے بعد سب کچھ، "x" کی طرف سے نمائندگی کی جائے گی.

- -
متعلقہ ترتیب ہدایات:
-
    -
  • pseudonymise_ip_addresses <- legal
  • -
- -#####
۱۱.۳.۶ اعداد و شمار

- -
phpMussel اعداد و شمار کو ٹریک کر سکتے ہیں، جیسے کہ ایک خاص وقت سے کتنے فائلوں کو سکینڈ اور بند کر دیا گیا ہے. یہ خصوصیت ڈیفالٹ کے ذریعہ غیر فعال ہے، لیکن پیکیج کی ترتیب کے ذریعے فعال کیا جا سکتا ہے. ٹریک کردہ معلومات کی قسم PII کے طور پر نہیں جانا چاہئے.

- -
متعلقہ ترتیب ہدایات:
-
    -
  • statistics <- general
  • -
- -#####
۱۱.۳.۷ خفیہ کاری

- -
phpMussel اس کے لاگ ان یا کیش کو خفیہ نہیں کرتا. یہ مستقبل میں متعارف کرایا جا سکتا ہے، لیکن فی الحال اس کی کوئی مخصوص منصوبہ نہیں ہے. اگر آپ غیر قانونی شدہ تیسری جماعتوں کے بارے میں فکر مند ہیں تو phpMussel میں حساس معلومات تک رسائی حاصل ہے، میں سفارش کرتا ہوں کہ عام طور پر قابل رسائی مقام پر phpMussel انسٹال نہیں کیا جائے گا (مثال کے طور پر، public_html میں انسٹال نہ کریں) اور اس بات کو یقینی بنائیں کہ مناسب حد تک محدود پابندیوں کو نافذ کیا جائے. اگر یہ آپ کے خدشات کو حل کرنے کے لئے کافی نہیں ہے تو پھر phpMussel کو ترتیب دیں تاکہ حساس معلومات جمع نہیں کی جائے گی (جیسے جیسے، لاگ ان کو غیر فعال کرکے).

- -####
۱۱.۴ کوکی

- -
صارف کو سامنے کے آخر میں لاگ ان ہونے پر phpMussel ایک کوکی سیٹ کرتا ہے (تصدیق کے مقاصد کے لئے). لاگ ان کے صفحے پر، صارف کو خبردار کیا جاتا ہے کہ اگر وہ صفحہ مشغول ہوجائے تو ایک کوکی پیدا کی جائے گی. کوکیز کہیں اور نہیں بنائے جاتے ہیں.

- -
متعلقہ ترتیب ہدایات:
-
    -
  • disable_frontend <- general
  • -
- -####
۱۱.۵ مارکیٹنگ اور اشتہارات

- -
phpMussel مارکیٹنگ یا اشتہارات کے مقاصد کے لئے کسی بھی معلومات جمع یا عمل نہیں کرتا ہے. یہ کسی جمع کردہ یا لاگ ان معلومات سے کوئی فائدہ نہیں فروخت کرتا ہے. phpMussel ایک تجارتی ادارہ نہیں ہے، اور کسی بھی تجارتی مفادات سے متعلق نہیں ہے، لہذا ان کاموں کو کوئی احساس نہیں ہوگا. اس منصوبے کی شروعات کے بعد یہ معاملہ رہا ہے، اور آج ہی مقدمہ جاری ہے.

- -####
۱۱.۶ رازداری کی پالیسی

- -
بعض اوقات آپ کو قانون کی طرف سے آپ کی ویب سائٹ پر اپنی جگہ پر اپنی رازداری کی پالیسی پر ایک لنک ظاہر کرنے کی ضرورت ہوسکتی ہے. اس بات کو یقینی بنانے کیلئے صارفین کو آپ کی رازداری کے طریقوں کے بارے میں مطلع کیا جاسکتا ہے، جو آپ جمع کرتے ہیں، اور آپ اس معلومات کے ساتھ کیا کرتے ہیں. phpMussel کے "اپ لوڈ کریں تردید" کے صفحے پر اس لنک کو شامل کرنے کے قابل ہونے کے لۓ، آپ کی رازداری کی پالیسی کے ایڈریس کی وضاحت کرنے کے لئے ایک ترتیب کا اختیار فراہم کیا جاتا ہے.

- -
متعلقہ ترتیب ہدایات:
-
    -
  • privacy_policy <- legal
  • -
- -####
۱۱.۷ GDPR/DSGVO

- -
GDPR یورپی یونین کا ایک ضابطہ ہے جو 25 مئی، 2018 تک اثر انداز ہوتا ہے. ریگولیشن کا بنیادی مقصد یہ ہے کہ یورپی یونین کے شہریوں اور باشندوں کو ان کے اپنے ذاتی ڈیٹا سے متعلق قابو پانے، اور پرائیویٹ اور ذاتی ڈیٹا کے بارے میں یورپی یونین کے اندر ریگولیشن کو متحد کرنا.

- -
ریگولیشن کسی بھی EU کے "اعداد و شمار کے مضامین" (کسی بھی شناخت یا شناختی قدرتی شخص) کے "ذاتی طور پر شناختی معلومات" کی پروسیسنگ سے متعلق مخصوص اجزاء پر مشتمل ہے. تعمیل کرنے کے لئے، کمپنیوں، عمل، اور متعلقہ نظام، "ڈیزائن کی طرف سے رازداری" کو لاگو کرنا لازمی ہے، سب سے زیادہ ممکن راز رازداری کی ترتیبات کا استعمال کرنا ضروری ہے، کسی ذخیرہ یا پروسیسنگ معلومات کے لئے حفاظتی انتظامات کو لاگو کرنا ضروری ہے (بشمول، لیکن تک محدود نہیں، "pseudonymisation" اور "anonymisation")، واضح طور پر ان اعداد و شمار کی اقسام کا اعلان کرنا چاہیے جو وہ جمع کرتے ہیں، وہ کس طرح کے سببوں کے لئے، اس کے عمل کو کس طرح، وہ کتنی عرصے تک اسے برقرار رکھتی ہیں، اور اگر وہ اس ڈیٹا کو کسی بھی تیسری پارٹی کے ساتھ شریک کریں، اعداد و شمار کی اقسام، کیسے، کیوں، اور اسی طرح کی اقسام.

- -
اعداد و شمار پر عملدرآمد نہیں کیا جاسکتا جب تک کہ ایسا کرنے کے لئے قانونی بنیاد نہ ہو، قواعد و ضوابط کے مطابق. عام طور پر، اس کا مطلب یہ ہے کہ یہ قانونی ذمہ داریوں کے مطابق ہونا ضروری ہے، اور صرف واضح ہونے کے بعد، اچھی طرح سے مطلع رضامندی کے اعداد و شمار سے حاصل کی گئی ہے.

- -
وقت میں، قوانین تبدیل کر سکتے ہیں. لہذا، پرانے معلومات کو پھیلانے سے بچنے کے لۓ، یہ مستند ذریعہ سے سیکھنا بہتر ہوگا. اگر میں براہ راست یہاں معلومات شامل ہوں تو، یہ تاریخ سے باہر ہوسکتا ہے.

- -
مزید معلومات سیکھنے کے لئے کچھ سفارش کردہ وسائل:
- - ---- - - -
آخری تازہ کاری: ۱۲ مئی ۲۰۲۲ (۲۰۲۲.۰۵.۱۲).
diff --git a/v2-and-earlier/readme.vi.md b/v2-and-earlier/readme.vi.md deleted file mode 100644 index a638221..0000000 --- a/v2-and-earlier/readme.vi.md +++ /dev/null @@ -1,1709 +0,0 @@ -## Tài liệu của phpMussel v2 (Tiếng Việt). - -### Nội dung -- 1. [LỜI GIỚI THIỆU](#SECTION1) -- 2. [CÁCH CÀI ĐẶT](#SECTION2) -- 3. [CÁCH SỬ DỤNG](#SECTION3) -- 4. [QUẢN LÝ FRONT-END](#SECTION4) -- 5. [CLI (LỆNH CHO DÒNG GIAO DIỆN)](#SECTION5) -- 6. [TẬP TIN BAO GỒM TRONG GÓI NÀY](#SECTION6) -- 7. [TÙY CHỌN CHO CẤU HÌNH](#SECTION7) -- 8. [ĐỊNH DẠNG CỦA CHỬ KÝ](#SECTION8) -- 9. [NHỮNG VẤN ĐỀ HỢP TƯƠNG TÍCH](#SECTION9) -- 10. [NHỮNG CÂU HỎI THƯỜNG GẶP (FAQ)](#SECTION10) -- 11. [THÔNG TIN HỢP PHÁP](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. LỜI GIỚI THIỆU - -Cảm ơn bạn đã chọn phpMussel, một loại bản PHP được thiết kế để phát hiện trojan, vi rút, phần mềm đọc hại và những gì có thể gây nguy hiểm trong những các tập tin tài lên trên máy của bạn. Bất cứ nơi nào mà bản đã được nối, dưa trên chử ký của ClamAV và những người khác. - -BẢN QUYỀN [PHPMUSSEL](https://phpmussel.github.io/) 2013 và hơn GNU/GPLv2 by [Caleb M (Maikuolan)](https://github.com/Maikuolan). - -Bản này là chương trình miễn phí; bạn có thể phân phối lại hoạc sửa đổi dưới điều kiện của GNU Giấy Phép Công Cộng xuất bản bởi Free Software Foundation; một trong giấy phép phần hai, hoạc (tùy theo sự lựa chọn của bạn) bất kỳ phiên bản nào sau này. Bản này được phân phối với hy vọng rằng nó sẽ có hữu ích, nhưng mà KHÔNG CÓ BẢO HÀNH; ngay cả những bảo đảm ngụ ý KHẢ NĂNG BÁN HÀNG hoạc PHÙ HỢP VỚI MỤC ĐÍT VÀO. Hảy xem GNU Giấy Phép Công Cộng để biết them chi tiết, nằm trong tập tin `LICENSE.txt`, và kho chứa của tập tin này có thể tiềm đước tại: -- . -- . - -Chân thành cám ơn [ClamAV](https://www.clamav.net/) cho nguồn cảm hứng cho chương trình này, và cho những chữ ký mà kịch bản này sử dụng, mà nếu không, kịch bản này sẽ không có cơ hội tồn tại, hoặc ít nhất, sẽ có giá trị rất nhỏ. - -Chân thành cám ơn SourceForge, Bitbucket, và GitHub cho cung cấp một nơi cho các tập tin dự án, và những người cung cấp một số các chữ ký thêm mà được sử dụng bởi phpMussel: [PhishTank](https://www.phishtank.com/), [NLNetLabs](https://nlnetlabs.nl/), [Malware.Expert](https://malware.expert/) vân vân, và chân thành cảm ơn những người đã ủng hộ chương trình này, và bất cứ ai khác mà tôi quên cảm ơn, và bạn, đã sử dụng bản này. - -Tài liệu này và các gói liên quan của nó có thể được tải về miễn phí từ: -- [GitHub](https://github.com/phpMussel/phpMussel). -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel). -- [SourceForge](https://sourceforge.net/projects/phpmussel/). - ---- - - -### 2. CÁCH CÀI ĐẶT - -#### 2.0 CÀI ĐẶT THỦ CÔNG (CHO CÁC TRANG MẠNG) - -1) Nếu bạn đang đọc cái này thì tôi hy vọng là bạn đã tải về một bản sao kho lưu trữ của bản, giải nén nội dung của nó và nó đang nằm ở một nơi nào đó trên máy tính của bạn. Từ đây, bạn sẽ muốn đặt nội dung ở một nơi trên máy chủ hoặc CMS của bạn. Một thư mục chẳng hạn như `/public_html/phpmussel/` hay tương tự (mặc dù sự lựa chọn của bạn không quan trọng, miễn là nó an toàn và bạn hài lòng với sự lựa chọn) sẽ đủ.. *Trước khi bạn bắt đầu tải lên, hảy tiếp tục đọc..* - -2) Đổi tên `config.ini.RenameMe` đến `config.ini` (nằm bên trong `vault`), và nếu bạn muốn (đề nghị mạnh mẽ cho người dùng cao cấp, nhưng không đề nghị cho người mới bắt đầu hay cho người thiếu kinh nghiệm), mở nó (tập tin này bao gồm tất cả các tùy chọn có sẵn cho phpMussel; trên mỗi tùy chọn nên có một nhận xét ngắn gọn mô tả những gì nó làm và những gì nó cho). Điều chỉnh các tùy chọn như bạn thấy phù hợp, theo bất cứ điều gì là thích hợp cho tập hợp cụ thể của bạn lên. Lưu tập tin, đóng. - -3) Tải nội dung lên (phpMussel và tập tin của nó) vào thư mục bạn đã chọn trước (bạn không cần phải dùng tập tin `*.txt`/`*.md`, nhưng chủ yếu, bạn nên tải lên tất cả mọi thứ). - -4) CHMOD thư mục `vault` thành "755" (nếu có vấn đề, bạn có thể thử "777", mặc dù này là kém an toàn). Các thư mục chính kho lưu trữ các nội dung (một trong những cái bạn đã chọn trước), bình thường, có thể riêng, nhưng tình hình CHMOD nên kiểm tra, nếu bạn đã có vấn đề cho phép trong quá khứ về hệ thống của bạn (theo mặc định, nên giống như "755"). Nói ngắn gọn: Đối với các gói để hoạt động đúng, PHP cần để có thể đọc và ghi các tập tin bên trong thư mục `vault`. Nhiều thứ (cập nhật, đăng nhập, vv) sẽ không thể, nếu PHP không thể ghi vào thư mục `vault`, và gói sẽ không hoạt động chút nào nếu PHP không thể đọc từ thư mục `vault`. Tuy nhiên, để bảo mật tối ưu, đảm bảo rằng thư mục `vault` KHÔNG được truy cập công khai (thông tin nhạy cảm, chẳng hạn như thông tin chứa bởi `config.ini` hoặc `frontend.dat`, có thể tiếp xúc với những kẻ tấn công tiềm năng nếu thư mục `vault` có thể truy cập công khai). - -5) Cài đặt bất kỳ chữ ký mà bạn sẽ cần. *Xem: [CÀI ĐẶT CHỮ KÝ](#INSTALLING_SIGNATURES).* - -6) Tiếp theo, bạn sẽ cần "nối" phpMussel vào hệ thống của bạn hay CMS. Có một số cách mà bạn có thể "nối" bản chẳng hạn như phpMussel vào hệ thống hoạc CMS, nhưng cách đơn giản nhất là cần có bản vào cốt lõi ở đầu của tập tin hoạc hệ thống hay CMS của bạn (một mà thường sẽ luôn luôn được nạp khi ai đó truy cập bất kỳ trang nào trên trang mạng của bạn) bằng cách sử dụng một lời chỉ thị `require` hoạc `include`. Thường, cái nàu sẽ được lưu trong một thư mục như `/includes`, `/assets` hoạc `/functions`, và sẽ thường được gọi là `init.php`, `common_functions.php`, `functions.php` hoạc tương tự. Bạn sẽ cần tiềm ra tập tin nào cho trường hợp của bạn; Nếu bạn gặp khó khăn trong việc này, hãy truy các trang issues (các vấn đề) của phpMussel hay cập diễn đàn hỗ trợ của phpMussel và cho chúng tôi biêt; Có thể là tôi họac các người dùng khác có có kinh nghiệm với các CMS mà bạn đang sử dụng (bạn phải biết mình đang sử dụng CMS nào), và như vậy, có thể cung cấp hỗ trợ trong trường hợp này. Để làm chuyện này [sử dụng `require` họac `include`], đánh các dòng mã sao đây vào đầu của cốt lõi của tập tin, thay thế các dây chứa bên trong các dấu ngoặc kép với địa chỉ chính xác của tập tin `loader.php` (địa chỉ địa phương, chứ không phải địa chỉ HTTP; nó sẽ nhình gióng địa chỉ kho nói ở trên). - -`` - -Lưu tập tin, đóng lại, tải lên lại. - --- CÁCH KHÁC -- - -Nếu bạn đang sử dụng trang chủ Apache và nếu bạn có thể truy cập `php.ini`, bạn có thể sử dụng `auto_prepend_file` chỉ thị để thêm vào trước phpMussel bất cứ khi nào bất kỳ yêu cầu PHP được xin. Gióng như: - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -Hoạc cái này trong tập tin `.htaccess`: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) Tại điểm này, bạn đã xong! Nhưng mà, bạn nên kiểm tra nó ra để đảm bảo nó hoạt động đúng. Để kiểm tra các tập tin tải lên bảo vệ, thử tải lên các tập tin thử nghiệm bao gồm trong gói dưới `.tests/samples` vào trang mạng của bạn thông qua các phương pháp tải lên dựa trên trình duyệt thông thường của bạn. (Đảm bảo bạn đã bao gồm các tập tin chữ ký `phpmussel*.*db` trong chỉ thị cấu hình `active` cho các tập tin thử nghiệm để kích hoạt). Nếu tất cả mọi thứ đang hoạt động, một tin nhắn sẽ xuất hiện từ phpMussel xác nhận là việc tải lên đã bị chặn thành công. Nếu không có gì xuất hiện, đây là điều biểu hiện cho một vấn đề với sự hoạt động. Nếu bạn đang sử dụng chức năng cao cấp, hay sử dụng các loại chức năng quét khác có thể với công cụ này, bạn nên thử nó ra với những điều đó để đảm bảo nó hoạt động như yêu cầu. - -#### 2.1 CÀI ĐẶT THỦ CÔNG (CHO CLI) - -1) Nếu bạn đang đọc cái này thì tôi hy vọng là bạn đã tải về một bản sao kho lưu trữ của bản, giải nén nội dung của nó và nó đang nằm ở một nơi nào đó trên máy tính của bạn. Một khi bạn đã hài lòng với vị trí của phpMussel, hày tiếp tục. - -2) phpMussel cần PHP được cài đặt trên máy chủ để thực hiện. Nếu bạn không có PHP cài trên máy, xin hảy cài PHP, theo hướng dẫn được cung cấp bởi người cài đặt PHP. - -3) Theo tùy chọn (khuyến khích những người dùng cao cấp, nhưng những người mới bắt đầu hay chưa có kinh nghiệm không nên chọn), hảy mở `config.ini` (nằm ớ trong `vault`) – Tập tin này có chứa tất cả các chỉ thị sẵn cho phpMussel. Trên mỗi tùy chọn sẽ có chi tiết ngắn mô tả những gì nó làm. Hảy điều chỉnh các tùy chọn như bạn thấy phù hợp, theo bất cứ điều gì là thích hợp cho nhữn cài đặt của bạn. Lưu tập tin, đóng lại. - -4) Tùy ý, bạn có thể sử dụng phpMussel trong chế độ CLI dể hơn với cách tạo ra tập tin lô để tự động tải PHP và phpMussel. Để làm điều này, mở một chương trình văn bản đơn giản như Notepad hoạc Notepad++, đánh vào đường dẫn đầy đủ cho tập tin `php.exe` trong thư mục cài đặt PHP của bạn, tiếp theo là một khoảng trống, theo sau là đường dẫn đầy đủ đến tập tin `loader.php` trong thư mục cài đặt phpMussel của bạn, lưu tập tin với tư bổ sung `.bat` một nơi nào bạn sẽ tìm thấy dễ dàng, và nhấn đúp vào vào tập tin đó để chạy phpMussel trong tương lai. - -5) Cài đặt bất kỳ chữ ký mà bạn sẽ cần. *Xem: [CÀI ĐẶT CHỮ KÝ](#INSTALLING_SIGNATURES).* - -6) Tại thời điểm này, bạ đã xong! Nhưng mà, bạn nên kiểm tra nó để đảm bảo sự hoạt động. Để kiểm tra phpMussel, chạy phpMussel và thử quét `.tests/samples` thư mục cung cấp trong gói. - -#### 2.2 CÀI ĐẶT VỚI COMPOSER - -[phpMussel được đăng ký với Packagist](https://packagist.org/packages/phpmussel/phpmussel), và như vậy, nếu bạn đã quen với Composer, bạn có thể sử dụng Composer để cài đặt phpMussel (bạn vẫn cần phải chuẩn bị cấu hình, quyền CHMOD, chữ ký và kết nối; xem "cài đặt thủ công (cho các trang mạng)" bước 2, 4, 5, và 6). - -`composer require phpmussel/phpmussel` - -#### 2.3 CÀI ĐẶT CHỮ KÝ - -Kể từ v1.0.0, chữ ký không được bao gồm trong gói phpMussel. Chữ ký được yêu cầu bởi phpMussel để phát hiện các mối đe dọa cụ thể. Có 3 phương pháp chính để cài đặt chữ ký: - -1. Cài đặt tự động bằng cách sử dụng trang cập nhật của front-end. -2. Tạo chữ ký bằng cách sử dụng "SigTool" và cài đặt thủ công. -3. Tải xuống chữ ký từ "phpMussel/Signatures" và cài đặt thủ công. - -##### 2.3.1 Cài đặt tự động bằng cách sử dụng trang cập nhật của front-end. - -Thứ nhất, bạn sẽ cần đảm bảo rằng front-end được kích hoạt. *Xem: [QUẢN LÝ FRONT-END](#SECTION4).* - -Sau đó, tất cả những gì bạn cần làm là vào trang cập nhật của front-end, tìm các tập tin chữ ký cần thiết, và bằng cách sử dụng các tùy chọn được cung cấp trên trang, cài đặt chúng, và kích hoạt chúng. - -##### 2.3.2 Tạo chữ ký bằng cách sử dụng "SigTool" và cài đặt thủ công. - -*Xem: [Tài liệu SigTool](https://github.com/phpMussel/SigTool#documentation).* - -*Cũng lưu ý: SigTool chỉ xử lý chữ ký từ ClamAV. Để có được chữ ký từ các nguồn khác, chẳng hạn như các chữ ký được viết riêng cho phpMussel, bao gồm các chữ ký cần thiết để phát hiện các mẫu thử nghiệm của phpMussel, phương pháp này sẽ cần được bổ sung bằng một trong các phương pháp khác được đề cập ở đây.* - -##### 2.3.3 Tải xuống chữ ký từ "phpMussel/Signatures" và cài đặt thủ công. - -Thứ nhất, đi đến [phpMussel/Signatures](https://github.com/phpMussel/Signatures). Kho chứa các tập tin chữ ký nén GZ khác nhau. tải về các tập tin mà bạn cần, giải nén chúng, và sao chép các tập tin giải nén vào thư mục `/vault/signatures` để cài đặt chúng. Liệt kê tên của các tập tin sao chép vào chỉ thị `active` trong cấu hình phpMussel của bạn để kích hoạt chúng. - ---- - - -### 3. CÁCH SỬ DỤNG - -#### 3.0 CÁCH SỬ DỤNG (CHO CÁC TRANG MẠNG) - -phpMussel sẽ có thể hoạt động một cách chính xác với yêu cầu tối thiểu từ bạn: Sau khi cài đặt nó, nó có thể được sử dụng ngay lập tức. - -Quét tập tin tải lên là tự động và kích hoạt theo mặc định, như vậy không có gì là cần thiết từ bạn cho các chức năng đặc biệt này. - -Tuy nhiên, bạn cũng có thể nói với phpMussel để quét tập tin cụ thể, thư mục hay kho lưu trữ. Để làm điều này, trước hết, bạn sẽ cần phải đảm bảo rằng các cấu hình thích hợp được thiết lập trong tập tin `config.ini` (`cleanup` phải được vô hiệu hóa), và khi thực hiện, trong một tập tin PHP được kết nối với phpMussel, sử dụng sau đây trong mã của bạn: - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan` có thể là một string, hoặc một hay nhiều của array, và chỉ ra đó tập tin hay thư mục để quét. -- `$output_type` là một boolean, và chỉ ra đó định dạng cho kết quả quét được trả về như. `false` hướng dẫn các chức năng để trả về kết quả là một số nguyên. `true` hướng dẫn các chức năng trả lại kết quả dưới dạng văn bản có thể đọc được con người. Ngoài ra, trong cả hai trường hợp, kết quả có thể được truy cập thông qua biến toàn cầu sau khi quét đã hoàn thành. Biến này là tùy chọn, mặc định là `false`. Sau đây mô tả các kết quả số nguyên: - -| Các kết quả | Sự miêu tả | -|---|---| -| -4 | Chỉ ra rằng không thể quét dữ liệu vì mã hóa. | -| -3 | Chỉ ra rằng vấn đề gặp phải với các tập tin chữ ký. | -| -2 | Chỉ ra rằng dữ liệu bị hỏng đã được phát hiện trong quá trình quét và như vậy quét không hoàn thành. | -| -1 | Chỉ ra rằng mở rộng hay bổ sung theo yêu cầu của PHP để thực hiện quá trình quét bị mất tích và như vậy quét không hoàn thành. | -| 0 | Chỉ ra rằng mục tiêu quét không tồn tại và như vậy không có gì để quét. | -| 1 | Chỉ ra rằng các mục tiêu đã được quét thành công và không có vấn đề đã được phát hiện. | -| 2 | Chỉ ra rằng các mục tiêu đã được quét thành công và vấn đề đã được phát hiện. | - -- `$output_flatness` là một boolean, chỉ ra cho các chức năng liệu có nên trả lại kết quả quét (khi có nhiều mục tiêu quét) như là một array hoặc một string. `false` sẽ trả lại kết quả như là một array. `true` sẽ trả lại kết quả như là một string. Biến này là tùy chọn, mặc định là `false`. - -Các ví dụ: - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -Trả về một cái gì đó như thế này (như một string): - -``` - Wed, 16 Sep 2013 02:49:46 +0000 Đã bắt đầu. - > Đang kiểm tra '/user_name/public_html/my_file.html': - -> Không tiềm được vấn đề. - Wed, 16 Sep 2013 02:49:47 +0000 Hoàn thành. -``` - -Đối với một phân tích đầy đủ những gì sắp xếp của chữ ký phpMussel sử dụng trong quá trình quét của nó và cách nó xử lý chữ ký của nó, tham khảo các phần [ĐỊNH DẠNG CỦA CHỬ KÝ](#SECTION8) của tập tin README này. - -Nếu bạn gặp bất kỳ sai tích cực, nếu bạn gặp một số điều mới bạn nghĩ rằng nên bị chặn, hay cho bất cứ điều gì khác có liên quan đến chữ ký, xin vui lòng liên hệ với tôi vì vậy mà tôi có thể thực hiện các thay đổi cần thiết, mà, nếu bạn không liên hệ với tôi, tôi có thể không nhất thiết phải nhận thức được. *(Xem: ["Sai tích cực" là gì?](#WHAT_IS_A_FALSE_POSITIVE)).* - -Để vô hiệu hóa chữ ký đã bao gồm trong phpMussel (chẳng hạn như nếu bạn gặp một sai tích cực và bạn không thể loại bỏ nó), đặt tên của chữ ký cụ thể để được vô hiệu hóa vào tập tin danh sách xám chữ ký (`/vault/greylist.csv`), được phân cách bằng dấu phẩy. - -*Xem thêm: [Làm thế nào để truy cập chi tiết cụ thể về các tập tin khi chúng được quét?](#SCAN_DEBUGGING)* - -#### 3.1 CÁCH SỬ DỤNG (CHO CLI) - -Tham khảo phần "CÀI ĐẶT THỦ CÔNG (CHO CLI)" của tập tin README này. - -Ngoài ra, ý thức được rằng phpMussel là một máy quét *khi yêu cầu* (hay *on-demand*); Nó *KHÔNG PHẢI* là một máy quét *khi truy cập* (hay *on-access*; khác hơn cho tập tin tải lên, tại thời điểm tải lên), và không giống như chống vi rút thông thường, nó không theo dõi bộ nhớ hoạt động! Nó sẽ chỉ phát hiện vi rút chứa của tập tin tải lên, và bởi những tập tin cụ thể rằng bạn rõ ràng nói với nó để quét. - ---- - - -### 4. QUẢN LÝ FRONT-END - -#### 4.0 FRONT-END LÀ GÌ. - -Các front-end cung cấp một cách thuận tiện và dễ dàng để duy trì, quản lý và cập nhật cài đặt phpMussel của bạn. Bạn có thể xem, chia sẻ và tải về các tập tin bản ghi thông qua các trang bản ghi, bạn có thể sửa đổi cấu hình thông qua các trang cấu hình, bạn có thể cài đặt và gỡ bỏ cài đặt các thành phần thông qua các trang cập nhật, và bạn có thể tải lên, tải về, và sửa đổi các tập tin trong vault của bạn thông qua các quản lý tập tin. - -Các front-end được tắt theo mặc định để ngăn chặn truy cập trái phép (truy cập trái phép có thể có hậu quả đáng kể cho trang web của bạn và an ninh của mình). Hướng dẫn cho phép nó được bao gồm bên dưới đoạn này. - -#### 4.1 LÀM THẾ NÀO ĐỂ KÍCH HOẠT FRONT-END. - -1) Xác định vị trí các chỉ thị `disable_frontend` bên trong `config.ini`, và đặt nó vào `false` (nó sẽ là `true` bởi mặc định). - -2) Truy cập `loader.php` từ trình duyệt của bạn (ví dụ, `http://localhost/phpmussel/loader.php`). - -3) Đăng nhập với tên người dùng và mật khẩu mặc định (admin/password). - -Chú thích: Sau khi bạn đã đăng nhập lần đầu tiên, để ngăn chặn truy cập trái phép vào các front-end, bạn phải ngay lập tức thay đổi tên người dùng và mật khẩu của bạn! Điều này là rất quan trọng, bởi vì nó có thể tải lên các mã PHP tùy ý để trang web của bạn thông qua các front-end. - -Ngoài ra, để bảo mật tối ưu, hãy bật "xác thực hai yếu tố" cho tất cả tài khoản front-end (hướng dẫn được cung cấp bên dưới). - -#### 4.2 LÀM THẾ NÀO ĐỂ SỬ DỤNG FRONT-END. - -Các hướng dẫn được cung cấp trên mỗi trang của front-end, để giải thích một cách chính xác để sử dụng nó và mục đích của nó. Nếu bạn cần giải thích thêm hay bất kỳ sự hỗ trợ đặc biệt, vui lòng liên hệ hỗ trợ. Cũng thế, có một số video trên YouTube có thể giúp bằng cách viện trợ trực quan. - -#### 4.3 2FA (XÁC THỰC HAI YẾU TỐ) - -Việc bật xác thực hai yếu tố ("2FA") có thể làm cho front-end an toàn hơn. Khi đăng nhập vào tài khoản có hỗ trợ 2FA, một email sẽ được gửi đến địa chỉ email được liên kết với tài khoản đó. Email này chứa "mã 2FA", mà sau đó người dùng phải nhập, ngoài tên người dùng và mật khẩu, để có thể đăng nhập bằng tài khoản đó. Điều này có nghĩa là việc lấy mật khẩu tài khoản sẽ không đủ cho bất kỳ tin tặc hoặc kẻ tấn công tiềm năng nào có thể đăng nhập vào tài khoản đó, bởi vì họ cũng cần phải có quyền truy cập vào địa chỉ email được liên kết với tài khoản đó để có thể nhận và sử dụng mã 2FA được kết hợp với phiên, do đó làm cho front-end an toàn hơn. - -Thứ nhất, để bật xác thực hai yếu tố, sử dụng trang cập nhật front-end để cài đặt thành phần PHPMailer. phpMussel sử dụng PHPMailer để gửi email. Lưu ý rằng mặc dù phpMussel tương thích với PHP >= 5.4.0, PHPMailer cần PHP >= 5.5.0, do đó, xác thực hai yếu tố trong phpMussel sẽ không thể cho người dùng PHP 5.4. - -Sau khi bạn đã cài đặt PHPMailer, bạn sẽ cần điền các chỉ thị cấu hình cho PHPMailer thông qua trang cấu hình phpMussel hoặc tập tin cấu hình. Thông tin thêm về các chỉ thị cấu hình này được bao gồm trong phần cấu hình của tài liệu này. Sau khi bạn đã điền các chỉ thị cấu hình PHPMailer, hãy đặt `enable_two_factor` thành `true`. Xác thực hai yếu tố bây giờ sẽ được bật. - -Tiếp theo, bạn cần liên kết địa chỉ email với tài khoản, để phpMussel có thể biết nơi gửi mã 2FA khi đăng nhập bằng tài khoản đó. Để thực hiện việc này, hãy sử dụng địa chỉ email làm tên người dùng cho tài khoản (như `foo@bar.tld`), hoặc bao gồm địa chỉ email như một phần của tên người dùng giống như khi gửi email thông thường (như `Foo Bar `). - -Chú thích: Bảo vệ vault của bạn khỏi bị truy cập trái phép (ví dụ, bằng cách tăng cường bảo mật cho máy chủ của bạn và hạn chế quyền truy cập công cộng), là đặc biệt quan trọng ở đây, vì truy cập trái phép vào tập tin cấu hình của bạn (được lưu trữ trong vault của bạn), có thể có nguy cơ phơi bày cài đặt SMTP gửi đi của bạn (bao gồm tên người dùng và mật khẩu SMTP). Bạn nên đảm bảo rằng vault của bạn được bảo mật đúng cách trước khi bật xác thực hai yếu tố. Nếu bạn không thể làm điều này, thì ít nhất, bạn nên tạo một tài khoản email mới, dành riêng cho mục đích này, để giảm thiểu rủi ro liên quan đến các bị phơi bày cài đặt SMTP. - ---- - - -### 5. CLI (LỆNH CHO DÒNG GIAO DIỆN) - -phpMussel có thể được chạy như một máy quét tập tin tương tác trong chế độ CLI theo các hệ thống dựa trên Windows. Tham khảo phần "CÁCH CÀI ĐẶT (CHO CLI)" của tập tin README này để biết thêm chi tiết. - -Để xem một danh sách các lệnh CLI có sẵn, tại dấu nhắc CLI, đánh 'c', và bấm Enter. - -Ngoài ra, cho những người quan tâm, một hướng dẫn video về cách sử dụng phpMussel trong chế độ CLI là có sẵn ở đây: -- - ---- - - -### 6. TẬP TIN BAO GỒM TRONG GÓI NÀY - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. TÙY CHỌN CHO CẤU HÌNH - -Sau đây là danh sách các biến tìm thấy trong tập tin cấu hình cho phpMussel `config.ini`, cùng với một mô tả về mục đích và chức năng của chúng. - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### "general" (Thể loại) -Cấu hình chung cho phpMussel. - -##### "cleanup" -- Phá hủy các biến và bộ đệm được sử dụng bởi tập lệnh sau khi quét tải lên? False = Không; True = Vâng [Mặc định]. Nếu bạn không sử dụng tập lệnh cho bất cứ điều gì ngoài việc quét tải lên, bạn nên đặt nó thành `true` để giảm thiểu việc sử dụng bộ nhớ. Mặt khác, bạn nên đặt nó thành `false`, để giữ lại trong bộ nhớ dữ liệu cần thiết để thực thi phpMussel mà không cần tải lại nó. -- Không có ảnh hưởng trong CLI. - -##### "scan_log" -- Tên của tập tin để ghi lại tất cả các kết quả quét. Chỉ định một tên tập tin, hoặc để trống để vô hiệu hóa. - -##### "scan_log_serialized" -- Tên của tập tin để ghi lại tất cả các kết quả quét (sử dụng một định dạng tuần tự). Chỉ định một tên tập tin, hoặc để trống để vô hiệu hóa. - -##### "scan_kills" -- Tên của tập tin để ghi lại tất cả hồ sơ của bị chặn hay bị giết tải lên. Chỉ định một tên tập tin, hoặc để trống để vô hiệu hóa. - -*Mẹo hữu ích: Nếu bạn muốn, bạn có thể bao gồm thông tin ngày/giờ trong tên các tập tin bản ghi (`scan_log`, `scan_log_serialized`, `scan_kills`, vv) của bạn bằng cách bao gồm những trong tên: `{yyyy}` cho năm hoàn thành, `{yy}` cho năm viết tắt, `{mm}` cho tháng, `{dd}` cho ngày, `{hh}` cho giờ.* - -*Các ví dụ:* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### "error_log" -- Một tập tin để ghi lại bất kỳ lỗi không nghiêm trọng được phát hiện. Chỉ định một tên tập tin, hoặc để trống để vô hiệu hóa. - -##### "truncate" -- Dọn dẹp các bản ghi khi họ được một kích thước nhất định? Giá trị là kích thước tối đa bằng B/KB/MB/GB/TB mà một tập tin bản ghi có thể tăng lên trước khi bị dọn dẹp. Giá trị mặc định 0KB sẽ vô hiệu hoá dọn dẹp (các bản ghi có thể tăng lên vô hạn). Lưu ý: Áp dụng cho tập tin riêng biệt! Kích thước tập tin bản ghi không được coi là tập thể. - -##### "log_rotation_limit" -- Xoay vòng nhật ký giới hạn số lượng của tập tin nhật ký có cần tồn tại cùng một lúc. Khi các tập tin nhật ký mới được tạo, nếu tổng số lượng tập tin nhật ký vượt quá giới hạn được chỉ định, hành động được chỉ định sẽ được thực hiện. Bạn có thể chỉ định giới hạn mong muốn tại đây. Giá trị 0 sẽ vô hiệu hóa xoay vòng nhật ký. - -##### "log_rotation_action" -- Xoay vòng nhật ký giới hạn số lượng của tập tin nhật ký có cần tồn tại cùng một lúc. Khi các tập tin nhật ký mới được tạo, nếu tổng số lượng tập tin nhật ký vượt quá giới hạn được chỉ định, hành động được chỉ định sẽ được thực hiện. Bạn có thể chỉ định hành động mong muốn tại đây. Delete = Xóa các tập tin nhật ký cũ nhất, cho đến khi giới hạn không còn vượt quá. Archive = Trước tiên lưu trữ, và sau đó xóa các tập tin nhật ký cũ nhất, cho đến khi giới hạn không còn vượt quá. - -*Làm rõ kỹ thuật: Trong ngữ cảnh này, "cũ nhất" có nghĩa là không được sửa đổi gần đây.* - -##### "timezone" -- Điều này được sử dụng để xác định múi giờ nào phpMussel nên sử dụng cho ngày/giờ. Nếu bạn không cần nó, bỏ qua nó. Các giá trị có thể được xác định bởi PHP. Nó thường được đề nghị thay vì để điều chỉnh các chỉ thị múi giờ trong tập tin `php.ini` của bạn, nhưng đôi khi (như ví dụ, khi làm việc với giới hạn cung cấp lưu trữ chia sẻ) đây không phải là luôn luôn có thể làm, và như vậy, tùy chọn này được cung cấp ở đây. - -##### "time_offset" -- *v1: "timeOffset"* -- Nếu thời gian máy chủ của bạn không phù hợp với thời gian địa phương của bạn, bạn có thể chỉ định một bù đắp đây để điều chỉnh thông tin ngày/giờ được tạo ra bởi phpMussel theo như yêu cầu của bạn. Nó nói chung được đề nghị điều chỉnh tùy chọn múi giờ trong `php.ini` tập tin của bạn, nhưng đôi khi (chẳng hạn như khi làm việc với dịch vụ lưu trữ mạng chia sẻ mà được giới hạn) đây không phải là luôn luôn có thể làm, và như vậy, tùy chọn này được cung cấp ở đây. Bù đắp là trong từ phút. -- Ví dụ (để thêm một giờ): `time_offset=60` - -##### "time_format" -- *v1: "timeFormat"* -- Định dạng ngày tháng sử dụng bởi phpMussel. Mặc định = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`. - -##### "ipaddr" -- Nơi để tìm thấy các địa chỉ IP của các yêu cầu kết nối? (Hữu ích cho các dịch vụ như thế Cloudflare và vv) Mặc định = REMOTE_ADDR. CẢNH BÁO: Không thay đổi này trừ khi bạn biết những gì bạn đang làm! - -Giá trị được khuyến khích cho "ipaddr": - -Giá trị | Sử dụng ----|--- -`HTTP_INCAP_CLIENT_IP` | Proxy reverse Incapsula. -`HTTP_CF_CONNECTING_IP` | Proxy reverse Cloudflare. -`CF-Connecting-IP` | Proxy reverse Cloudflare (một sự thay thế; nếu ở trên không hoạt động). -`HTTP_X_FORWARDED_FOR` | Proxy reverse Cloudbric. -`X-Forwarded-For` | [Proxy reverse Squid](http://www.squid-cache.org/Doc/config/forwarded_for/). -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*Xác định bởi cấu hình máy chủ.* | [Proxy reverse Nginx](https://www.nginx.com/resources/admin-guide/reverse-proxy/). -`REMOTE_ADDR` | Không có proxy reverse (giá trị mặc định). - -##### "enable_plugins" -- Cho phép hỗ trợ cho plugins của phpMussel? False = Không; True = Vâng [Mặc định]. - -##### "forbid_on_block" -- phpMussel nên gửi 403 Forbidden chúng với các thông điệp tải lên tập tin bị chặn, hoặc chỉ sử dụng 200 OK? False = Không (200); True = Vâng (403) [Mặc định]. - -##### "unsupported_media_type_header" -- phpMussel có nên gửi tiêu đề 415 khi tải lên bị chặn do các loại tập tin nằm trong danh sách đen không? Khi true, cài đặt này thay thế `forbid_on_block`. False = Không [Mặc định]; True = Vâng. - -##### "delete_on_sight" -- Bật tùy chọn này sẽ hướng dẫn các kịch bản để cố gắng xóa ngay lập tức bất kỳ đã quét tải lên tập tin mà phù hợp bất kỳ tiêu chí phát hiện, dù qua chữ ký hay thứ khác. Tập tin xác định là "sạch" sẽ không được bị chạm vào. Trong trường hợp kho lưu trữ, các toàn bộ kho lưu trữ sẽ bị xóa, bất kể nếu các tập tin vi phạm chỉ là một trong nhiều tập tin chứa trong các kho lưu trữ. Trong trường hợp quét tập tin tải lên, thông thường, nó không phải là cần thiết để kích hoạt tùy chọn này, bởi vì thông thường, PHP sẽ tự động tẩy các nội dung của bộ nhớ cache của nó khi thực hiện xong, điều đó có nghĩa là nó thường sẽ xóa bất kỳ tập tin tải lên thông qua nó đến máy chủ trừ khi họ đã được chuyển, sao chép hay xóa rồi. Tùy chọn này được thêm vào ở đây như một biện pháp bảo mật thêm cho những người có bản sao của PHP mà có thể không luôn luôn cư xử theo cách mong đợi. False = Sau khi quét, làm không có gì để các tập tin [Mặc định]; True = Sau khi quét, nếu không sạch, xóa ngay lập tức. - -##### "lang" -- Xác định tiếng mặc định cho phpMussel. - -##### "lang_override" -- Bản địa hóa theo HTTP_ACCEPT_LANGUAGE bất cứ khi nào có thể? True = Vâng [Mặc định]; False = Không. - -##### "numbers" -- Chỉ định cách hiển thị số. - -Giá trị hiện được hỗ trợ: - -Giá trị | Nó tạo ra | Chi tiết ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | Giá trị mặc định. -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*Chú thích: Các giá trị này không được chuẩn hóa ở bất kỳ đâu, và có thể sẽ không liên quan ngoài gói. Ngoài ra, các giá trị được hỗ trợ có thể thay đổi trong tương lai.* - -##### "quarantine_key" -- phpMussel có thể kiểm dịch tải lên tập tin mà đã được đánh dấu trong sự cô lập trong vòng các vault của phpMussel, nếu đây là cái gì bạn muốn nó làm. Các người dùng bình thường của phpMussel mà chỉ đơn giản là muốn bảo vệ các môi trường kho lưu trữ hay trang mạng của họ, mà không có bất cứ quan tâm trong việc phân tích sâu sắc của bất kỳ tải lên tập tin mà đã được đánh dấu, nên để chức năng này bị vô hiệu hóa còn lại, nhưng bất kỳ người dùng quan tâm trong phân tích sâu hơn của tải lên tập tin mà đã được đánh dấu cho nghiên cứu phần mềm độc hại hay cho những thứ tương tự như vậy nên kích hoạt chức năng này. Các kiểm dịch của tải lên tập tin mà đã được đánh dấu đôi khi cũng có thể hỗ trợ trong việc gỡ lỗi sai tích cực, nếu đây là cái gì đó thường xuyên xảy ra đối với bạn. Để vô hiệu hóa chức năng kiểm dịch, chỉ đơn giản để lại tùy chọn `quarantine_key` trống rỗng, hay xóa nội dung của nó nếu nó không phải là đã trống rỗng. Để kích hoạt chức năng kiểm dịch, nhập một số giá trị vào các tùy chọn. `quarantine_key` là một tính năng bảo mật quan trọng của chức năng kiểm dịch yêu cầu như là một phương tiện cho ngăn chặn chức năng kiểm dịch được khai thác bởi kẻ tấn công tiềm năng và như một phương tiện ngăn chặn bất kỳ thực hiện tiềm năng của kho lưu trữ trong kiểm dịch. `quarantine_key` nên được đối xử theo cách tương tự như mật khẩu của bạn: Càng dài thì càng tốt, và cất giữ nó thật chặt. Đối với hiệu quả tốt nhất, sử dụng kết hợp với `delete_on_sight`. - -##### "quarantine_max_filesize" -- Cho phép tối đa kích thước của tập tin để được kiểm dịch. Tập tin mà lớn hơn giá trị quy định sẽ KHÔNG được kiểm dịch. Tùy chọn này là rất quan trọng như là một phương tiện làm cho nó khó khăn hơn cho bất kỳ kẻ tấn công tiềm năng lũ kiểm dịch của bạn với các dữ liệu không mong muốn, có khả năng gây ra việc sử dụng quá mức dữ liệu trên dịch vụ kho lưu trữ của bạn. Mặc định = 2MB. - -##### "quarantine_max_usage" -- Cho phép tối đa sử dụng bộ nhớ cho kiểm dịch. Nếu tổng số sử dụng bộ nhớ bởi các kiểm dịch đạt giá trị này, các tập tin trong kiểm dịch cho dài nhất sẽ bị xóa cho đến khi các tổng bộ nhớ sử dụng không còn đạt giá trị này. Tùy chọn này là rất quan trọng như là một phương tiện làm cho nó khó khăn hơn cho bất kỳ kẻ tấn công tiềm năng lũ kiểm dịch của bạn với các dữ liệu không mong muốn, có khả năng gây ra việc sử dụng quá mức dữ liệu trên dịch vụ kho lưu trữ của bạn. Mặc định = 64MB. - -##### "quarantine_max_files" -- Số lượng tập tin tối đa có thể tồn tại trong kiểm dịch. Khi tập tin mới được thêm vào trong kiểm dịch, nếu số này vượt quá, các tập tin cũ sẽ bị xóa cho đến khi phần còn lại không còn vượt quá con số này. Mặc định = 100. - -##### "honeypot_mode" -- Khi chế độ honeypot được kích hoạt, phpMussel sẽ cố gắng kiểm dịch mỗi tập tin tải lên mà nó gặp, bất kể liệu tập tin được tải lên kích hoạt với bất kỳ chữ ký bao gồm, và không có quét hoặc phân tích của những tập tin tải lên thực sự sẽ xảy ra. Chức năng này sẽ hữu ích cho những ai muốn sử dụng phpMussel cho các mục đích của nghiên cứu cho vi rút hay phần mềm độc hại, nhưng nó không được khuyến khích để kích hoạt chức năng này nếu các mục đích sử dụng của phpMussel bởi người dùng là cho tải lên tập tin quét thực sự, cũng không được khuyến khích để sử dụng chức năng honeypot cho các mục đích khác hơn các honeypot. Theo mặc định, tùy chọn này bị vô hiệu hóa. False = Không cho phép [Mặc định]; True = Cho phép. - -##### "scan_cache_expiry" -- Trong bao lâu phpMussel nên nhớ đệm kết quả quét? Giá trị là số giây để nhớ đệm các kết quả quét cho. Mặc định là 21600 giây (6 giờ); Giá trị 0 sẽ vô hiệu hóa bộ nhớ đệm kết quả quét. - -##### "disable_cli" -- Vô hiệu hóa chế độ CLI? Chế độ CLI được kích hoạt theo mặc định, nhưng đôi khi có thể gây trở ngại cho công cụ kiểm tra nhất định (như PHPUnit, cho ví dụ) và khác ứng dụng mà CLI dựa trên. Nếu bạn không cần phải vô hiệu hóa chế độ CLI, bạn nên bỏ qua tùy chọn này. False = Kích hoạt chế độ CLI [Mặc định]; True = Vô hiệu hóa chế độ CLI. - -##### "disable_frontend" -- Vô hiệu hóa truy cập front-end? Truy cập front-end có thể làm cho phpMussel dễ quản lý hơn, nhưng cũng có thể là một nguy cơ bảo mật tiềm năng. Đó là khuyến cáo để quản lý phpMussel từ các back-end bất cứ khi nào có thể, nhưng truy cập front-end là cung cấp khi nó không phải là có thể. Giữ nó vô hiệu hóa trừ khi bạn cần nó. False = Kích hoạt truy cập front-end; True = Vô hiệu hóa truy cập front-end [Mặc định]. - -##### "max_login_attempts" -- Số lượng tối đa cố gắng đăng nhập front-end. Mặc định = 5. - -##### "frontend_log" -- *v1: "FrontEndLog"* -- Tập tin cho ghi cố gắng đăng nhập front-end. Chỉ định một tên tập tin, hoặc để trống để vô hiệu hóa. - -##### "disable_webfonts" -- Vô hiệu hóa các webfont? True = Vâng [Mặc định]; False = Không. - -##### "maintenance_mode" -- Bật chế độ bảo trì? True = Vâng; False = Không [Mặc định]. Vô hiệu hoá mọi thứ khác ngoài các front-end. Đôi khi hữu ích khi cập nhật CMS, framework của bạn, vv. - -##### "default_algo" -- Xác định thuật toán nào sẽ sử dụng cho tất cả các mật khẩu và phiên trong tương lai. Tùy chọn: PASSWORD_DEFAULT (mặc định), PASSWORD_BCRYPT, PASSWORD_ARGON2I (yêu cầu PHP >= 7.2.0), PASSWORD_ARGON2ID (yêu cầu PHP >= 7.3.0). - -##### "statistics" -- Giám sát thống kê sử dụng phpMussel? True = Vâng; False = Không [Mặc định]. - -##### "hide_version" -- Ẩn thông tin phiên bản từ nhật ký và đầu ra của trang? True = Vâng; False = Không [Mặc định]. - -##### "disabled_channels" -- Điều này có thể được sử dụng để ngăn phpMussel sử dụng các kênh cụ thể khi gửi yêu cầu (ví dụ, khi cập nhật, khi lấy siêu dữ liệu thành phần, vv). - -##### "default_timeout" -- Thời gian chờ mặc định để sử dụng cho các yêu cầu bên ngoài? Mặc định = 12 giây. - -#### "signatures" (Thể loại) -Cấu hình cho chữ ký. - -##### "active" -- *v1: "Active"* -- Một danh sách các kích hoạt tập tin chữ ký, giới hạn bởi dấu phẩy. - -*Chú thích:* -- *Tập tin chữ ký trước tiên phải được cài đặt, trước khi bạn có thể kích hoạt chúng.* -- *Để các tập tin thử nghiệm có thể làm việc đúng, các tập tin chữ ký phải được cài đặt và kích hoạt.* -- *Giá trị của chỉ thị cấu hình này được lưu trữ trong bộ nhớ cache. Sau khi thay đổi nó, để thay đổi có hiệu lực, bạn có thể cần phải xóa bộ nhớ cache.* - -##### "fail_silently" -- phpMussel nên báo cáo khi tập tin chữ ký bị mất hay bị hỏng? Nếu `fail_silently` được vô hiệu hóa, tập tin bị mất hay bị hỏng sẽ được báo cáo khi quét, và nếu `fail_silently` được kích hoạt, tập tin bị mất hay bị hỏng sẽ bị bỏ qua, với báo cáo quét cho những tập tin mà không có bất kỳ vấn đề. Điều này thường cần được ở một mình trừ khi bạn gặp sự cố hay vấn đề tương tự. False = Không cho phép; True = Cho phép [Mặc định]. - -##### "fail_extensions_silently" -- phpMussel nên báo cáo khi mở rộng bị mất? Nếu `fail_extensions_silently` được vô hiệu hóa, mở rộng bị mất sẽ được báo cáo khi quét, và nếu `fail_extensions_silently` được kích hoạt, mở rộng bị mất hay bị hỏng sẽ bị bỏ qua, với báo cáo quét cho những tập tin mà không có bất kỳ vấn đề. Vô hiệu hóa tùy chọn này có khả năng có thể làm tăng bảo mật của bạn, nhưng cũng có thể dẫn đến sự gia tăng giả tích cực. False = Không cho phép; True = Cho phép [Mặc định]. - -##### "detect_adware" -- phpMussel nên sử dụng chữ ký cho phát hiện adware? False = Không; True = Vâng [Mặc định]. - -##### "detect_joke_hoax" -- phpMussel nên sử dụng chữ ký cho phát hiện câu nói đùa và chơi khăm phần mềm độc hại và vi rút? False = Không; True = Vâng [Mặc định]. - -##### "detect_pua_pup" -- phpMussel nên sử dụng chữ ký cho phát hiện các PUA/PUP? False = Không; True = Vâng [Mặc định]. - -##### "detect_packer_packed" -- phpMussel nên sử dụng chữ ký cho phát hiện đóng gói tập tin và dữ liệu đã đóng gói? False = Không; True = Vâng [Mặc định]. - -##### "detect_shell" -- phpMussel nên sử dụng chữ ký cho phát hiện shell script? False = Không; True = Vâng [Mặc định]. - -##### "detect_deface" -- phpMussel nên sử dụng chữ ký cho phát hiện deface và công cụ làm xấu? False = Không; True = Vâng [Mặc định]. - -##### "detect_encryption" -- phpMussel nên phát hiện và chặn các tập tin mật mã? False = Không; True = Vâng [Mặc định]. - -#### "files" (Thể loại) -Cấu hình cho xử lý tập tin. - -##### "max_uploads" -- Số lượng tối đa của tập tin cho phép để quét trong khi quét tập tin tải lên trước khi hủy bỏ quá trình quét và thông báo cho người dùng rằng họ đang tải lên quá nhiều cùng một lúc! Trong lý thuyết, cung cấp bảo vệ chống lại một cuộc tấn công nhờ đó mà một kẻ tấn công cố gắng DDoS hệ thống hay CMS của bạn bằng cách quá tải phpMussel để làm chậm quá trình PHP đến khi nó dừng lại. Đề xuất: 10. Bạn có thể muốn tăng hoặc giảm số này tùy thuộc vào tốc độ của phần cứng của bạn. Chú ý rằng con số này không tính đến hoặc bao gồm các nội dung của kho lưu trữ. - -##### "filesize_limit" -- Giới hạn của kích thước tập tin trong KB. 65536 = 64MB [Mặc định]; 0 = Không giới hạn (luôn có trên danh sách xám), bất kỳ giá trị số dương chấp nhận. Điều này có thể hữu ích khi cấu hình PHP của bạn hạn chế số lượng bộ nhớ một quá trình có thể giữ hay nếu hình PHP của bạn giới hạn kích thước của tải lên tập tin. - -##### "filesize_response" -- Làm gì với tập tin mà vượt quá các giới hạn kích thước của tải lên (nếu tồn tại). False = Danh sách trắng; True = Danh sách đen [Mặc định]. - -##### "filetype_whitelist", "filetype_blacklist", "filetype_greylist" -- Nếu hệ thống của bạn chỉ cho phép các loại tập tin cụ thể được tải lên, hay nếu hệ thống của bạn từ chối một cách rõ ràng các loại tập tin cụ thể, xác định các loại tập tin trong danh sách trắng, danh sách đen và danh sách xám có thể tăng tốc độ quét được tiến hành bằng cách cho phép các kịch bản bỏ qua các loại tập tin nhất định. Định dạng là CSV (dấu phẩy ngăn cách giá trị). Nếu bạn muốn quét tất cả mọi thứ, thay vì sử dụng danh sách trắng, danh sách đen hay danh sách xám, để lại những biến trống; Làm như vậy sẽ vô hiệu hóa danh sách trắng/đen/xám. -- Thứ tự hợp lý của chế biến là: - - Nếu loại tập tin là trên danh sách trắng, không quét và không chặn các tập tin, và không kiểm tra các tập tin chống lại danh sách đen hay danh sách xám. - - Nếu loại tập tin là trên danh sách đen, không quét các tập tin nhưng chặn nó dù sao, và không kiểm tra các tập tin chống lại danh sách xám. - - Nếu danh sách xám là trống hay nếu danh sách xám không phải là trống và các loại tập tin là danh sách xám, quét các tập tin như bình thường và xác định xem có chặn nó dựa trên kết quả của quá trình quét, nhưng nếu danh sách xám không phải là trống và các loại tập tin không phải trên danh sách xám, điều trị các tập tin như thể nó là trên danh sách đen, vì thế không quét nó nhưng chặn nó dù sao. - -##### "check_archives" -- Cố gắng để kiểm tra nội dung của kho lưu trữ? False = Không kiểm tra; True = Kiểm tra [Mặc định]. - -Định dạng | Có thể đọc | Có thể đọc đệ quy | Có thể phát hiện mã hóa | Lưu ý ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | Cần [libzip](https://secure.php.net/manual/en/zip.requirements.php) (thường đi kèm với PHP). Cũng được hỗ trợ (sử dụng định dạng zip): ✔️ Phát hiện đối tượng OLE. ✔️ Phát hiện macro Office. -Tar | ✔️ | ✔️ | ➖ | Không cần bất cứ điều gì đặc biệt. Định dạng không hỗ trợ mã hóa. -Rar | ✔️ | ✔️ | ✔️ | Cần phần mở rộng [rar](https://pecl.php.net/package/rar) (khi phần mở rộng này không được cài đặt, phpMussel không thể đọc tập tin rar). -Phar | ❌ | ❌ | ❌ | Hỗ trợ đọc tập tin phar đã bị xóa trong v1.6.0, và sẽ không được thêm lại vì lý do bảo mật. - -*Nếu bất kỳ ai có thể và sẵn sàng trợ giúp thực hiện hỗ trợ đọc các định dạng lưu trữ khác, sự trợ giúp đó sẽ được hoan nghênh.* - -##### "filesize_archives" -- Thừa kế danh sách đen/trắng cho kích thước của tập tin trong kho lưu trữ? False = Không (chỉ danh sách xám mọi điều); True = Vâng [Mặc định]. - -##### "filetype_archives" -- Thừa kế danh sách đen/trắng cho loại tập tin của tập tin trong kho lưu trữ? False = Không (chỉ danh sách xám mọi điều) [Mặc định]; True = Vâng. - -##### "max_recursion" -- Tối đa đệ quy chiều sâu giới hạn cho kho lưu trữ. Mặc định = 3. - -##### "block_encrypted_archives" -- Phát hiện và chặn kho lưu trữ được mã hóa? Bởi vì phpMussel không thể quét các nội dung của kho lưu trữ được mã hóa, nó có thể mã hóa kho lưu trữ có thể được sử dụng bởi một kẻ tấn công như một phương tiện cố gắng để vượt qua phpMussel, máy quét chống vi rút và bảo vệ khác như. Hướng dẫn phpMussel để ngăn chặn bất kỳ kho lưu trữ mà nó phát hiện được mã hóa có thể giúp giảm nguy cơ nào liên kết với những khả năng này. False = Không; True = Vâng [Mặc định]. - -##### "max_files_in_archives" -- Số lượng tập tin tối đa để quét từ trong kho lưu trữ trước khi hủy quét. Mặc định = 0 (không tối đa). - -#### "attack_specific" (Thể loại) -Cấu hình chống lại tấn công cụ thể. - -Phát hiện của tấn công tắc kè hoa: False = Tắt; True = Trên. - -##### "chameleon_from_php" -- Tìm kiếm cho định danh PHP trong các tập tin mà không phải là PHP cũng không phải là kho lưu trữ được công nhận. - -##### "can_contain_php_file_extensions" -- Danh sách các phần mở rộng tập tin được phép chứa mã PHP, được phân tách bằng dấu phẩy. Nếu phát hiện tấn công tắc kè hoa PHP được kích hoạt, các tập tin có chứa mã PHP, mà có các phần mở rộng không có trong danh sách này, sẽ được phát hiện là các tấn công tắc kè hoa PHP. - -##### "chameleon_from_exe" -- Tìm kiếm cho định danh tập tin thực thi trong các tập tin mà không phải là tập tin thực thi cũng không phải là kho lưu trữ được công nhận, và cho tập tin thực thi tập tin mà có định danh sai. - -##### "chameleon_to_archive" -- Phát hiện tiêu đề không chính xác trong lưu trữ và tập tin nén. Được hỗ trợ: BZ/BZIP2, GZ/GZIP, LZF, RAR, ZIP. - -##### "chameleon_to_doc" -- Tìm kiếm cho tài liệu văn phòng mà có định danh sai (Được hỗ trợ: DOC, DOT, PPS, PPT, XLA, XLS, WIZ). - -##### "chameleon_to_img" -- Tìm kiếm cho hình ảnh mà có định danh sai (Được hỗ trợ: BMP, DIB, PNG, GIF, JPEG, JPG, XCF, PSD, PDD, WEBP). - -##### "chameleon_to_pdf" -- Tìm kiếm cho tập tin PDF mà có định danh sai. - -##### "archive_file_extensions" -- Được công nhận mở rộng cho tập tin kho lưu trữ (định dạng là CSV; chỉ nên thêm hay loại bỏ khi có vấn đề xảy ra; loại bỏ không cần thiết có thể gây ra sai tích cực để xuất hiện cho tập tin kho lưu trữ, trong khi thêm không cần thiết sẽ trong bản chất danh sách trắng những gì bạn đang thêm từ phát hiện cụ tấn công; sửa đổi với cách thận trọng; cũng lưu ý rằng điều này không có tác dụng liên quan đến những gì kho lưu trữ có thể và không thể được phân tích ở nội dung cấp). Danh sách này, như là mặc định, liệt kê các định dạng sử dụng phổ biến nhất trên phần lớn các hệ thống và CMS, nhưng là cố tình không nhất thiết phải toàn diện. - -##### "block_control_characters" -- Chặn bất kỳ tập tin có chứa bất kỳ ký tự điều khiển (khác hơn so với dòng mới)? (`[\x00-\x08\x0b\x0c\x0e\x1f\x7f]`) Nếu bạn _**CHỈ**_ tải lên văn bản thô, thế thì bạn có thể kích hoạt tùy chọn này để cung cấp một số bảo vệ bổ sung để hệ thống của bạn. Tuy nhiên, nếu bạn tải lên bất cứ điều gì khác hơn văn bản thô, cho phép điều này có thể dẫn đến sai tích cực. False = Không chặn [Mặc định]; True = Chặn. - -##### "corrupted_exe" -- Tập tin bị hỏng và phân tích lỗi. False = Bỏ qua; True = Chặn [Mặc định]. Phát hiện và chặn khả thi tập tin PE (portable executable / thực thi di động) bị hỏng? Thường (nhưng không phải lúc nào), khi khía cạnh cụ thể của một tập tin PE đang bị hỏng hay không thể được phân tích chính xác, nó có thể chỉ ra một nhiễm vi rút. Các quy trình được sử dụng bởi hầu hết các chương trình chống vi rút để phát hiện vi rút trong các tập tin PE đòi hỏi phải phân tích những tập tin theo một cách mà, nếu các lập trình viên của một vi rút là nhận thức của, cụ thể sẽ cố gắng để ngăn chặn, để cho phép vi rút của mình để không bị phát hiện. - -##### "decode_threshold" -- Ngưỡng cho chiều dài của dữ liệu thô trong đó các lệnh giải mã nên được phát hiện (trong trường hợp có bất kỳ vấn đề hiệu suất đáng chú ý trong khi quét). Mặc định = 512KB. Số không hay số null vô hiệu hóa các ngưỡng (loại bỏ bất kỳ giới hạn dựa trên kích cỡ tập tin). - -##### "scannable_threshold" -- Ngưỡng cho chiều dài của dữ liệu mà phpMussel được phép đọc và quét (trong trường hợp có bất kỳ vấn đề hiệu suất đáng chú ý trong khi quét). Mặc định = 32MB. Số không hay số null vô hiệu hóa các ngưỡng. Nói chung, giá trị này không nên được ít hơn kích thước trung bình của tải lên tập tin bạn muốn và mong đợi để nhận được đến máy chủ hay trang mạng của bạn, không nên được ít hơn tùy chọn filesize_limit, và không nên được ít hơn khoảng một phần năm tổng số cấp phát bộ nhớ cấp cho PHP thông qua tập tin cấu hình `php.ini`. Tùy chọn này tồn tại để cố gắng ngăn chặn phpMussel từ việc sử dụng quá nhiều bộ nhớ (mà sẽ ngăn chặn nó từ việc có thể quét các tập tin thành công trên một kích thước tập tin nhất định). - -##### "allow_leading_trailing_dots" -- Cho phép các dấu chấm đầu và cuối trong tên tập tin? Điều này đôi khi có thể được sử dụng để ẩn các tập tin hoặc để lừa một số hệ thống cho phép truyền traversal thư mục. False = Không cho phép [Mặc định]. True = Cho phép. - -##### "block_macros" -- Thử chặn bất kỳ tập tin nào chứa macro? Một số loại tài liệu và bảng tính có thể chứa macro thực thi, do đó cung cấp một vectơ phần mềm độc hại tiềm ẩn nguy hiểm. False = Không chặn [Mặc định]; True = Chặn. - -#### "compatibility" (Thể loại) -Cấu hình khả năng tương thích cho phpMussel. - -##### "ignore_upload_errors" -- Nói chung, tùy chọn này nên bị vô hiệu hóa, trừ khi nó cần thiết cho chức năng đúng của phpMussel trên hệ thống cụ thể của bạn. Thông thường, khi bị vô hiệu, khi phpMussel phát hiện sự hiện diện của elements (yếu tố) trong array `$_FILES`, nó sẽ cố gắng để bắt đầu quét của các tập tin mà những yếu tố đại diện, và, nếu những yếu tố này là trống, phpMussel sẽ trả về thông báo lỗi. Đây là hành vi thích hợp cho phpMussel. Tuy nhiên, đối với một số CMS, phần tử rỗng trong `$_FILES` có thể xảy ra như là kết quả của các hành vi tự nhiên của những CMS, hay lỗi có thể được báo cáo khi không có bất kỳ, và trong trường hợp này, các hành vi tự nhiên cho phpMussel sẽ gây trở ngại với các hành vi bình thường của những CMS. Nếu một tình huống như vậy xảy ra cho bạn, bật tùy chọn này sẽ hướng dẫn phpMussel không cố gắng để bắt đầu quét cho phần tử rỗng, bỏ qua chúng khi tìm thấy và không trả lại bất kỳ thông báo lỗi liên quan, do đó cho phép tiếp tục của yêu cầu trang. False = TẮT; True = TRÊN. - -##### "only_allow_images" -- Khi được đặt thành true, bất kỳ tập tin không phải là hình ảnh nào mà máy quét gặp phải sẽ được gắn cờ ngay lập tức mà không được quét. Điều này có thể giúp giảm thời gian cần thiết để hoàn thành quét trong một số trường hợp. Đặt thành false theo mặc định. - -#### "heuristic" (Thể loại) -Cấu hình cho "heuristic" (tìm kiếm / khám phá / tự học). - -##### "threshold" -- Có một số chữ ký của phpMussel mà được dự định để xác định đáng ngờ và phẩm chất của các tập tin khả năng độc hại từ đang được tải lên mà không có trong tự xác định các tập tin đang được tải lên cụ thể như là độc hại. Giá trị "threshold" này nói với phpMussel tổng trọng lượng tối đa của đáng ngờ và phẩm chất của các tập tin khả năng độc hại đang được tải lên đó là phép trước những tập tin đang được gắn cờ là độc hại. Định nghĩa về trọng lượng trong bối cảnh này là tổng số đáng ngờ và phẩm chất tiềm ẩn độc hại được xác định. Theo mặc định, giá trị này sẽ được thiết lập để 3. Một giá trị thấp hơn nói chung sẽ cho kết quả trong một sự xuất hiện cao hơn của sai tích cực nhưng một số cao hơn các tập tin độc hại được gắn cờ, trong khi một giá trị cao hơn nói chung sẽ cho kết quả trong một sự xuất hiện thấp hơn của sai tích cực nhưng một số thấp hơn các tập tin độc hại được gắn cờ. Nói chung, nó là tốt nhất để có giá trị này tại mặc định của nó trừ khi bạn đang gặp phải các vấn đề liên quan đến nó. - -#### "virustotal" (Thể loại) -Cấu hình cho VirusTotal.com. - -##### "vt_public_api_key" -- Nếu bạn muốn, phpMussel có thể quét tập tin sử dụng các Virus Total API như một cách để cung cấp bảo vệ tăng cường rất nhiều chống lại vi rút, trojan, phần mềm độc hại và các mối đe dọa khác. Theo mặc định, quét của tập tin sử dụng các Virus Total API bị vô hiệu hóa. Để kích hoạt nó, một khóa API từ Virus Total là cần thiết. Do những lợi ích đáng kể rằng điều này có thể cung cấp cho bạn, nó là một cái gì đó mà tôi rất khuyên bạn nên cho phép. Xin hãy lưu ý, tuy nhiên, rằng để sử dụng các Virus Total API, bạn _**PHẢI**_ đồng ý với điều khoản dịch vụ của họ và bạn _**PHẢI**_ tuân theo tất cả các hướng dẫn như mô tả của các tài liệu của Virus Total! Bạn KHÔNG được phép để sử dụng tính năng hội nhập này TRỪ KHI: - - Bạn đã đọc và đồng ý với các Điều khoản và Điều kiện của Virus Total và API của nó. Các Điều khoản và Điều kiện của Virus Total và API của nó có thể được tìm thấy [Ở ĐÂY](https://www.virustotal.com/en/about/terms-of-service/). - - Bạn đã đọc và bạn hiểu, ở mức nhỏ nhất, lời mở đầu của các tài liệu API công cộng của Virus Total (mọi điều sau "VirusTotal Public API v2.0" nhưng trước "Contents"). Các tài liệu API công cộng của Virus Total có thể được tìm thấy [Ở ĐÂY](https://www.virustotal.com/en/documentation/public-api/). - -Lưu ý: Nếu quét tập tin sử dụng các Virus Total API bị vô hiệu hóa, bạn sẽ không cần phải xem xét bất kỳ tùy chọn trong thể loại này (`virustotal`), bởi vì không ai trong số họ sẽ làm bất cứ điều gì nếu bị vô hiệu hóa này. Để có được một khóa API của Virus Total, từ bất cứ nơi nào trên trang mạng của họ, nhấp vào liên kết "Tham gia cộng đồng" nằm phía trên cùng bên phải của trang, nhập vào các thông tin yêu cầu, và nhấp vào "Đăng ký" khi thực hiện. Thực hiện theo các hướng dẫn được cung cấp, và khi bạn đã có khóa API công cộng của bạn, sao chép và dán khóa API công cộng của bạn vào tùy chọn `vt_public_api_key` của các tập tin cấu hình `config.ini`. - -##### "vt_suspicion_level" -- Theo mặc định, phpMussel sẽ hạn chế các tập tin nó quét bằng cách sử dụng Virus Total API đến các tập tin mà nó coi như là "đáng ngờ". Bạn có thể tùy chọn điều chỉnh hạn chế này bằng cách thay đổi các giá trị của tùy chọn `vt_suspicion_level`. -- `0`: Các tập tin được chỉ được coi là đáng ngờ nếu, khi được quét bởi phpMussel sử dụng chữ ký riêng của mình, họ được coi là mang một trọng lượng dựa trên kinh nghiệm ("heuristic weight"). Điều này có hiệu quả có nghĩa sử dụng các Virus Total API sẽ là cho một ý kiến thứ cho khi phpMussel nghi ngờ rằng một tập tin khả năng có thể độc hại, nhưng không thể hoàn toàn loại trừ mà nó cũng có thể có khả năng là lành tính (không độc hại) và vì thế sẽ nói chung sẽ không chặn nó hay đánh dấu nó như được độc hại. -- `1`: Các tập tin được coi là đáng ngờ nếu, khi được quét bởi phpMussel sử dụng chữ ký riêng của mình, họ được coi là mang một trọng lượng dựa trên kinh nghiệm ("heuristic weight"), nếu họ đang được biết đến là thực thi (tập tin PE, Mach-O, ELF/Linux, vv), hay nếu họ đang được biết đến là một định dạng rằng có khả năng chứa dữ liệu thực thi (chẳng hạn như macro thực thi, tập tin DOC/DOCX, tập tin kho lưu trữ như thế RAR, ZIP và vv). Đây là mặc định và được đề nghị mức độ nghi ngờ để áp dụng, hiệu quả có nghĩa sử dụng các Virus Total API sẽ là cho một ý kiến thứ cho khi phpMussel ban đầu không tìm thấy bất cứ điều gì độc hại hay nguy hiểm với một tập tin mà nó cho là đáng ngờ và vì thế sẽ nói chung sẽ không chặn nó hay đánh dấu nó như được độc hại. -- `2`: Tất cả các tập tin được coi đáng ngờ và nên được quét bằng cách sử dụng các Virus Total API. Tôi không thường khuyên bạn nên áp dụng mức độ nghi ngờ này, bởi vì các nguy cơ của đạt hạn ngạch API của bạn nhanh hơn nhiều so với nếu không sẽ là trường tình huống, nhưng có những trường tình huống nhất định (chẳng hạn như khi các quản trị, quản trị web hay hostmaster có rất ít niềm tin hay lòng tin bất cứ điều gì trong bất kỳ nội dung tải lên của người dùng của họ) theo đó mức độ nghi ngờ này sẽ được thích hợp. Với mức độ nghi ngờ này, tất cả các tập tin mà không thường bị khoá hay bị đánh dấu như được độc hại sẽ được quét bằng cách sử dụng các Virus Total API. Chú thích, tuy nhiên, mà phpMussel sẽ ngừng sử dụng các Virus Total API khi hạn ngạch API của bạn đã đạt được (bất kể mức độ nghi ngờ), và mà hạn ngạch của bạn có khả năng sẽ đạt được nhanh hơn khi sử dụng mức độ nghi ngờ này. - -Lưu ý: Bất kể mức độ nghi ngờ, bất kỳ tập tin được vào danh sách đen hoặc vào danh sách trắng bởi phpMussel sẽ không được quét bằng cách sử dụng các Virus Total API, bởi vì những tập tin như vậy đã có thể đã được công bố như độc hại hay vô hại bởi phpMussel bởi thời gian mà họ sẽ có cách khác được quét bởi các Virus Total API, và vì thế, quét bổ sung sẽ không được yêu cầu. Khả năng của phpMussel để quét các tập tin sử dụng các Virus Total API là nhằm xây dựng tự tin hơn nữa cho nếu một tập tin là độc hại hoặc vô hại trong những hoàn cảnh trong đó phpMussel chinh no là không hoàn toàn chắc chắn về việc liệu một tập tin là độc hại hoặc vô hại. - -##### "vt_weighting" -- phpMussel nên áp dụng các kết quả quét từ sử dụng Virus Total API như các phát hiện hoặc như các cân nặng phát hiện? Tùy chọn này tồn tại, bởi vì, mặc dù quét một tập tin sử dụng nhiều công cụ (như Virus Total làm) nên dẫn đến một tỷ lệ phát hiện tăng (và do đó ở một số cao hơn các tập tin độc hại bị bắt), nó cũng có thể dẫn đến một số cao hơn của sai tích cực, và vì thế, trong một số trường hợp, các kết quả quét có thể là tốt hơn sử dụng như một điểm tự tin chứ không phải là một kết luận dứt khoát. Nếu giá trị 0 được sử dụng, các kết quả quét từ sử dụng Virus Total API sẽ được áp dụng như phát hiện, và vì thế, nếu bất kỳ công cụ được sử dụng bởi Virus Total đánh dấu các tập tin được quét như độc hại, phpMussel sẽ cân nhắc các tập tin đến được độc hại. Nếu bất kỳ giá trị nào khác được sử dụng, các kết quả quét từ sử dụng Virus Total API sẽ được áp dụng như cân nặng phát hiện, và vì thế, các số lượng động cơ được sử dụng bởi Virus Total mà đánh dấu các tập tin được quét như được độc hại sẽ phục vụ như là một điểm tin (hay cân nặng phát hiện) cho nếu các tập tin được quét nên được xem như độc hại bởi phpMussel (giá trị sử dụng sẽ đại diện cho số điểm tin cậy hay cân nặng tối thiểu mà là cần thiết để có thể được coi độc hại). Giá trị 0 được sử dụng bởi mặc định. - -##### "vt_quota_rate" và "vt_quota_time" -- Theo tài liệu VirusTotal API, nó được giới hạn tối đa là 4 yêu cầu của bất kỳ chất trong bất kỳ khung thời gian 1 phút nào. Nếu bạn chạy một honeyclient, honeypot hay bất kỳ tự động hóa khác sẽ là cung cấp các nguồn lực để VirusTotal và không chỉ sẽ là lấy báo cáo bạn có quyền được một hạn ngạch có yêu cầu cao hơn. Theo mặc định, phpMussel nghiêm sẽ tuân thủ những hạn chế, nhưng do khả năng của các hạn ngạch yêu cầu đang được tăng lên, hai tùy chọn này được cung cấp như một phương tiện để bạn có thể hướng dẫn phpMussel như những gì giới hạn nó phải tuân thủ. Trừ khi bạn đã được hướng dẫn làm như vậy, nó không được khuyến khích cho bạn để tăng các giá trị, nhưng, nếu bạn đã gặp phải vấn đề liên quan đến hạn ngạch của bạn, giảm các giá trị _**CÓ THỂ**_ đôi khi giúp bạn trong việc đối phó với những vấn đề này. Hạn ngạch yêu cầu của bạn được xác định như `vt_quota_rate` yêu cầu của bất kỳ chất trong bất kỳ khung thời gian `vt_quota_time` phút nào. - -#### "urlscanner" (Thể loại) -Một máy quét URL được bao gồm với phpMussel, khả năng phát hiện các URL độc hại từ bên trong bất kỳ dữ liệu hay tập tin được quét. - -Lưu ý: Nếu máy quét URL bị vô hiệu hóa, bạn sẽ không cần phải xem xét bất kỳ tùy chọn trong phần này (`urlscanner`), bởi vì không một ai trong số họ sẽ làm bất cứ điều gì nếu bị vô hiệu hóa này. - -Cấu hình cho tra cứu API của máy quét URL. - -##### "google_api_key" -- Cho phép tra cứu API đến API của Google Safe Browsing khi khóa API cần thiết được xác định. Tra cứu đến API của Google Safe Browsing yêu cầu một khoá API, mà có thể thu được từ [Ở ĐÂY](https://console.developers.google.com/). -- Lưu ý: Phần mở rộng "cURL" là cần thiết để sử dụng tính năng này. - -##### "maximum_api_lookups" -- Số lượng tối đa cho phép của tra cứu API để thực hiện mỗi quét lặp cá nhân. Bởi vì mỗi tra cứu API thêm sẽ thêm vào tổng thời gian cần thiết để hoàn thành mỗi quét lặp, bạn có thể muốn để quy định một giới hạn để đẩy nhanh các quá trình quét tổng thể. Khi thiết lập để 0, không số lượng tối đa cho phép sẽ được áp dụng. Đặt 10 theo mặc định. - -##### "maximum_api_lookups_response" -- Phải làm gì nếu số lượng tối đa cho phép của tra cứu API được vượt quá? False = Không làm gì cả (tiếp tục chế biến) [Mặc định]; True = Dấu/Chặn các tập tin. - -##### "cache_time" -- Kết quả tra cứu API nên được lưu trữ trong (trong giây) bao lâu? Mặc định là 3600 giây (1 giờ). - -#### "legal" (Thể loại) -Cấu hình mà liên quan đến các nghĩa vụ hợp pháp. - -*Để biết thêm thông tin về các nghĩa vụ hợp pháp và cách nó có thể ảnh hưởng đến các nghĩa vụ cấu hình của bạn, vui lòng tham khảo phần "[THÔNG TIN HỢP PHÁP](#SECTION11)" của các tài liệu.* - -##### "pseudonymise_ip_addresses" -- Pseudonymise địa chỉ IP khi viết các tập tin nhật ký? True = Vâng [Mặc định]; False = Không. - -##### "privacy_policy" -- Địa chỉ của chính sách bảo mật liên quan được hiển thị ở chân trang của bất kỳ trang nào được tạo. Chỉ định URL, hoặc để trống để vô hiệu hóa. - -#### "template_data" (Thể loại) -Cấu hình cho mẫu thiết kế và chủ đề. - -Dữ liệu mẫu thiết kế liên quan đến đầu ra HTML sử dụng để tạo ra các thông báo "Sự tải lên đã bị từ chối" hiển thị cho người dùng khi một tải lên tập tin bị chặn. Nếu bạn đang sử dụng chủ đề tùy chỉnh cho phpMussel, đầu ra HTML có nguồn gốc từ tập tin `template_custom.html`, và nếu không thì, đầu ra HTML có nguồn gốc từ tập tin `template.html`. Biến bằng văn bản cho phần này của tập tin cấu hình được xử lý để đầu ra HTML bằng cách thay thế bất kỳ tên biến được bao quanh bởi các dấu ngoặc nhọn tìm thấy trong đầu ra HTML với các dữ liệu biến tương ứng. Ví dụ, ở đâu `foo="bar"`, bất kỳ trường hợp `

{foo}

` tìm thấy trong đầu ra HTML sẽ trở thành `

bar

`. - -##### "theme" -- Chủ đề mặc định để sử dụng cho phpMussel. - -##### "magnification" -- *v1: "Magnification"* -- Phóng to chữ. Mặc định = 1. - -##### "css_url" -- Tập tin mẫu thiết kế cho chủ đề tùy chỉnh sử dụng thuộc tính CSS bên ngoài, trong khi các tập tin mẫu thiết kế cho các chủ đề mặc định sử dụng thuộc tính CSS nội bộ. Để hướng dẫn phpMussel để sử dụng các tập tin mẫu thiết kế cho chủ đề tùy chỉnh, xác định các địa chỉ HTTP cho các tập tin CSS chủ đề tùy chỉnh của bạn sử dụng các biến số `css_url`. Nếu bạn để cho biến số này chỗ trống, phpMussel sẽ sử dụng các tập tin mẫu thiết kế cho các chủ đề mặc định. - -#### "PHPMailer" (Thể loại) -Cấu hình PHPMailer. - -Hiện tại, phpMussel chỉ sử dụng PHPMailer để xác thực hai yếu tố front-end. Nếu bạn không sử dụng các front-end, hoặc nếu bạn không sử dụng xác thực hai yếu tố cho các front-end, bạn có thể bỏ qua các chỉ thị này. - -##### "event_log" -- *v1: "EventLog"* -- Một tập tin để ghi nhật ký tất cả các sự kiện liên quan đến PHPMailer. Chỉ định một tên tập tin, hoặc để trống để vô hiệu hóa. - -##### "skip_auth_process" -- *v1: "SkipAuthProcess"* -- Đặt chỉ thị này thành `true` chỉ thị cho PHPMailer bỏ qua quy trình xác thực thông thường thường xảy ra khi gửi email qua SMTP. Điều này nên tránh, bởi vì bỏ qua quá trình này có thể tiết lộ email gửi đến các cuộc tấn công MITM, nhưng có thể cần thiết trong trường hợp quá trình này ngăn PHPMailer kết nối với máy chủ SMTP. - -##### "enable_two_factor" -- *v1: "Enable2FA"* -- Chỉ thị này xác định có nên sử dụng 2FA cho tài khoản front-end hay không. - -##### "host" -- *v1: "Host"* -- Máy chủ SMTP để sử dụng cho email gửi đi. - -##### "port" -- *v1: "Port"* -- Số cổng để sử dụng cho email gửi đi. Mặc định = 587. - -##### "smtp_secure" -- *v1: "SMTPSecure"* -- Giao thức sử dụng khi gửi email qua SMTP (TLS hoặc SSL). - -##### "smtp_auth" -- *v1: "SMTPAuth"* -- Chỉ thị này xác định xem có nên xác thực các phiên SMTP (thường nên để lại một mình). - -##### "username" -- *v1: "Username"* -- Tên người dùng để sử dụng khi gửi email qua SMTP. - -##### "password" -- *v1: "Password"* -- Mật khẩu để sử dụng khi gửi email qua SMTP. - -##### "set_from_address" -- *v1: "setFromAddress"* -- Địa chỉ người gửi để trích dẫn khi gửi email qua SMTP. - -##### "set_from_name" -- *v1: "setFromName"* -- Tên người gửi để trích dẫn khi gửi email qua SMTP. - -##### "add_reply_to_address" -- *v1: "addReplyToAddress"* -- Địa chỉ trả lời để trích dẫn khi gửi email qua SMTP. - -##### "add_reply_to_name" -- *v1: "addReplyToName"* -- Tên trả lời để trích dẫn khi gửi email qua SMTP. - -#### "supplementary_cache_options" (Thể loại) -Tùy chọn bộ nhớ cache bổ sung. - -##### "prefix" -- Giá trị được chỉ định ở đây sẽ được thêm vào trước tất cả các khóa mục nhập bộ nhớ cache. Trống theo mặc định. Khi nhiều bản cài đặt tồn tại trên cùng một máy chủ, điều này có thể hữu ích để giữ các bộ nhớ cache của chúng tách biệt với nhau. - -##### "enable_apcu" -- Điều này xác định có nên thử sử dụng APCu để lưu trữ không. Mặc định = False. - -##### "enable_memcached" -- Điều này xác định có nên thử sử dụng Memcached để lưu trữ không. Mặc định = False. - -##### "enable_redis" -- Điều này xác định có nên thử sử dụng Redis để lưu trữ không. Mặc định = False. - -##### "enable_pdo" -- Điều này xác định có nên thử sử dụng PDO để lưu trữ không. Mặc định = False. - -##### "memcached_host" -- Giá trị máy chủ Memcached. Mặc định = "localhost". - -##### "memcached_port" -- Giá trị cổng Memcached. Mặc định = "11211". - -##### "redis_host" -- Giá trị máy chủ Redis. Mặc định = "localhost". - -##### "redis_port" -- Giá trị cổng Redis. Mặc định = "6379". - -##### "redis_timeout" -- Giá trị thời gian chờ Redis. Mặc định = "2.5". - -##### "pdo_dsn" -- Giá trị DSN PDO. Mặc định = "`mysql:dbname=phpmussel;host=localhost;port=3306`". - -*Xem thêm: ["PDO DSN" là gì? Làm cách nào tôi có thể sử dụng PDO với phpMussel?](#HOW_TO_USE_PDO)* - -##### "pdo_username" -- Tên người dùng PDO. - -##### "pdo_password" -- Mật khẩu PDO. - ---- - - -### 8. ĐỊNH DẠNG CỦA CHỬ KÝ - -*Xem thêm:* -- *["Chữ ký" là gì?](#WHAT_IS_A_SIGNATURE)* - -9 byte đầu tiên `[x0-x8]` của một tập tin chữ ký cho phpMussel là `phpMussel`, và hoạt động như một "số ma thuật" (magic number), để xác định chúng như tập tin chữ ký (điều này giúp ngăn ngừa phpMussel vô tình cố gắng sử dụng các tập tin mà không phải là tập tin chữ ký). Byte tiếp theo `[x9]` xác định loại tập tin chữ ký, mà phpMussel phải biết để có thể giải thích chính xác các tập tin chữ ký. Các loại tập tin chữ ký sau đây được nhận dạng: - -Loại | Byte | Sự miêu tả ----|---|--- -`General_Command_Detections` | `0?` | Cho các tập tin chữ ký CSV (giá trị được phân cách bằng dấu phẩy). Giá trị (chữ ký) là các chuỗi được mã hoá bằng hệ thập lục phân để tìm kiếm trong các tập tin. Chữ ký ở đây không có bất kỳ tên hoặc các chi tiết khác (chỉ có các chuỗi để phát hiện). -`Filename` | `1?` | Cho các chữ ký tên tập tin. -`Hash` | `2?` | Cho các chữ ký băm. -`Standard` | `3?` | Cho các tập tin chữ ký mà làm việc trực tiếp với nội dung tập tin. -`Standard_RegEx` | `4?` | Cho các tập tin chữ ký mà làm việc trực tiếp với nội dung tập tin. Chữ ký có thể chứa các biểu thức chính quy. -`Normalised` | `5?` | Cho các tập tin chữ ký mà làm việc với nội dung tập tin bình thường hóa ANSI. -`Normalised_RegEx` | `6?` | Cho các tập tin chữ ký mà làm việc với nội dung tập tin bình thường hóa ANSI. Chữ ký có thể chứa các biểu thức chính quy. -`HTML` | `7?` | Cho các tập tin chữ ký mà làm việc với nội dung tập tin bình thường hóa HTML. -`HTML_RegEx` | `8?` | Cho các tập tin chữ ký mà làm việc với nội dung tập tin bình thường hóa HTML. Chữ ký có thể chứa các biểu thức chính quy. -`PE_Extended` | `9?` | Cho các tập tin chữ ký mà làm việc với siêu dữ liệu PE (nhưng không phải siêu dữ liệu PE phần). -`PE_Sectional` | `A?` | Cho các tập tin chữ ký mà làm việc với siêu dữ liệu PE phần. -`Complex_Extended` | `B?` | Cho các tập tin chữ ký mà làm việc với các quy tắc khác nhau dựa trên siêu dữ liệu mở rộng tạo bởi phpMussel. -`URL_Scanner` | `C?` | Cho các tập tin chữ ký mà làm việc với các URL. - -Byte kế tiếp `[x10]` là một dòng mới `[0A]`, và kết luận tiêu đề của tập tin chữ ký cho phpMussel. - -Mỗi dòng không rỗng sau đó là một chữ ký hoặc quy tắc. Mỗi chữ ký hoặc quy tắc chiếm một dòng. Các định dạng chữ ký được hỗ trợ được mô tả dưới đây. - -#### *CHỮ KÝ CHO TÊN TẬP TIN* -Tất cả các chữ ký cho tên tập tin tuân theo các định dạng: - -`NAME:FNRX` - -NAME là tên cho các chữ ký và FNRX là mô hình biểu thức chính quy để kiểm tra tên tập tin (không mã hóa). - -#### *CHỮ KÝ BĂM* -Tất cả các chữ ký băm tuân theo các định dạng: - -`HASH:FILESIZE:NAME` - -HASH là băm (thường là MD5) của toàn bộ tập tin, FILESIZE là tổng dung lượng tập tin và NAME là tên cho các chữ ký. - -#### *CHỮ KÝ PHẦN PE* -Tất cả các chữ ký phần PE tuân theo các định dạng: - -`SIZE:HASH:NAME` - -HASH là băm MD5 của một phần của một tập tin PE, SIZE là tổng kích thước của phần đó và NAME là tên cho các chữ ký. - -#### *CHỮ KÝ KÉO DÀI PE* -Tất cả các chữ ký kéo dài PE tuân theo các định dạng: - -`$VAR:HASH:SIZE:NAME` - -$VAR là tên của các biến PE để kiểm tra, HASH là băm MD5 của biến đó, SIZE là tổng kích thước biến và NAME là tên cho các chữ ký. - -#### *CHỮ KÝ KÉO DÀI PHỨC TẠP* -Chữ ký kéo dài phức tạp là khá khác nhau với các loại khác của chữ ký có thể với phpMussel, trong ý nghĩa rằng những gì họ đang kiểm tra cho được quy định bởi những chữ ký tự và họ có thể kiểm tra cho nhiều tiêu chí. Các tiêu chí được giới hạn bởi ";" và các loại kiểm tra và dữ liệu kiểm tra cho từng tiêu chí được giới hạn bởi ":" như vậy mà định dạng cho những chữ ký trông hơi giống như: - -`$Biến_Số1:Một_Số_Dữ_Liệu;$Biến_Số2:Một_Số_Dữ_Liệu;Tên_Chữ_Ký` - -#### *MỌI THỨ KHÁC* -Tất cả các chữ ký khác làm theo các định dạng: - -`NAME:HEX:FROM:TO` - -NAME là tên cho các chữ ký và HEX là một phân khúc thập lục phân mã hóa của các tập tin dự định để được xuất hiện bởi các chữ ký. FROM và TO là thông số tùy chọn, cho thấy nơi trong nguồn dữ liệu, bắt đầu và kết thúc, để kiểm tra lại. - -#### *BIỂU THỨC CHÍNH QUY* -Bất kỳ cách thức biểu thức chính quy hiểu và xử lý một cách chính xác qua PHP cũng nên được hiểu hiểu và xử lý một cách chính xác bởi phpMussel và chữ ký của nó. Tuy nhiên, tôi muốn đề nghị lấy hết sức thận trọng khi viết chữ ký biểu thức chính quy mới, bởi vì, nếu bạn không hoàn toàn chắc chắn bạn đang làm gì vậy, có thể có kết quả rất bất thường hay bất ngờ. Nhìn vào các mã nguồn nếu bạn không hoàn toàn về bối cảnh rằng họ đang phân tích cú pháp. Ngoài ra, nhớ lại rằng tất cả mọi thứ (ngoại trừ tên tập tin, cú pháp, siêu dữ liệu kho lưu trữ và mẫu MD5) phải được mã hóa hệ thập lục phân! - ---- - - -### 9. NHỮNG VẤN ĐỀ HỢP TƯƠNG TÍCH - -#### PHP và PCRE -- phpMussel cần PHP và PCRE để thực hiện và hoạt động. Nếu không có PHP, hoạc không có PCRE thêm của PHP, phpMussel sẽ không thực hiện và hoạt động bình thường. Bạn nên chắc chắc rằng hệ thống của bạn có PHP và PCRE cài vào và có sẵn trước khi tải và cài đặt phpMussel. - -#### KHẢ NĂNG TƯƠNG THÍCH PHẦN MỀM CHỐNG VI RÚT - -Các vấn đề tương thích giữa phpMussel và một số nhà cung cấp chống vi-rút đã được biết là đôi khi xảy ra trong quá khứ, vì vậy xấp xỉ cứ sau vài tháng, tôi kiểm tra các phiên bản mới nhất của cơ sở mã phpMussel chống lại Virus Total, để xem liệu có bất kỳ vấn đề nào được báo cáo ở đó không. Khi các vấn đề được báo cáo ở đó, tôi liệt kê các vấn đề được báo cáo ở đây, trong tài liệu. - -Khi tôi kiểm tra gần đây nhất (2022.05.12), không có vấn đề nào được báo cáo. - -Tôi không kiểm tra các tập tin chữ ký, tài liệu hoặc nội dung ngoại vi khác. Các tập tin chữ ký luôn gây ra một số sai tích cực khi các giải pháp chống vi-rút khác phát hiện ra chúng. Do đó tôi rất muốn giới thiệu, nếu bạn có kế hoạch cài đặt phpMussel tại một máy đã có giải pháp chống vi-rút khác, đặt tập tin chữ ký của phpMussel trong danh sách trắng của bạn. - ---- - - -### 10. NHỮNG CÂU HỎI THƯỜNG GẶP (FAQ) - -- ["Chữ ký" là gì?](#WHAT_IS_A_SIGNATURE) -- ["Sai tích cực" là gì?](#WHAT_IS_A_FALSE_POSITIVE) -- [Tần suất cập nhật chữ ký là bao nhiêu?](#SIGNATURE_UPDATE_FREQUENCY) -- [Tôi đã gặp một vấn đề trong khi sử dụng phpMussel và tôi không biết phải làm gì về nó! Hãy giúp tôi!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [Tôi muốn sử dụng phpMussel (trước v2) với phiên bản PHP cũ hơn 5.4.0; Bạn có thể giúp?](#MINIMUM_PHP_VERSION) -- [Tôi muốn sử dụng phpMussel (v2) với phiên bản PHP cũ hơn 7.2.0; Bạn có thể giúp?](#MINIMUM_PHP_VERSION_V2) -- [Tôi có thể sử dụng một cài đặt phpMussel để bảo vệ nhiều tên miền?](#PROTECT_MULTIPLE_DOMAINS) -- [Tôi không muốn lãng phí thời gian bằng cách cài đặt này và đảm bảo rằng nó hoạt động với trang web của tôi; Tôi có thể trả tiền cho bạn để làm điều đó cho tôi?](#PAY_YOU_TO_DO_IT) -- [Tôi có thể thuê bạn hay bất kỳ nhà phát triển nào của dự án này cho công việc riêng tư?](#HIRE_FOR_PRIVATE_WORK) -- [Tôi cần sửa đổi chuyên môn, tuỳ chỉnh, vv; Bạn có thể giúp?](#SPECIALIST_MODIFICATIONS) -- [Tôi là nhà phát triển, nhà thiết kế trang web, hay lập trình viên. Tôi có thể chấp nhận hay cung cấp các công việc liên quan đến dự án này không?](#ACCEPT_OR_OFFER_WORK) -- [Tôi muốn đóng góp cho dự án; Tôi có thể làm được điều này?](#WANT_TO_CONTRIBUTE) -- [Làm thế nào để truy cập chi tiết cụ thể về các tập tin khi chúng được quét?](#SCAN_DEBUGGING) -- [Tôi có thể sử dụng cron để cập nhật tự động không?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [Có thể phpMussel quét các tập tin có tên không ANSI?](#SCAN_NON_ANSI) -- [Danh sách đen – Danh sách trắng – Danh sách xám – Họ là gì, và làm cách nào để sử dụng chúng?](#BLACK_WHITE_GREY) -- [Khi tôi kích hoạt hoặc hủy kích hoạt các tập tin chữ ký thông qua trang cập nhật, nó sắp xếp chúng theo thứ tự chữ và số trong cấu hình. Tôi có thể thay đổi cách họ được sắp xếp không?](#CHANGE_COMPONENT_SORT_ORDER) -- ["PDO DSN" là gì? Làm cách nào tôi có thể sử dụng PDO với phpMussel?](#HOW_TO_USE_PDO) -- [Chức năng tải lên của tôi không đồng bộ (ví dụ, sử dụng ajax, ajaj, json, vv). Tôi không thấy bất kỳ thông báo hoặc cảnh báo đặc biệt nào khi tải lên bị chặn. Chuyện gì đang xảy ra vậy?](#AJAX_AJAJ_JSON) -- [phpMussel có thể phát hiện EICAR không?](#DETECT_EICAR) - -#### "Chữ ký" là gì? - -Trong bối cảnh của phpMussel, "chữ ký" đề cập đến dữ liệu hoạt động như một chỉ thị hay cơ chế định danh cho một cái gì đó cụ thể mà chúng tôi đang tìm kiếm, thường là một đoạn nhỏ và không nguy hiểm của một cái gì đó lớn hơn và có hại, chẳng hạn như vi rút hoặc trojan, hoặc, một tập tin băm, hoặc các chỉ số nhận dạng tương tự khác, và nó thường bao gồm một nhãn, và một số dữ liệu khác để giúp cung cấp bối cảnh bổ sung mà có thể được sử dụng bởi phpMussel để xác định cách tốt nhất để tiến hành khi nó gặp những gì chúng ta đang tìm kiếm. - -#### "Sai tích cực" là gì? - -Nghĩa của "sai tích cực" (*hay: "lỗi sai tích cực"; "báo động giả"*; Tiếng Anh: *false positive*; *false positive error*; *false alarm*), mô tả rất đơn giản, và trong một bối cảnh tổng quát, được sử dụng khi kiểm tra cho một điều kiện, để tham khảo các kết quả của bài kiểm tra, khi kết quả là tích cực (hay, điều kiện được xác định là "tích cực", hay "đúng"), nhưng dự kiến sẽ được (hay cần phải có được) tiêu cực (hay, điều kiện, thực tế, là "tiêu cực", hay "sai"). "Sai tích cực" có thể được coi là điều tương tự như "khóc sói" (theo đó các điều kiện đang được kiểm tra là liệu có con sói gần đàn, điều kiện là "sai" bởi vì không có con sói gần đàn, và điều kiện được báo cáo là "tích cực" bởi các người chăn bằng cách gọi "sói, sói"), hay tương tự như tình huống trong thử nghiệm y tế theo đó một bệnh nhân được chẩn đoán là có một số bệnh, trong khi thực tế, họ không có bất kỳ số bệnh. - -Một số các từ ngữ khác sử dụng là "đúng tích cực", "đúng tiêu cực" và "sai tiêu cực". "Đúng tích cực" đề cập đến khi các kết quả kiểm tra và tình trạng thực tế của điều kiện là cả hai đúng (hay "tích cực"), và "đúng tiêu cực" đề cập đến khi các kết quả kiểm tra và tình trạng thực tế của điều kiện là cả hai sai (hay "tiêu cực"); "Đúng tích cực" hay "đúng tiêu cực" được coi là một "suy luận đúng". Các phản đề của "sai tích cực" là "sai tiêu cực"; "Sai tiêu cực" đề cập đến khi các kết quả kiểm tra là tiêu cực (hay, điều kiện được xác định là "tiêu cực", hay "sai"), nhưng dự kiến sẽ được (hay cần phải có được) tích cực (hay, điều kiện, thực tế, là "tích cực", hay "đúng"). - -Trong bối cảnh phpMussel, các từ ngữ đề cập đến chữ ký của phpMussel và các tập tin mà họ chặn. Khi phpMussel chặn một tập tin bởi vì chữ ký của nó là xấu, lỗi thời hay không chính xác, nhưng không nên làm như vậy, hay khi nó làm như vậy vì những lý do sai, chúng tôi đề cập đến sự kiện này như "sai tích cực". Khi phpMussel không chặn một tập tin đó nên đã bị chặn, bởi vì mối đe dọa khó lường, chữ ký mất tích hay thiếu sót trong chữ ký, chúng tôi đề cập đến sự kiện này như "phát hiện mất tích" (which is analogous to a "sai tiêu cực"). - -Điều này có thể được tóm tắt bằng bảng dưới đây: - -  | phpMussel *KHÔNG* nên chặn một tập tin | phpMussel *NÊN* chặn một tập tin ----|---|--- -phpMussel *KHÔNG* chặn một tập tin | Đúng tiêu cực (suy luận đúng) | Phát hiện mất tích (điều tương tự như sai tiêu cực) -phpMussel chặn một tập tin | __Sai tích cực__ | Đúng tích cực (suy luận đúng) - -#### Tần suất cập nhật chữ ký là bao nhiêu? - -Tần suất cập nhật thay đổi tùy thuộc vào các tập tin chữ ký trong câu hỏi. Nói chung là, tất cả các người bảo trì cho các tất cả tập tin chữ ký cố gắng đảm bảo rằng chữ ký của họ được cập nhật càng nhiều càng tốt, nhưng bởi vì tất cả chúng ta đều có nhiều cam kết khác, cuộc sống của chúng ta bên ngoài dự án, và bởi vì không ai trong chúng ta được bồi thường tài chính (hay được thanh toán) cho các nỗ lực dự án của chúng tôi, Một lịch trình cập nhật chính xác không thể được đảm bảo. Nói chung là, chữ ký được cập nhật bất cứ khi nào có đủ thời gian để cập nhật chúng. Trợ giúp luôn được đánh giá cao nếu bạn sẵn sàng cung cấp bất kỳ. - -#### Tôi đã gặp một vấn đề trong khi sử dụng phpMussel và tôi không biết phải làm gì về nó! Hãy giúp tôi! - -- Bạn đang sử dụng phiên bản mới nhất của phần mềm? Bạn đang sử dụng phiên bản mới nhất của tập tin chữ ký của bạn? Nếu câu trả lời cho một trong hai những câu hỏi này là không, cố gắng cập nhật mọi thứ đầu tiên, và kiểm tra nếu vấn đề vẫn còn. Nếu nó vẫn còn, tiếp tục đọc. -- Bạn đã kiểm tra tất cả các tài liệu chưa? Nếu không, xin hãy làm như vậy. Nếu vấn đề không thể giải quyết bằng cách sử dụng tài liệu, hãy tiếp tục đọc. -- Bạn đã kiểm tra các **[trang issues](https://github.com/phpMussel/phpMussel/issues)** chưa, để xem nếu vấn đề đã được đề cập trước đó? Nếu nó đã được đề cập trước đó, kiểm tra nếu có bất kỳ đề xuất, ý tưởng, hay giải pháp đã được cung cấp, và làm theo như là cần thiết để cố gắng giải quyết vấn đề. -- Nếu vấn đề vẫn còn, vui lòng hãy tìm sự giúp đỡ về nó bằng cách tạo ra một issue mới trên trang issues. - -#### Tôi muốn sử dụng phpMussel (trước v2) với phiên bản PHP cũ hơn 5.4.0; Bạn có thể giúp? - -Không. PHP >= 5.4.0 là yêu cầu tối thiểu đối với phpMussel < v2. - -#### Tôi muốn sử dụng phpMussel (v2) với phiên bản PHP cũ hơn 7.2.0; Bạn có thể giúp? - -Không. PHP >= 7.2.0 là yêu cầu tối thiểu đối với phpMussel v2. - -*Xem thêm: [Biểu đồ tương thích](https://maikuolan.github.io/Compatibility-Charts/).* - -#### Tôi có thể sử dụng một cài đặt phpMussel để bảo vệ nhiều tên miền? - -Vâng. Cài đặt phpMussel không bị khóa vào các tên miền cụ thể, và do đó có thể được sử dụng để bảo vệ nhiều tên miền. Nói chung là, chúng tôi đề cập đến cài đặt phpMussel chỉ bảo vệ một miền như "cài đặt miền đơn" ("single-domain installations"), và chúng tôi đề cập đến cài đặt phpMussel bảo vệ nhiều miền hay miền phụ như "cài đặt nhiều miền" ("multi-domain installations"). Nếu bạn sử dụng một cài đặt nhiều miền và cần phải sử dụng các bộ tập tin chữ ký khác nhau cho các miền khác nhau, hoặc cần phpMussel được cấu hình khác nhau cho các miền khác nhau, điều này có thể làm được. Sau khi tải tập tin cấu hình (`config.ini`), phpMussel sẽ kiểm tra sự tồn tại của một "tập tin ghi đè cấu hình" cụ thể cho miền được yêu cầu (`miền-được-yêu-cầu.tld.config.ini`), và nếu được tìm thấy, bất kỳ giá trị cấu hình nào được xác định bởi tập tin ghi đè cấu hình sẽ được sử dụng cho trường hợp thực hiện thay vì các giá trị cấu hình được định nghĩa bởi tập tin cấu hình. Các tập tin ghi đè cấu hình giống với tập tin cấu hình, và tùy theo quyết định của bạn, có thể chứa toàn bộ các chỉ thị cấu hình sẵn có cho phpMussel, hoặc bất kỳ phần bắt buộc nào mà khác với các giá trị được xác định bởi tập tin cấu hình. Các tập tin ghi đè cấu hình được đặt tên theo miền mà chúng được dự định (vì vậy, ví dụ, nếu bạn cần một tập tin ghi đè cấu hình cho miền, `https://www.some-domain.tld/`, các tập tin ghi đè cấu hình của nó nên được đặt tên là `some-domain.tld.config.ini`, và nên được đặt trong vault với tập tin cấu hình, `config.ini`). Tên miền cho trường hợp thực hiện được bắt nguồn từ header (tiêu đề) `HTTP_HOST` của các yêu cầu; "www" bị bỏ qua. - -#### Tôi không muốn lãng phí thời gian bằng cách cài đặt này và đảm bảo rằng nó hoạt động với trang web của tôi; Tôi có thể trả tiền cho bạn để làm điều đó cho tôi? - -Có lẽ. Điều này được xem xét theo từng trường hợp cụ thể. Cho chúng tôi biết những gì bạn cần, những gì bạn đang cung cấp, và chúng tôi sẽ cho bạn biết liệu chúng tôi có thể giúp đỡ hay không. - -#### Tôi có thể thuê bạn hay bất kỳ nhà phát triển nào của dự án này cho công việc riêng tư? - -*Xem ở trên.* - -#### Tôi cần sửa đổi chuyên môn, tuỳ chỉnh, vv; Bạn có thể giúp? - -*Xem ở trên.* - -#### Tôi là nhà phát triển, nhà thiết kế trang web, hay lập trình viên. Tôi có thể chấp nhận hay cung cấp các công việc liên quan đến dự án này không? - -Vâng. Giấy phép của chúng tôi không cấm điều này. - -#### Tôi muốn đóng góp cho dự án; Tôi có thể làm được điều này? - -Vâng. Đóng góp cho dự án rất được hoan nghênh. Vui lòng xem "CONTRIBUTING.md" để biết thêm thông tin. - -#### Làm thế nào để truy cập chi tiết cụ thể về các tập tin khi chúng được quét? - -Bạn có thể truy cập chi tiết cụ thể về các tập tin khi chúng được quét bằng cách gán một mảng để sử dụng cho mục đích này trước khi hướng dẫn phpMussel để quét chúng. - -Trong ví dụ dưới đây, `$Foo` được gán cho mục đích này. Sau khi quét `/đường/dẫn/tập/tin/...`, thông tin chi tiết về các tập tin chứa bởi `/đường/dẫn/tập/tin/...` sẽ được chứa bởi `$Foo`. - -```PHP -Tôi có thể sử dụng cron để cập nhật tự động không? - -Vâng. API được tích hợp trong front-end để tương tác với trang cập nhật thông qua các kịch bản bên ngoài. Một kịch bản riêng biệt, "[Cronable](https://github.com/Maikuolan/Cronable)", là có sẵn, và có thể được sử dụng bởi cron manager hay cron scheduler để tự động cập nhật gói này và gói hỗ trợ khác (kịch bản này cung cấp tài liệu riêng của nó). - -#### Có thể phpMussel quét các tập tin có tên không ANSI? - -Giả sử có một thư mục bạn muốn quét. Trong thư mục này, bạn có một số tập tin có tên không ANSI. -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -Giả sử rằng bạn đang sử dụng chế độ CLI hoặc phpMussel API để quét. - -Khi sử dụng PHP < 7.1.0, trên một số hệ thống, phpMussel sẽ không thấy các tập tin này khi cố gắng quét thư mục, và do đó, sẽ không thể quét các tập tin này. Bạn có thể sẽ thấy kết quả tương tự như khi bạn quét một thư mục rỗng: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Đã bắt đầu. - Sun, 01 Apr 2018 22:27:41 +0800 Hoàn thành. -``` - -Ngoài ra, khi sử dụng PHP < 7.1.0, quét các tập tin riêng lẻ tạo kết quả như sau: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Đã bắt đầu. - > Đang kiểm tra 'X:/directory/Пример.txt' (FN: b831eb8f): - -> Tập tin không hợp lệ! - Sun, 01 Apr 2018 22:27:41 +0800 Hoàn thành. -``` - -Hoặc những điều sau: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Đã bắt đầu. - > X:/directory/??????.txt không phải là file hoạc thư mục. - Sun, 01 Apr 2018 22:27:41 +0800 Hoàn thành. -``` - -Điều này là do cách mà PHP xử lý các tên tập tin không phải ANSI trước PHP 7.1.0. Nếu bạn gặp vấn đề này, giải pháp là cập nhật cài đặt PHP lên phiên bản 7.1.0 trở lên. Trong PHP >= 7.1.0, tên tập tin không phải ANSI được xử lý tốt hơn, và phpMussel sẽ có thể quét các tập tin đúng cách. - -Để so sánh, kết quả khi cố gắng quét các thư mục bằng cách sử dụng PHP >= 7.1.0: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Đã bắt đầu. - -> Đang kiểm tra '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> Không tiềm được vấn đề. - -> Đang kiểm tra '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> Không tiềm được vấn đề. - -> Đang kiểm tra '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> Không tiềm được vấn đề. - Sun, 01 Apr 2018 22:27:41 +0800 Hoàn thành. -``` - -Và cố gắng để quét các tập tin riêng biệt: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 Đã bắt đầu. - > Đang kiểm tra 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> Không tiềm được vấn đề. - Sun, 01 Apr 2018 22:27:41 +0800 Hoàn thành. -``` - -#### Danh sách đen – Danh sách trắng – Danh sách xám – Họ là gì, và làm cách nào để sử dụng chúng? - -Các thuật ngữ mang ý nghĩa khác nhau trong các ngữ cảnh khác nhau. Trong phpMussel, có ba ngữ cảnh mà các thuật ngữ này được sử dụng: Đáp ứng kích thước tập tin, đáp ứng loại tập tin, và danh sách xám cho chữ ký. - -Để đạt được một kết quả mong muốn với chi phí tối thiểu để xử lý, có một số điều đơn giản mà phpMussel có thể kiểm tra trước khi thực sự quét các tập tin, chẳng hạn như các kích thước, các tên, và các phần mở rộng của tập tin. Ví dụ; Nếu một tập tin quá lớn, hay nếu phần mở rộng của tập tin đó cho biết loại tập tin mà chúng tôi không muốn cho phép trên các trang web của chúng tôi, chúng tôi có thể đánh dấu tập tin ngay lập tức, và không cần quét nó. - -Đáp ứng kích thước tập tin là cách mà phpMussel đáp ứng khi tập tin vượt quá giới hạn được chỉ định. Mặc dù không có danh sách thực tế, một tập tin có thể được xem là có hiệu quả trong danh sách đen, danh sách trắng hoặc danh sách xám, dựa trên kích thước của tập tin. Hai chỉ thị cấu hình khác biệt tồn tại để chỉ định một giới hạn và đáp ứng mong muốn tương ứng. - -Đáp ứng loại tập tin là cách mà phpMussel đáp ứng với phần mở rộng của tập tin. Có ba chỉ thị cấu hình khác biệt tồn tại để chỉ định các phần mở rộng nào sẽ nằm trong danh sách đen, danh sách trắng hoặc danh sách xám. Một tập tin có thể được xem xét có hiệu quả trên danh sách đen, danh sách trắng hoặc danh sách xám nếu phần mở rộng của nó khớp với bất kỳ phần mở rộng được chỉ định tương ứng. - -Trong hai ngữ cảnh này, nằm trong danh sách trắng có nghĩa là không được quét hoặc gắn cờ; nằm trong danh sách đen có nghĩa là nó phải được gắn cờ (và do đó không cần phải quét nó); và nằm trong danh sách xám có nghĩa là phân tích thêm là cần thiết để xác định xem chúng ta nên gắn cờ nó (và như vậy, nó nên được quét). - -Danh sách xám cho chữ ký là một danh sách các chữ ký mà về cơ bản sẽ được bỏ qua (điều này đã được đề cập trước đó trong tài liệu). Khi một chữ ký trên danh sách xám được kích hoạt, phpMussel tiếp tục làm việc thông qua các chữ ký của nó và không có hành động cụ thể liên quan đến chữ ký trên danh sách xám. Không có danh sách đen chữ ký, bởi vì hành vi ngụ ý là hành vi bình thường cho chữ ký kích hoạt, và không có danh sách trắng chữ ký, bởi vì hành vi ngụ ý sẽ không thực sự có ý nghĩa trong việc xem xét như thế nào phpMussel hoạt động bình thường và những điều đã có thể đã làm. - -Danh sách xám chữ ký rất hữu ích nếu bạn cần giải quyết các vấn đề gây ra bởi một chữ ký cụ thể mà không cần vô hiệu hoặc gỡ cài đặt toàn bộ tập tin chữ ký. - -#### Khi tôi kích hoạt hoặc hủy kích hoạt các tập tin chữ ký thông qua trang cập nhật, nó sắp xếp chúng theo thứ tự chữ và số trong cấu hình. Tôi có thể thay đổi cách họ được sắp xếp không? - -Vâng. Nếu bạn cần buộc một số tập tin thực thi theo thứ tự cụ thể, bạn có thể thêm một số dữ liệu tùy ý trước tên của chúng trong chỉ thị cấu hình nơi chúng được liệt kê, được phân tách bằng dấu hai chấm. Khi trang cập nhật sau đó sắp xếp lại các tập tin, dữ liệu tùy ý được thêm này sẽ ảnh hưởng đến thứ tự sắp xếp, gây ra chúng do đó để thực hiện theo thứ tự mà bạn muốn, mà không cần phải đổi tên bất kỳ người nào trong số họ. - -Ví dụ, giả sử một chỉ thị cấu hình với các tập tin được liệt kê như sau: - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -Nếu bạn muốn `file3.php` thực hiện trước, bạn có thể thêm một cái gì đó như `aaa:` trước tên của tập tin: - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -Sau đó, nếu một tập tin mới, `file6.php`, được kích hoạt, khi trang cập nhật sắp xếp lại tất cả, nó sẽ kết thúc như sau: - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -Tình huống tương tự khi một tập tin bị hủy kích hoạt. Ngược lại, nếu bạn muốn tập tin thực thi cuối cùng, bạn có thể thêm một cái gì đó như `zzz:` trước tên của tập tin. Trong mọi trường hợp, bạn sẽ không cần đổi tên tập tin đang được đề cập đến. - -#### "PDO DSN" là gì? Làm cách nào tôi có thể sử dụng PDO với phpMussel? - -"PDO" là từ viết tắt của "[PHP Data Objects](https://www.php.net/manual/en/intro.pdo.php)" (đối tượng dữ liệu PHP). Nó cung cấp một giao diện cho PHP để có thể kết nối với một số hệ thống cơ sở dữ liệu thường được sử dụng bởi các ứng dụng PHP khác nhau. - -"DSN" là từ viết tắt của "[data source name](https://en.wikipedia.org/wiki/Data_source_name)" (tên nguồn dữ liệu). "PDO DSN" mô tả với PDO cách nó sẽ kết nối với cơ sở dữ liệu. - -phpMussel cung cấp tùy chọn để sử dụng PDO cho mục đích bộ nhớ cache. Để điều này hoạt động chính xác, bạn sẽ cần định cấu hình phpMussel phù hợp, do đó cho phép PDO, tạo cơ sở dữ liệu mới cho phpMussel để sử dụng (nếu bạn chưa có cơ sở dữ liệu cho phpMussel để sử dụng), và tạo một bảng mới trong cơ sở dữ liệu của bạn theo cấu trúc được mô tả dưới đây. - -Khi kết nối cơ sở dữ liệu thành công, nhưng bảng cần thiết không tồn tại, nó sẽ cố gắng tạo nó tự động. Tuy nhiên, hành vi này đã không được thử nghiệm rộng rãi và thành công không thể được đảm bảo. - -Tất nhiên, điều này chỉ áp dụng nếu bạn thực sự muốn phpMussel sử dụng PDO. Nếu bạn đủ hạnh phúc cho phpMussel để sử dụng bộ đệm ẩn phẳng (theo cấu hình mặc định của nó) hoặc bất kỳ tùy chọn bộ nhớ cache nào khác được cung cấp, bạn sẽ không cần phải lo lắng về việc thiết lập cơ sở dữ liệu, bảng, vv. - -Cấu trúc được mô tả dưới đây sử dụng "phpmussel" làm tên cơ sở dữ liệu của nó, nhưng bạn có thể sử dụng bất kỳ tên nào bạn muốn cho cơ sở dữ liệu của mình, miễn là cùng tên đó được sao chép trong cấu hình DSN của bạn. - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -Chỉ thị cấu hình `pdo_dsn` của phpMussel nên được cấu hình như mô tả bên dưới. - -``` -Tùy thuộc vào trình điều khiển cơ sở dữ liệu nào được sử dụng... -├─4d (Cảnh báo: Thử nghiệm, chưa được kiểm tra, không được khuyến khích!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └Máy chủ để kết nối với để tìm cơ sở dữ liệu. -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └Tên của cơ sở dữ liệu để sử dụng. -│ │ │ -│ │ └Số cổng để kết nối với máy chủ. -│ │ -│ └Máy chủ để kết nối với để tìm cơ sở dữ liệu. -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └Tên của cơ sở dữ liệu để sử dụng. -│ │ │ -│ │ └Máy chủ để kết nối với để tìm cơ sở dữ liệu. -│ │ -│ └Những giá trị khả thi: "mssql", "sybase", "dblib". -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├Có thể là một đường dẫn đến một tập tin cơ sở dữ liệu -│ │cục bộ. -│ │ -│ ├Có thể kết nối với một máy chủ và số cổng. -│ │ -│ └Bạn nên tham khảo tài liệu Firebird nếu bạn muốn sử dụng -│ trình điều khiển này. -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └Các cơ sở dữ liệu được phân loại để kết nối với. -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └Các cơ sở dữ liệu được phân loại để kết nối với. -├─mysql (Được khuyến nghị nhất!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └Số cổng để kết nối với máy chủ. -│ │ │ -│ │ └Máy chủ để kết nối với để tìm cơ sở dữ liệu. -│ │ -│ └Tên của cơ sở dữ liệu để sử dụng. -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├Can refer to the specific catalogued database. -│ │ -│ ├Có thể kết nối với một máy chủ và số cổng. -│ │ -│ └Bạn nên tham khảo tài liệu Oracle nếu bạn muốn sử dụng -│ trình điều khiển này. -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├Có thể tham khảo cơ sở dữ liệu danh mục cụ thể. -│ │ -│ ├Có thể kết nối với một máy chủ và số cổng. -│ │ -│ └Bạn nên tham khảo tài liệu ODBC/DB2 nếu bạn muốn sử dụng -│ trình điều khiển này. -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └Tên của cơ sở dữ liệu để sử dụng. -│ │ │ -│ │ └Số cổng để kết nối với máy chủ. -│ │ -│ └Máy chủ để kết nối với để tìm cơ sở dữ liệu. -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └Đường dẫn đến tập tin cơ sở dữ liệu cục bộ để sử dụng. -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └Tên của cơ sở dữ liệu để sử dụng. - │ │ - │ └Số cổng để kết nối với máy chủ. - │ - └Máy chủ để kết nối với để tìm cơ sở dữ liệu. -``` - -Nếu bạn không chắc chắn về việc sử dụng cái gì cho một phần cụ thể trong DSN của mình, hãy thử xem trước tiên xem nó có hoạt động như cũ không mà không thay đổi gì. - -Lưu ý rằng `pdo_username` và `pdo_password` phải giống với tên người dùng và mật khẩu bạn đã chọn cho cơ sở dữ liệu của mình. - -#### Chức năng tải lên của tôi không đồng bộ (ví dụ, sử dụng ajax, ajaj, json, vv). Tôi không thấy bất kỳ thông báo hoặc cảnh báo đặc biệt nào khi tải lên bị chặn. Chuyện gì đang xảy ra vậy? - -Điều này là bình thường. Trang "sự tải lên đã bị từ chối" tiêu chuẩn của phpMussel được phục vụ dưới dạng HTML. Nó phải đủ cho các yêu cầu đồng bộ điển hình, nhưng có lẽ sẽ không đủ nếu chức năng tải lên của bạn đang mong đợi điều gì khác. Nếu chức năng tải lên của bạn không đồng bộ hoặc mong muốn trạng thái tải lên được cung cấp không đồng bộ, có một số điều bạn có thể thử làm để phpMussel phục vụ nhu cầu về chức năng tải lên của bạn. - -1. Tạo một mẫu đầu ra tùy chỉnh để phục vụ một cái gì đó ngoài HTML. -2. Tạo một plugin tùy chỉnh để hoàn toàn bỏ qua trang "sự tải lên đã bị từ chối" tiêu chuẩn và yêu cầu trình xử lý tải lên làm một cái gì đó khác khi tải lên bị chặn (có một số hook plugin được cung cấp bởi trình xử lý tải lên có thể hữu ích cho việc này). -3. Vô hiệu hóa hoàn toàn trình xử lý tải lên và thay vào đó chỉ gọi API phpMussel từ bên trong chức năng tải lên của bạn. - -#### phpMussel có thể phát hiện EICAR không? - -Vâng. Chữ ký để phát hiện EICAR được bao gồm trong "tập tin chữ ký biểu thức chính quy chuẩn phpMussel" (`phpmussel_regex.db`). Miễn là tập tin chữ ký đó được cài đặt và kích hoạt, phpMussel sẽ có thể phát hiện EICAR. Vì cơ sở dữ liệu ClamAV cũng bao gồm nhiều chữ ký đặc biệt để phát hiện EICAR, ClamAV có thể dễ dàng phát hiện EICAR, nhưng vì phpMussel chỉ sử dụng một tập hợp con nhỏ hơn trong tổng số chữ ký do ClamAV cung cấp, có thể bản thân chúng sẽ không đủ để phpMussel phát hiện ra EICAR. Khả năng phát hiện nó cũng có thể phụ thuộc vào cấu hình chính xác của bạn. - ---- - - -### 11. THÔNG TIN HỢP PHÁP - -#### 11.0 PHẦN MỞ ĐẦU - -Phần tài liệu này nhằm mô tả các cân nhắc pháp lý có thể có về việc sử dụng và thực hiện của gói, và cung cấp một số thông tin liên quan cơ bản. Điều này có thể quan trọng đối với một số người dùng như một phương tiện để đảm bảo tuân thủ mọi yêu cầu pháp lý có thể tồn tại ở các quốc gia mà họ hoạt động, và một số người dùng có thể cần phải điều chỉnh chính sách trang web của họ theo thông tin này. - -Đầu tiên và quan trọng nhất, xin vui lòng nhận ra rằng tôi (tác giả gói) không phải là luật sư, cũng không phải là một chuyên gia pháp lý đủ điều kiện. Do đó, tôi không đủ tư cách pháp lý để cung cấp tư vấn pháp lý. Ngoài ra, trong một số trường hợp, yêu cầu pháp lý chính xác có thể khác nhau giữa các quốc gia và khu vực pháp lý khác nhau, và các yêu cầu pháp lý khác nhau đôi khi có thể xung đột (chẳng hạn như, ví dụ, trong trường hợp các quốc gia mà ủng hộ [quyền riêng tư](https://vi.wikipedia.org/wiki/Quy%E1%BB%81n_%C4%91%C6%B0%E1%BB%A3c_b%E1%BA%A3o_v%E1%BB%87_%C4%91%E1%BB%9Di_t%C6%B0) và quyền bị lãng quên, so với các quốc gia mà ủng hộ luật lưu giữ dữ liệu). Cũng xem xét việc truy cập vào gói không bị giới hạn ở các quốc gia hoặc khu vực pháp lý cụ thể, và do đó, cơ sở người dùng gói có khả năng đa dạng về mặt địa lý. Những điểm này được xem xét, tôi không ở trong một vị trí để tuyên bố những gì nó có nghĩa là để "tuân thủ về mặt pháp lý" cho tất cả người dùng, trong tất cả các liên quan. Tuy nhiên, tôi hy vọng rằng thông tin trong tài liệu này sẽ giúp bạn tự quyết định về những gì bạn phải làm để duy trì tuân thủ về mặt pháp lý trong bối cảnh của gói. Nếu bạn có bất kỳ nghi ngờ hoặc quan tâm nào về thông tin ở đây, hoặc nếu bạn cần thêm trợ giúp và tư vấn từ góc độ pháp lý, tôi khuyên bạn nên tham khảo ý kiến chuyên gia pháp lý đủ điều kiện. - -#### 11.1 TRÁCH NHIỆM PHÁP LÝ - -Theo như đã nêu trong giấy phép gói, gói được cung cấp mà không có bất kỳ bảo hành nào. Điều này bao gồm (nhưng không giới hạn) tất cả phạm vi trách nhiệm pháp lý. Gói phần mềm được cung cấp cho bạn để thuận tiện cho bạn, với hy vọng rằng nó sẽ hữu ích, và rằng nó sẽ cung cấp một số lợi ích cho bạn. Tuy nhiên, việc sử dụng hoặc triển khai gói, là lựa chọn của riêng bạn. Bạn không bị buộc phải sử dụng hoặc triển khai gói, nhưng khi bạn làm như vậy, bạn chịu trách nhiệm về quyết định đó. Tôi và những người đóng góp gói khác, không chịu trách nhiệm pháp lý về hậu quả của các quyết định mà bạn đưa ra, bất kể trực tiếp, gián tiếp, ngụ ý, hay nói cách khác. - -#### 11.2 BÊN THỨ BA - -Tùy thuộc vào cấu hình và triển khai chính xác của nó, gói có thể giao tiếp và chia sẻ thông tin với bên thứ ba trong một số trường hợp. Thông tin này có thể được định nghĩa là "[thông tin nhận dạng cá nhân](https://www.pcworld.com.vn/articles/cong-nghe/an-ninh-mang/2016/05/1248000/thong-tin-ca-nhan-tai-san-rieng-cung-la-tien/)" (PII) trong một số ngữ cảnh, bởi một số khu vực pháp lý. - -Thông tin này có thể được các bên thứ ba này sử dụng như thế nào, là tuân theo của chính sách của các bên thứ ba, và nằm ngoài phạm vi của tài liệu này. Tuy nhiên, trong tất cả các trường hợp như vậy, việc chia sẻ thông tin với các bên thứ ba này có thể bị vô hiệu hóa. Trong tất cả các trường hợp như vậy, nếu bạn chọn kích hoạt nó, bạn có trách nhiệm nghiên cứu bất kỳ mối lo ngại nào về sự riêng tư, bảo mật, và việc sử dụng PII của các bên thứ ba này. Nếu có bất kỳ nghi ngờ nào, hoặc nếu bạn không hài lòng với hành vi của các bên thứ ba liên quan đến PII, tốt nhất là nên vô hiệu hóa tất cả việc chia sẻ thông tin với các bên thứ ba này. - -Với mục đích minh bạch, loại thông tin được chia sẻ, và với ai, được mô tả dưới đây. - -##### 11.2.0 WEBFONT - -Một số chủ đề tùy chỉnh, cũng như UI chuẩn ("giao diện người dùng") cho front-end phpMussel và trang "Sự tải lên đã bị từ chối", có thể sử dụng các webfont vì lý do thẩm mỹ. Các webfont được vô hiệu hóa theo mặc định, nhưng khi được kích hoạt, giao tiếp trực tiếp giữa trình duyệt của người dùng và dịch vụ lưu trữ webfont sẽ xảy ra. Điều này có thể liên quan đến việc truyền thông tin như địa chỉ IP của người dùng, đại lý người dùng, hệ điều hành, và các chi tiết khác có sẵn cho yêu cầu. Hầu hết các webfont này được lưu trữ bởi dịch vụ [Google Fonts](https://fonts.google.com/). - -*Chỉ thị cấu hình có liên quan:* -- `general` -> `disable_webfonts` - -##### 11.2.1 MÁY QUÉT URL - -Các URL được tìm thấy trong các tải lên tập tin có thể được chia sẻ với API duyệt web an toàn của Google, tùy thuộc vào cách gói được định cấu hình. API duyệt web an toàn của Google yêu cầu các khóa API để hoạt động chính xác, và do đó được vô hiệu hóa theo mặc định. - -*Chỉ thị cấu hình có liên quan:* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -Khi phpMussel quét một tập tin tải lên, các băm của các tập tin đó có thể được chia sẻ với API Virus Total, tùy thuộc vào cách gói được định cấu hình. Có những kế hoạch để có thể chia sẻ toàn bộ tập tin tại một số thời điểm trong tương lai, nhưng tính năng này không được gói hỗ trợ tại thời điểm này. API Virus Total yêu cầu khóa API để hoạt động chính xác, và do đó được vô hiệu hóa theo mặc định. - -Thông tin (bao gồm các tập tin và siêu dữ liệu tập tin có liên quan) được chia sẻ với Virus Total, cũng có thể được chia sẻ với các đối tác, chi nhánh, và nhiều người khác cho mục đích nghiên cứu. Điều này được mô tả chi tiết hơn theo chính sách bảo mật của họ. - -*Xem: [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*Chỉ thị cấu hình có liên quan:* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 NHẬT KÝ - -Nhật ký là một phần quan trọng của phpMussel vì một số lý do. Khi không có nhật ký, có thể khó để chẩn đoán sai tích cực, để xác định chính xác phpMussel hoạt động tốt như thế nào trong bất kỳ ngữ cảnh cụ thể nào, và để xác định nơi bất cập của nó, và những thay đổi nào có thể cần thiết đối với cấu hình hay chữ ký của nó, để nó có thể tiếp tục hoạt động như dự định. Bất kể, nhật ký có thể không được mong muốn cho tất cả người dùng, và vẫn hoàn toàn tùy chọn. Trong phpMussel, ghi nhật ký bị vô hiệu hóa theo mặc định. Để kích hoạt nó, phpMussel phải được cấu hình cho phù hợp. - -Ngoài ra, việc nhật ký có được cho phép hợp pháp hay không, và trong phạm vi được cho phép hợp pháp (ví dụ, các loại thông tin có thể được nhật ký, bao lâu, và trong hoàn cảnh gì), có thể thay đổi, tùy thuộc vào thẩm quyền pháp lý và trong bối cảnh phpMussel được triển khai (ví dụ, nếu bạn đang hoạt động như một cá nhân, như một thực thể công ty, và nếu trên cơ sở thương mại hay phi thương mại). Do đó, nó có thể hữu ích cho bạn để đọc kỹ phần này. - -Có nhiều kiểu ghi nhật ký mà phpMussel có thể thực hiện. Các loại ghi nhật ký khác nhau liên quan đến các loại thông tin khác nhau, vì các lý do khác nhau. - -##### 11.3.0 NHẬT KÝ QUÉT - -Khi được kích hoạt trong cấu hình gói, phpMussel lưu nhật ký của các tập tin mà nó quét. Loại ghi nhật ký này có sẵn ở hai định dạng khác nhau: -- Tập tin nhật ký mà có thể được đọc bởi con người. -- Tập tin nhật ký được tuần tự hóa. - -Các mục nhập vào một tập tin nhật ký mà có thể được đọc bởi con người thường trông giống như sau (ví dụ): - -``` -Mon, 21 May 2018 00:47:58 +0800 Đã bắt đầu. -> Đang kiểm tra 'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> Đã được phát hiện phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 Hoàn thành. -``` - -Mục nhập nhật ký quét thường bao gồm các thông tin sau: -- Ngày và giờ tập tin được quét. -- Tên của tập tin được quét. -- CRC32b băm của tên và nội dung của tập tin. -- Những gì đã được phát hiện trong tập tin (nếu bất cứ điều gì đã được phát hiện). - -*Chỉ thị cấu hình có liên quan:* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -Khi các chỉ thị này được để trống, loại ghi nhật ký này sẽ vẫn bị vô hiệu hóa. - -##### 11.3.1 TẢI LÊN BỊ CHẶN - -Khi được kích hoạt trong cấu hình gói, phpMussel lưu nhật ký của các tải lên đã bị chặn. - -Các mục nhập vào tập tin nhật ký tải lên bị chặn thường trông giống như sau (ví dụ): - -``` -Ngày: Mon, 21 May 2018 00:47:56 +0800 -Địa chỉ IP: 127.0.0.1 -== Kết quả quét (tại sao được gắn cờ) == -Đã được phát hiện phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)! -== Tái thiết chữ ký băm == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -Đã được kiểm dịch là "/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu". -``` - -Mục nhập vào tập tin nhật ký tải lên bị chặn thường bao gồm các thông tin sau: -- Ngày và giờ tải lên bị chặn. -- Địa chỉ IP nơi tải lên bắt nguồn từ đó. -- Lý do tại sao tập tin bị chặn (những gì đã được phát hiện). -- Tên của tập tin bị chặn. -- MD5 băm và kích thước của tập tin bị chặn. -- Liệu tập tin có bị đưa vào kiểm dịch hay không và dưới tên nội bộ nào. - -*Chỉ thị cấu hình có liên quan:* -- `general` -> `scan_kills` - -##### 11.3.2 NHẬT KÝ FRONT-END - -Loại nhật ký này liên quan đến cố gắng đăng nhập, và chỉ xảy ra khi người dùng cố gắng đăng nhập vào front-end (giả sử truy cập front-end được kích hoạt). - -Mục nhập nhật ký front-end chứa địa chỉ IP của người dùng đang cố gắng đăng nhập, ngày và giờ xảy ra điều này, và kết quả của cố gắng này (đăng nhập thành công, hoặc thành công không thành công). Mục nhập nhật ký front-end thường trông giống như thế này (làm ví dụ): - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - Đã đăng nhập. -``` - -*Chỉ thị cấu hình có liên quan:* -- `general` -> `frontend_log` - -##### 11.3.3 XOAY VÒNG NHẬT KÝ - -Bạn có thể muốn thanh lọc nhật ký sau một khoảng thời gian, hoặc có thể được yêu cầu làm như vậy theo luật pháp (khoảng thời gian được phép giữ nhật ký hợp pháp có thể bị giới hạn bởi luật pháp). Bạn có thể đạt được điều này bằng cách đưa dấu ngày/giờ vào tên tập tin nhật ký của bạn theo quy định của cấu hình gói của bạn (ví dụ, `{yyyy}-{mm}-{dd}.log`), và sau đó kích hoạt xoay vòng nhật ký (xoay vòng nhật ký cho phép bạn thực hiện một số hành động trên tập tin nhật ký khi vượt quá giới hạn được chỉ định). - -Ví dụ: Nếu tôi được yêu cầu xóa nhật ký sau 30 ngày theo pháp luật, tôi có thể chỉ định `{dd}.log` trong tên của tập tin nhật ký của tôi (`{dd}` đại diện cho ngày), đặt giá trị của `log_rotation_limit` để 30, và đặt giá trị của `log_rotation_action` để `Delete`. - -Ngược lại, nếu bạn được yêu cầu giữ lại nhật ký trong một khoảng thời gian dài, bạn có thể cân nhắc không sử dụng xoay vòng nhật ký, hoặc bạn có thể đặt giá trị của `log_rotation_action` để `Archive`, để nén tập tin nhật ký, do đó làm giảm tổng dung lượng đĩa mà họ chiếm. - -*Chỉ thị cấu hình có liên quan:* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 CẮT NGẮN NHẬT KÝ - -Cũng có thể cắt ngắn các tập tin nhật ký riêng lẻ khi chúng vượt quá một kích thước nhất định, nếu đây bạn có thể cần hay muốn làm. - -*Chỉ thị cấu hình có liên quan:* -- `general` -> `truncate` - -##### 11.3.5 PSEUDONYMISATION ĐỊA CHỈ IP - -Thứ nhất, nếu bạn không quen thuộc với thuật ngữ này, "pseudonymisation" đề cập đến việc xử lý dữ liệu cá nhân sao cho không thể xác định được dữ liệu cá nhân cho bất kỳ chủ đề dữ liệu cụ thể nào nữa trừ khi có thông tin bổ sung, và miễn là thông tin bổ sung đó được duy trì riêng biệt và phải chịu sự các biện pháp kỹ thuật và tổ chức để đảm bảo rằng dữ liệu cá nhân không thể được xác định cho bất kỳ người tự nhiên nào. - -Trong một số trường hợp, bạn có thể được yêu cầu về mặt pháp lý để sử dụng "anonymisation" hoặc "pseudonymisation" cho bất kỳ PII nào được thu thập, xử lý hoặc lưu trữ. Mặc dù khái niệm này đã tồn tại trong một thời gian khá lâu, GDPR/DSGVO đề cập đến, và đặc biệt khuyến khích "pseudonymisation". - -phpMussel có thể sử dụng "pseudonymisation" cho các địa chỉ IP khi nhật ký chúng vào bản ghi, nếu đây bạn có thể cần hay muốn làm. Khi phpMussel sử dụng "pseudonymisation" cho các địa chỉ IP, khi nhật ký chúng vào bản ghi, octet cuối cùng của địa chỉ IPv4, và mọi thứ sau phần thứ hai của địa chỉ IPv6 được đại diện bởi một "x" (hiệu quả làm tròn địa chỉ IPv4 đến địa chỉ đầu tiên của mạng con thứ 24 mà chúng đưa vào, và địa chỉ IPv6 đến địa chỉ đầu tiên của mạng con thứ 32 mà chúng đưa vào). - -*Chỉ thị cấu hình có liên quan:* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 SỐ LIỆU THỐNG KÊ - -phpMussel có thể tùy chọn theo dõi số liệu thống kê như tổng số tập tin được quét và bị chặn kể từ một số thời điểm cụ thể. Tính năng này được vô hiệu hóa theo mặc định, nhưng có thể được kích hoạt thông qua cấu hình gói. Tính năng này chỉ theo dõi tổng số sự kiện đã xảy ra và không bao gồm bất kỳ thông tin nào về các sự kiện cụ thể (và do đó, không nên được coi là PII). - -*Chỉ thị cấu hình có liên quan:* -- `general` -> `statistics` - -##### 11.3.7 MÃ HÓA - -phpMussel không mã hóa bộ nhớ cache của nó hoặc bất kỳ thông tin log nào. [Mã hóa](https://vi.wikipedia.org/wiki/M%C3%A3_h%C3%B3a) bộ nhớ cache và log có thể được giới thiệu trong tương lai, nhưng hiện tại không có bất kỳ kế hoạch cụ thể nào. Nếu bạn lo lắng về các bên thứ ba không được phép truy cập vào các phần của phpMussel có thể chứa thông tin nhận dạng cá nhân hay thông tin nhạy cảm như bộ nhớ cache hoặc nhật ký của nó, tôi khuyên bạn không nên cài đặt phpMussel tại vị trí có thể truy cập công khai (ví dụ, cài đặt phpMussel bên ngoài thư mục `public_html` tiêu chuẩn hoặc tương đương chúng có sẵn cho hầu hết các máy chủ web tiêu chuẩn) và các quyền hạn chế thích hợp sẽ được thực thi cho thư mục nơi nó cư trú (đặc biệt, cho thư mục vault). Nếu điều đó không đủ để giải quyết mối quan ngại của bạn, hãy định cấu hình phpMussel để các loại thông tin gây ra mối lo ngại của bạn sẽ không được thu thập hoặc nhật ký ở địa điểm đầu tiên (ví dụ, bằng cách tắt ghi nhật ký). - -#### 11.4 COOKIE - -Khi người dùng đăng nhập thành công vào front-end, phpMussel đặt [cookie](https://vi.wikipedia.org/wiki/Cookie_(tin_h%E1%BB%8Dc)) để có thể nhớ người dùng cho các yêu cầu tiếp theo (cookie được sử dụng để xác thực người dùng đến phiên đăng nhập). Trên trang đăng nhập, cảnh báo cookie được hiển thị nổi bật, cảnh báo người dùng rằng cookie sẽ được đặt nếu họ tham gia vào các hành động có liên quan. Cookie không được đặt ở bất kỳ điểm nào khác trong cơ sở mã. - -*Chỉ thị cấu hình có liên quan:* -- `general` -> `disable_frontend` - -#### 11.5 TIẾP THỊ VÀ QUẢNG CÁO - -phpMussel không thu thập hoặc xử lý bất kỳ thông tin nào cho mục đích tiếp thị hoặc quảng cáo, và không bán hoặc lợi nhuận từ bất kỳ thông tin được thu thập hoặc ghi lại nào. phpMussel không phải là một doanh nghiệp thương mại, cũng không liên quan đến bất kỳ lợi ích thương mại nào, do đó, làm những việc này sẽ không có ý nghĩa gì cả. Đây là trường hợp kể từ khi bắt đầu dự án, và tiếp tục là trường hợp ngày hôm nay. Ngoài ra, làm những việc này sẽ phản tác dụng với tinh thần và mục đích dự định của toàn bộ dự án, và miễn là tôi tiếp tục duy trì dự án, sẽ không bao giờ xảy ra. - -#### 11.6 CHÍNH SÁCH BẢO MẬT - -Trong một số trường hợp, bạn có thể được yêu cầu về mặt pháp lý để hiển thị rõ ràng liên kết đến chính sách bảo mật của bạn trên tất cả các trang và phần trong trang web của bạn. Điều này có thể quan trọng như một phương tiện để đảm bảo rằng người dùng được thông báo đầy đủ về các thực tiễn bảo mật chính xác của bạn, loại PII bạn thu thập, và cách bạn định sử dụng. Để có thể bao gồm một liên kết trên trang "Sự tải lên đã bị từ chối" của phpMussel, một chỉ thị cấu hình được cung cấp để chỉ định URL cho chính sách bảo mật của bạn. - -*Chỉ thị cấu hình có liên quan:* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -Quy định bảo vệ dữ liệu chung (GDPR) là một quy định của Liên minh châu Âu, có hiệu lực kể từ 25 Tháng Năm 2018. Mục tiêu chính của quy định là cung cấp quyền kiểm soát cho công dân và cư dân EU về dữ liệu cá nhân của riêng họ, và thống nhất quy định trong EU về quyền riêng tư và dữ liệu cá nhân. - -Quy định này bao gồm các điều khoản cụ thể liên quan đến việc xử lý "thông tin nhận dạng cá nhân" (PII) của bất kỳ "chủ đề dữ liệu" nào (bất kỳ người tự nhiên được xác định hoặc có thể nhận dạng được) từ hoặc trong EU. Để tuân thủ quy định, "enterprise" hoặc "doanh nghiệp" (theo quy định của quy định), và bất kỳ hệ thống và quy trình có liên quan nào phải ghi nhớ sự riêng tư ngay từ đầu, phải sử dụng cài đặt bảo mật cao nhất có thể, phải thực hiện các biện pháp bảo vệ thích hợp cho bất kỳ thông tin được lưu trữ hay xử lý nào (bao gồm nhưng không giới hạn trong việc thực hiện "pseudonymisation" hoặc "anonymisation" đầy đủ của dữ liệu), phải khai báo rõ ràng các loại dữ liệu mà họ thu thập, cách họ xử lý nó, vì lý do gì, trong bao lâu họ giữ nó, và nếu họ chia sẻ dữ liệu này với bất kỳ bên thứ ba nào, các loại dữ liệu được chia sẻ với bên thứ ba, cách, tại sao, vv. - -Dữ liệu có thể không được xử lý trừ khi có cơ sở hợp pháp để làm như vậy, theo quy định của quy định. Nói chung, điều này có nghĩa là để xử lý dữ liệu của chủ đề dữ liệu trên cơ sở hợp pháp, nó phải được thực hiện theo nghĩa vụ pháp lý, hoặc chỉ được thực hiện sau khi có sự đồng ý rõ ràng và đầy đủ thông tin đã được lấy từ chủ đề dữ liệu. - -Bởi vì các khía cạnh của quy định có thể phát triển trong thời gian, để tránh việc truyền bá thông tin lỗi thời, nó có thể là tốt hơn để tìm hiểu về các quy định từ một nguồn có thẩm quyền, trái ngược với việc chỉ bao gồm các thông tin có liên quan ở đây trong tài liệu gói (mà cuối cùng có thể trở nên lỗi thời khi quy định phát triển). - -Một số tài nguyên được khuyến khích để tìm hiểu thêm thông tin: -- [REGULATION (EU) 2016/679 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex:32016R0679) -- [Quy định bảo vệ dữ liệu chung](https://vi.wikipedia.org/wiki/Quy_%C4%91%E1%BB%8Bnh_b%E1%BA%A3o_v%E1%BB%87_d%E1%BB%AF_li%E1%BB%87u_chung) - ---- - - -Lần cuối cập nhật: 2022.05.23. diff --git a/v2-and-earlier/readme.zh-tw.md b/v2-and-earlier/readme.zh-tw.md deleted file mode 100644 index 0f1b28d..0000000 --- a/v2-and-earlier/readme.zh-tw.md +++ /dev/null @@ -1,1713 +0,0 @@ -## phpMussel v2 中文(傳統)文檔。 - -### 內容 -- 1. [前言](#SECTION1) -- 2. [如何安裝](#SECTION2) -- 3. [如何使用](#SECTION3) -- 4. [前端管理](#SECTION4) -- 5. [CLI(命令行界面)](#SECTION5) -- 6. [文件在包](#SECTION6) -- 7. [配置選項](#SECTION7) -- 8. [簽名格式](#SECTION8) -- 9. [已知的兼容問題](#SECTION9) -- 10. [常見問題(FAQ)](#SECTION10) -- 11. [法律信息](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. 前言 - -感謝使用phpMussel,​這是一個根據ClamAV的簽名和其他簽名在上傳完成後來自動檢測木馬/病毒/惡意軟件和其他可能威脅到您系統安全的文件的PHP腳本。 - -[PHPMUSSEL](https://phpmussel.github.io/) COPYRIGHT 2013 和走向未來 GNU/GPLv2 由 [Caleb M (Maikuolan)](https://github.com/Maikuolan)。 - -本腳本是基於GNU通用許可V2.0版許可協議發布的,​您可以在許可協議的允許範圍內自行修改和發布,​但請遵守GNU通用許可協議。​使用腳本的過程中,​作者不提供任何擔保和任何隱含擔保。​更多的細節請參見GNU通用公共許可證,​下的`LICENSE.txt`文件也可從訪問: -- 。 -- 。 - -謝謝[ClamAV](https://www.clamav.net/)為本腳本提供文件簽名庫訪問許可。​沒有它,​這個腳本很可能不會存在,​或者其價值有限。 - -謝謝SourceForge和Bitbucket和GitHub為項目託管,​還有謝謝這些組織為提供一些簽名:​[PhishTank](https://www.phishtank.com/),​[NLNetLabs](https://nlnetlabs.nl/),[Malware.Expert](https://malware.expert/),​等人。 - -現在phpMussel的代碼文件和關聯包可以從以下地址免費下載: -- [GitHub](https://github.com/phpMussel/phpMussel)。 -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel)。 -- [SourceForge](https://sourceforge.net/projects/phpmussel/)。 - ---- - - -### 2. 如何安裝 - -#### 2.0 安裝手工(WEB服務器) - -1) 在閱讀到這里之前,​我假設您已經下載腳本的一個副本,​已解壓縮其內容並保存在您的機器的某個地方。​現在,​您要決定將腳本放在您服務器上的哪些文件夾中,​例如`/public_html/phpmussel/`或其他任何您覺得滿意和安全的地方。​*上傳完成後,​繼續閱讀。​。​* - -2) 重命名`config.ini.RenameMe`到`config.ini`(位於內`vault`),​和如果您想(強烈推薦高級用戶,​但不推薦業餘用戶或者新手使用這個方法),​打開它(這個文件包含所有phpMussel的可用配置選項;以上的每一個配置選項應有一個簡介來說明它是做什麼的和它的具有的功能)。​按照您認為合適的參數來調整這些選項,​然後保存文件,​關閉。 - -3) 上傳(phpMussel和它的文件)到您選定的文件夾(不需要包括`*.txt`/`*.md`文件,​但大多數情況下,​您應上傳所有的文件)。 - -4) 修改的`vault`文件夾權限為『755』(如果有問題,​您可以試試『777』,​但是這是不太安全)。​注意,​主文件夾也應該是該權限,​如果遇上其他權限問題,​請修改對應文件夾和文件的權限。​簡而言之:為了使包正常工作,PHP需要能夠在`vault`目錄中讀寫文件。​如果PHP無法寫入`vault`目錄,那麼很多事情(更新,記錄等)都是不可能的,如果PHP無法從`vault`目錄中讀取,則包將無法正常工作。​但是,為了獲得最佳安全性,`vault`目錄不得公開訪問(如果`vault`目錄可公開訪問,敏感信息,例如`config.ini`或`frontend.dat`包含的信息,可能會暴露給潛在的攻擊者)。 - -5) 安裝您需要的任何簽名。​看到:[安裝簽名](#INSTALLING_SIGNATURES)。 - -6) 接下來,​您需要為您的系統或CMS設定啟動phpMussel的鉤子。​有幾種不同的方式為您的系統或CMS設定鉤子,​最簡單的是在您的系統或CMS的核心文件的開頭中使用`require`或`include`命令直接包含腳本(這個方法通常會導致在有人訪問時每次都加載)。​平時,​這些都是存儲的在文件夾中,​例如`/includes`,​`/assets`或`/functions`等文件夾,​和將經常被命名的某物例如`init.php`,​`common_functions.php`,​`functions.php`。​這是根據您自己的情況決定的,​並不需要完全遵守;如果您遇到困難,​參觀GitHub上的phpMussel issues頁面和/或訪問phpMussel支持論壇和發送問題;可能其他用戶或者我自己也有這個問題並且解決了(您需要讓我們您在使用哪些CMS)。​為了使用`require`或`include`,​插入下面的代碼行到最開始的該核心文件,​更換裡面的數據引號以確切的地址的`loader.php`文件(本地地址,​不是HTTP地址;它會類似於前面提到的vault地址)。 - -`` - -保存文件,​關閉,​重新上傳。 - --- 或替換 -- - -如果您使用Apache網絡服務器並且您可以訪問`php.ini`,​您可以使用該`auto_prepend_file`指令為任何PHP請求創建附上的phpMussel。​就像是: - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -或在該`.htaccess`文件: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) 到這裡,​您已經完成安裝,​現在您應測試phpMussel以確保它的正常運行!​為了保護系統中的文件(或者應該翻譯為保護上傳的文件),​可以嘗試通過常用的瀏覽器上傳的方式上傳包含在`.tests/samples`文件夾內的內容到您的網站。​(確保在`active`配置指令中包含`phpmussel*.*db`簽名文件,以便觸發測試文件)。​如果一切正常,​phpMussel應該出現阻止上傳信息,​如果出現什麼不正常情況例如您使用了其他高級的功能或使用的其它類型的掃描,​我建議嘗試它跟他們一起使用以確保都能工作正常。 - -#### 2.1 安裝手工(CLI) - -1) 在閱讀到這里之前,​我假設您已經下載腳本並且已經解壓縮並且保存在您指定的位置。 - -2) phpMussel需要PHP運行環境支持。​如果您沒有安裝PHP,​請安裝。 - -3) 自定義(強烈推薦高級用戶使用,​但不推薦新手或沒有經驗的用戶使用):打開`config.ini`(位於內`vault`) – 這個文件包含phpMussel所有的配置選項。​每選項應有一個簡評以說明它做什麼和它的功能。​按照您認為合適的參數調整這些選項,​然後保存文件,​關閉。 - -4) 您如果您創建一個批處理文件來自動加載的PHP和phpMussel,​那麼使用phpMussel的CLI模式將更加方便。​要做到這一點,​打開一個純文本編輯器例如Notepad或Notepad++,​輸入php.exe的完整路徑(注意是絕對路徑不是相對路徑),​其次是一個空格,​然後是`loader.php`的路徑(同php.exe),​最後,​保存此文件使用一個`.bat`擴展名放在常用的位置;在您指定的位置,​能通過雙擊您保存的`.bat`文件來調用phpMussel。 - -5) 安裝您需要的任何簽名。​看到:[安裝簽名](#INSTALLING_SIGNATURES)。 - -6) 到這裡,​您完成了CLI模式的安裝!​當然您應測試以確保正常運行。​如果要測試phpMussel,​請通過phpMussel嘗試掃描`.tests/samples`文件夾內提供的文件。 - -#### 2.2 與COMPOSER安裝 - -[phpMussel是在Packagist上](https://packagist.org/packages/phpmussel/phpmussel),​所以,​如果您熟悉Composer,​您可以使用Composer安裝phpMussel(您仍然需要準備配置,權限,簽名,和鉤子。參考『安裝手工(WEB服務器)』步驟2,4,5,和6)。 - -`composer require phpmussel/phpmussel` - -#### 2.3 安裝簽名 - -以來v1.0.0,簽名不包括在phpMussel包中。​phpMussel需要簽名來檢測特定的威脅。​安裝簽名有三種主要方法: - -1. 使用前端更新頁面自動安裝。 -2. 使用『SigTool』生成簽名並手動安裝。 -3. 從『phpMussel/Signatures』下載簽名並手動安裝。 - -##### 2.3.1 使用前端更新頁面自動安裝。 - -首先,您需要確保前端已啟用。 *看到:[前端管理](#SECTION4).* - -然後,所有您需要做的是轉到前端更新頁面,找到必要的簽名文件,並使用頁面上提供的選項,安裝它們並激活他們。 - -##### 2.3.2 使用『SigTool』生成簽名並手動安裝。 - -*看到:[SigTool文檔](https://github.com/phpMussel/SigTool#documentation).* - -*另請注意:SigTool僅處理來自ClamAV的簽名。為了獲得其他來源的簽名(例如,專門為phpMussel編寫的簽名,其中包括檢測phpMussel的測試樣本所必需的簽名),此方法將需要通過此處提到的其他方法之一進行補充。* - -##### 2.3.3 從『phpMussel/Signatures』下載簽名並手動安裝。 - -首先,去[phpMussel/Signatures](https://github.com/phpMussel/Signatures)。​存儲庫包含各種GZ壓縮的簽名文件。​下載所需的文件,解壓縮文件,並將解壓縮的文件複製到`/vault/signatures`目錄以進行安裝。​將文件的名稱放在`active`指令中(在您的phpMussel配置)來激活他們。 - ---- - - -### 3. 如何使用 - -#### 3.0 如何使用(對於WEB服務器) - -phpMussel應該能夠正確操作與最低要求從您:安裝後,​它應該立即開展工作和應該立即有用。 - -文件上傳掃描是自動的和按照設定規則激活的,​所以,​您不需要做任何額外的事情。 - -另外,​您能手動使用phpMussel掃描文件,​文件夾或存檔當您需要時。​要做到這一點,​首先,​您需要確保`config.ini`文件(`cleanup`【清理】必須關閉)的配置是正常的,​然後通過任何一個PHP文件的鉤子至phpMussel,​在您的代碼中添加以下代碼: - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan`可以是字符串,​數組,​或多維數組,​和表明什麼文件,​收集的文件,​文件夾和/或文件夾至掃描。 -- `$output_type`是布爾,​和表明什麼格式到回報掃描結果作為。​False【假/負】指示關於功能以回報掃描結果作為整數。​True【真/正】指示關於功能以回報掃描結果作為人類可讀文本。​此外,​在任一情況下,​結果可以訪問通過全局變量後掃描是完成。​變量是自選,​確定作為False【假/負】作為標準。​以下描述整數結果: - -| 結果 | 說明 | -|---|---| -| -4 | 表明由於加密而無法掃描數據。 | -| -3 | 表明問題是遇到關於phpMussel簽名文件。 | -| -2 | 表明損壞數據是檢測中掃描和因此掃描失敗完成。 | -| -1 | 表明擴展或插件需要通過PHP以經營掃描是失踪和因此掃描失敗完成。 | -| 0 | 表明掃描目標不存在和因此沒有任何事為掃描。 | -| 1 | 表明掃描目標是成功掃描和沒有任何問題檢測。 | -| 2 | 表明掃描目標是成功掃描和至少一些問題是檢測。 | - -- `$output_flatness`是布爾,​表明如果回報掃描結果(如果有多掃描目標)作為數組或字符串。​False【假/負】指示回報結果作為數組。​True【真/正】負】指示回報結果作為字符串。​變量是自選,​確定作為False【假/負】作為標準。 - -例子: - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -返回結果類似於(作為字符串): - -``` - Wed, 16 Sep 2013 02:49:46 +0000 開始。 - > 檢查 '/user_name/public_html/my_file.html': - -> 沒有任何問題發現。 - Wed, 16 Sep 2013 02:49:47 +0000 完了。 -``` - -對一個簽名類型進行完整的檢查測試以及phpMussel如何掃描和使用簽名文件,​請參閱【[簽名格式](#SECTION8)】部分的自述文件。 - -如果您遇到任何誤報,​如果您遇到無法檢測的新類型,​或者關於簽名的其他任何問題,​請聯繫我以便於後續的版本支持,​該,​如果您不聯繫我,​我可能不會知道並在下一版本中進行處理。 *(看到:[什麼是『假陽性』?​](#WHAT_IS_A_FALSE_POSITIVE))。​* - -如果您遇到誤報嚴重或者不需要檢測該簽名下的文件或者其他不需要使用簽名驗證的場景,​將要禁用的特定簽名的名稱添加到簽名灰名單文件(`/vault/greylist.csv`),被逗號隔開。 - -*也可以看看: [掃描時如何訪問文件的具體細節?](#SCAN_DEBUGGING)* - -#### 3.1 如何使用(CLI) - -請參考『安裝手工(CLI)』部分的這個自述文件。 - -還注意,​phpMussel是『*一經請求*』掃描程序;不是『*一經訪問*』掃描程序(除了文件上傳,​在上傳時候),​而不像傳統的防病毒套件,​它不監控活動內存!​它將會只檢測病毒從文件上傳,​而從那些具體文件您明確地告訴它需要掃描。 - ---- - - -### 4. 前端管理 - -#### 4.0 什麼是前端。 - -前端提供了一種方便,​輕鬆的方式來維護,​管理和更新phpMussel安裝。​您可以通過日誌頁面查看,​共享和下載日誌文件,​您可以通過配置頁面修改配置,​您可以通過更新頁面安裝和卸載組件,​和您可以通過文件管理器上傳,​下載和修改文件在vault。 - -默認情況是禁用前端,​以防止未授權訪問 (未授權訪問可能會對您的網站及其安全性造成嚴重後果)。​啟用它的說明包括在本段下面。 - -#### 4.1 如何啟用前端。 - -1) 裡面的`config.ini`文件,​找到指令`disable_frontend`,​並將其設置為`false` (默認值為`true`)。 - -2) 從瀏覽器訪問`loader.php` (例如,​`http://localhost/phpmussel/loader.php`)。 - -3) 使用默認用戶名和密碼(admin/password)登錄。 - -注意:第一次登錄後,​以防止未經授權的訪問前端,​您應該立即更改您的用戶名和密碼!​這是非常重要的,​因為它可以任意PHP代碼上傳到您的網站通過前端。 - -此外,為了獲得最佳安全性,強烈建議為所有前端帳戶啟用『雙因素身份驗證』(下面提供的說明)。 - -#### 4.2 如何使用前端。 - -每個前端頁面上都有說明,​用於解釋正確的用法和它的預期目的。​如果您需要進一步的解釋或幫助,​請聯繫支持。​另外,​YouTube上還有一些演示視頻。 - -#### 4.3 2FA(雙因素身份驗證) - -通過啟用雙因素身份驗證,可以使前端更安全。​當登錄使用2FA的帳戶時,會向與該帳戶關聯的電子郵件地址發送電子郵件。​此電子郵件包含『2FA代碼』,用戶必須輸入它(以及他們的用戶名和密碼),為了能夠使用該帳戶登錄。​這意味著獲取帳戶密碼不足以讓任何黑客或潛在攻擊者能夠帳戶登錄,因為他們還需要訪問帳戶的電子郵件地址才能接收和使用會話的2FA代碼(從而使前端更安全)。 - -首先,為了啟用雙因素身份驗證,請使用前端更新頁面來安裝PHPMailer組件。​phpMussel使用PHPMailer發送電子郵件。​注意:雖然phpMussel本身與`PHP >= 5.4.0`兼容,但PHPMailer需要`PHP >= 5.5.0`,因此,對於PHP 5.4用戶來說,無法為phpMussel前端啟用雙因素身份驗證。 - -在安裝PHPMailer後,您需要通過phpMussel配置頁面或配置文件填充PHPMailer的配置指令。​有關這些配置指令的更多信息包含在本文檔的配置部分中。​在填充PHPMailer配置指令後,將`enable_two_factor`設置為`true`。​現在應啟用雙因素身份驗證。 - -接下來,您需要讓phpMussel知道在使用該帳戶登錄時將2FA代碼發送到何處。​為此,請使用電子郵件地址作為帳戶的用戶名(例如,`foo@bar.tld`),或者將電子郵件地址作為用戶名的一部分包括在內,就像通常發送電子郵件一樣(例如,`Foo Bar `)。 - -注意:保護您的vault免受未經授權的訪問(例如,通過加強服務器的安全性和限制公共訪問權限)在此非常重要,因為未經授權訪問您的配置文件(存儲在您的vault中)可能會暴露您的出站SMTP設置(包括SMTP用戶名和密碼)。​在啟用雙因素身份驗證之前,應確保您的vault已正確保護。​如果您無法做到這一點,那麼至少應該創建一個專門用於此目的的新電子郵件帳戶,為了降低與暴露的SMTP設置相關的風險。 - ---- - - -### 5. CLI(命令行界面) - -在Windows系統上phpMussel在CLI模式可以作為一個互動文件執行掃描。​參考【如何安裝(對於CLI)】部分的這個自述文件為更信息。 - -為一個列表的可用CLI命令,​在CLI提示,​鍵入【c】,​和按Enter鍵。 - -另外,​對於那些有興趣,​一個視頻教程如何使用phpMussel在命令行模式是可在這裡: -- - ---- - - -### 6. 文件在包 - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. 配置選項 - -下列是一個列表的變量發現在`config.ini`配置文件的phpMussel,​以及一個說明的他們的目的和功能。 - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### 『general』 (類別) -基本phpMussel配置。 - -##### 『cleanup』 -- 掃描上傳後,銷毀變量和緩存?​False(假)=不要銷毀。​True(真)=銷毀【標準】。​如果您不使用該腳本進行掃描上傳以外的任何操作,您應該將其設置為`true`以最小化內存使用量。​否則,您應該將其設置為`false`,以便在內存中保留執行phpMussel所需的數據,而無需不必要地重新加載它。 -- 無影響在CLI模式。 - -##### 『scan_log』 -- 文件為記錄在所有掃描結果。​指定一個文件名,​或留空以關閉。 - -##### 『scan_log_serialized』 -- 文件為記錄在所有掃描結果(它採用序列化格式)。​指定一個文件名,​或留空以關閉。 - -##### 『scan_kills』 -- 文件為記錄在所有受阻或已殺上傳。​指定一個文件名,​或留空以關閉。 - -*有用的建議:如果您想,​可以追加日期/時間信息至附加到你的日誌文件的名稱通過包括這些中的名稱:`{yyyy}` 為今年完整,​`{yy}` 為今年縮寫,​`{mm}` 為今月,​`{dd}` 為今日,​`{hh}` 為今小時。​* - -*例子:* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### 『error_log』 -- 用於記錄檢測到的任何非致命錯誤的文件。​指定一個文件名,​或留空以禁用。 - -##### 『truncate』 -- 截斷日誌文件當他們達到一定的大小嗎?​值是在B/KB/MB/GB/TB,​是日誌文件允許的最大大小直到它被截斷。​默認值為『0KB』將禁用截斷(日誌文件可以無限成長)。​注意:適用於單個日誌文件!​日誌文件大小不被算集體的。 - -##### 『log_rotation_limit』 -- 日誌輪轉限制了任何時候應該存在的日誌文件的數量。​當新的日誌文件被創建時,如果日誌文件的指定的最大數量已經超過,將執行指定的操作。​您可以在此指定所需的限制。​值為『0』將禁用日誌輪轉。 - -##### 『log_rotation_action』 -- 日誌輪轉限制了任何時候應該存在的日誌文件的數量。​當新的日誌文件被創建時,如果日誌文件的指定的最大數量已經超過,將執行指定的操作。​您可以在此處指定所需的操作。​『Delete』=刪除最舊的日誌文件,直到不再超出限制。​『Archive』=首先歸檔,然後刪除最舊的日誌文件,直到不再超出限制。 - -*技術澄清:在這種情況下,『最舊』意味著『不是最近被修改』。* - -##### 『timezone』 -- 這用於指定phpMussel應用於日期/時間操作的時區。​如果您不需要它,請忽略它。​可能的值由PHP確定。​它一般建議,​而不是,​調整時區指令的文件`php.ini`,​但是有時(例如,​當利用有限的共享主機提供商)這並不總是可能做到,​所以,​此選項在這裡是提供。 - -##### 『time_offset』 -- *v1: 『timeOffset』* -- 如果您的服務器時間不符合您的本地時間,​您可以在這裡指定的偏移調整日期/時間信息該產生通過phpMussel根據您的需要。​它一般建議,​而不是,​調整時區指令的文件`php.ini`,​但是有時(例如,​當利用有限的共享主機提供商)這並不總是可能做到,​所以,​此選項在這裡是提供。​偏移量是在分鐘。 -- 例子(添加1小時):`time_offset=60` - -##### 『time_format』 -- *v1: 『timeFormat』* -- phpMussel使用的日期符號格式。​標準 = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`。 - -##### 『ipaddr』 -- 在哪裡可以找到連接請求IP地址?​(可以使用為服務例如Cloudflare和類似)標準是`REMOTE_ADDR`。​警告!​不要修改此除非您知道什麼您做著! - -『ipaddr』的推薦值: - -值 | 運用 ----|--- -`HTTP_INCAP_CLIENT_IP` | Incapsula反向代理。 -`HTTP_CF_CONNECTING_IP` | Cloudflare反向代理。 -`CF-Connecting-IP` | Cloudflare反向代理(替代;如果另一個不工作)。 -`HTTP_X_FORWARDED_FOR` | Cloudbric反向代理。 -`X-Forwarded-For` | [Squid反向代理](http://www.squid-cache.org/Doc/config/forwarded_for/)。 -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*由服務器配置定義。​* | [Nginx反向代理](https://www.nginx.com/resources/admin-guide/reverse-proxy/)。 -`REMOTE_ADDR` | 沒有反向代理(默認值)。 - -##### 『enable_plugins』 -- 啟用phpMussel插件支持嗎?​False(假)=不要啟用;​True(真)=要啟用【標準】。 - -##### 『forbid_on_block』 -- phpMussel應該發送`403`頭隨著文件上傳受阻信息,​或堅持標準`200 OK`?​False(假)=發送`200`;True(真)=發送`403`【標準】。 - -##### 『unsupported_media_type_header』 -- 當上傳因列入黑名單的文件類型而被阻止時,phpMussel是否應該發送415標頭?​如果為true(真),此設置將取代`forbid_on_block`。​False(假)=不發送【標準】;True(真)=發送。 - -##### 『delete_on_sight』 -- 激活的這個指令將指示腳本馬上刪除任何掃描文件上傳匹配任何檢測標準,​是否通過簽名或任何事其他。​文件已確定是清潔將會忽略。​如果是存檔,​全存檔將會刪除,​不管如果違規文件是只有一個的幾個文件包含在存檔。​為文件上傳掃描,​按說,​它不必要為您激活這個指令,​因為按說,​PHP將自動清洗內容的它的緩存當執行是完,​意思它將按說刪除任何文件上傳從它向服務器如果不已移動,​複製或刪除。​這個指令是添加這里為額外安全為任何人誰的PHP副本可能不始終表現在預期方式。​False【假/負】:之後掃描,​忽略文件【標準】,​True【真/正】:之後掃描,​如果不清潔,​馬上刪除。 - -##### 『lang』 -- 指定標準phpMussel語言。 - -##### 『lang_override』 -- 盡可能根據HTTP_ACCEPT_LANGUAGE進行本地化?True(真)=進行本地化【標準】;False(假)=不要本地化。 - -##### 『numbers』 -- 指定如何顯示數字。 - -目前支持的值: - -值 | 產生 | 描述 ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | 默認值。 -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*注意:​這些值在任何地方都不是標準化的,並超出包裹且可能不會相關性。​此外,支持的值可能會在未來發生變化。* - -##### 『quarantine_key』 -- phpMussel可以檢疫壞文件上傳在隔離在phpMussel的安全/保險庫【Vault】,​如果這個是某物您想。​普通用戶的phpMussel簡單地想保護他們的網站或宿主環境無任何興趣在深深分析任何嘗試文件上傳應該離開這個功能關閉,​但任何用戶有興趣在更深分析的嘗試文件上傳為目的惡意軟件研究或為類似這樣事情應該激活這個功能。​檢疫的嘗試文件上傳可以有時還助攻在調試假陽性,​如果這個是某物經常發生為您。​以關閉檢疫功能,​簡單地離開`quarantine_key`指令空白,​或抹去內容的這個指令如果它不已空白。​以激活隔離功能,​輸入一些值在這個指令。​`quarantine_key`是一個重要安全功能的隔離功能需要以預防檢疫功能從成為利用通過潛在攻擊者和以預防任何潛在執行的數據存儲在檢疫。​`quarantine_key`應該被處理在同樣方法作為您的密碼:更長是更好,​和緊緊保護它。​為獲得最佳效果,​在結合使用`delete_on_sight`。 - -##### 『quarantine_max_filesize』 -- 最大允許文件大小為文件在檢疫。​文件大於這個指定數值將不成為檢疫。​這個指令是重要為使它更難為任何潛在攻擊者洪水您的檢疫用非通緝數據潛在的造成過度數據用法在您的虛擬主機服務。​標準=2MB。 - -##### 『quarantine_max_usage』 -- 最大內存使用允許為檢疫。​如果總內存已用通過隔離到達這個數值,​最老檢疫文件將會刪除直到總內存已用不再到達這個數值。​這個指令是重要為使它更難為任何潛在攻擊者洪水您的檢疫用非通緝數據潛在的造成過度數據用法在您的虛擬主機服務。​數值是在KB。​標準=64MB。 - -##### 『quarantine_max_files』 -- 隔離中可以存在的最大文件數量。​新文件添加到隔離時,如果超過此數量,則舊文件將被刪除,直到剩餘的文件不再超過此數量。​標準=100。 - -##### 『honeypot_mode』 -- 當這個指令(蜜罐模式)是激活,​phpMussel將嘗試檢疫所有文件上傳它遇到,​無論的如果文件上傳是匹配任何包括簽名,​和沒有掃描或分析的那些文件上傳將發生。​這個功能應有用為那些想使用的phpMussel為目的病毒或惡意軟件研究,​但它是不推薦激活這個功能如果預期的用的phpMussel通過用戶是為標準文件上傳掃描,​也不推薦使用蜜罐功能為目的以外蜜罐。​作為標準,​這個指令是關閉。​False(假)=是關閉【標準】;​True(真)=是激活。 - -##### 『scan_cache_expiry』 -- 多長時間應該phpMussel維持掃描結果?​數值是秒數為維持掃描結果。​標準是21600秒(6小時);​一個`0`數值將停止維持掃描結果。 - -##### 『disable_cli』 -- 關閉CLI模式嗎?​CLI模式是按說激活作為標準,​但可以有時干擾某些測試工具(例如PHPUnit,​為例子)和其他基於CLI應用。​如果您沒有需要關閉CLI模式,​您應該忽略這個指令。​False(假)=激活CLI模式【標準】;​True(真)=關閉CLI模式。 - -##### 『disable_frontend』 -- 關閉前端訪問嗎?​前端訪問可以使phpMussel更易於管理,​但也可能是潛在的安全風險。​建議管理phpMussel通過後端只要有可能,​但前端訪問提供當不可能。​保持關閉除非您需要它。​False(假)=激活前端訪問;​True(真)=關閉前端訪問【標準】。 - -##### 『max_login_attempts』 -- 最大前端登錄嘗試次數。​標準=5。 - -##### 『frontend_log』 -- *v1: 『FrontEndLog』* -- 前端登錄嘗試的錄音文件。​指定一個文件名,​或留空以禁用。 - -##### 『disable_webfonts』 -- 關閉網絡字體嗎?​True(真)=關閉【標準】;False(假)=不關閉。 - -##### 『maintenance_mode』 -- 啟用維護模式?​True(真)=關閉;​False(假)=不關閉【標準】。​它停用一切以外前端。​有時候在更新CMS,框架,等時有用。 - -##### 『default_algo』 -- 定義要用於所有未來密碼和會話的算法。​選項:​PASSWORD_DEFAULT(標準),​PASSWORD_BCRYPT,​PASSWORD_ARGON2I(需要PHP >= 7.2.0),​PASSWORD_ARGON2ID(需要PHP >= 7.3.0)。 - -##### 『statistics』 -- 跟踪phpMussel使用情況統計?​True(真)=跟踪;False(假)=不跟踪【標準】。 - -##### 『hide_version』 -- 從日誌和頁面輸出中隱藏版本信息嗎?​True(真)=關閉;False(假)=不關閉【標準】。 - -##### 『disabled_channels』 -- 這可用於防止phpMussel在發送請求時使用特定通道(例如,在更新時,在獲取組件元數據時,等等)。 - -##### 『default_timeout』 -- 用於外部請求的默認超時? 標準 = 12秒。 - -#### 『signatures』 (類別) -簽名配置。 - -##### 『active』 -- *v1: 『Active』* -- 活性簽名文件的列表,​以逗號分隔。 - -*注意:* -- *首先必須安裝簽名文件,然後才能激活它們。* -- *為了使測試文件正常工作,必須安裝並激活簽名文件。* -- *該指令的值存儲在緩存中。​更改後,要使更改生效,您可能需要刪除緩存。* - -##### 『fail_silently』 -- phpMussel應該報告當簽名文件是失踪或損壞嗎?​如果`fail_silently`是關閉,​失踪和損壞文件將會報告當掃描,​和如果`fail_silently`是激活,​失踪和損壞文件將會忽略,​有掃描報告為那些文件哪裡沒有問題。​這個應該按說被留下除非您遇到失敗或有其他類似問題。​False(假)=是關閉;​True(真)=是激活【默認】。 - -##### 『fail_extensions_silently』 -- phpMussel應該報告當擴展是失踪嗎?​如果`fail_extensions_silently`是關閉,​失踪擴展將會報告當掃描,​和如果`fail_extensions_silently`是激活,​失踪擴展將會忽略,​有掃描報告為那些文件哪裡沒有任何問題。​關閉的這個指令可能的可以增加您的安全,​但可能還導致一個增加的假陽性。​False(假)=是關閉;​True(真)=是激活【默認】。 - -##### 『detect_adware』 -- phpMussel應該使用簽名為廣告軟件檢測嗎?​False(假)=不檢查,​True(真)=檢查【默認】。 - -##### 『detect_joke_hoax』 -- phpMussel應該使用簽名為病毒/惡意軟件笑話/惡作劇檢測嗎?​False(假)=不檢查,​True(真)=檢查【默認】。 - -##### 『detect_pua_pup』 -- phpMussel應該使用簽名為PUP/PUA(可能無用/非通緝程序/軟件)檢測嗎?​False(假)=不檢查,​True(真)=檢查【默認】。 - -##### 『detect_packer_packed』 -- phpMussel應該使用簽名為打包機和打包數據檢測嗎?​False(假)=不檢查,​True(真)=檢查【默認】。 - -##### 『detect_shell』 -- phpMussel應該使用簽名為webshell腳本檢測嗎?​False(假)=不檢查,​True(真)=檢查【默認】。 - -##### 『detect_deface』 -- phpMussel應該使用簽名為污損的污損軟件檢測嗎?​False(假)=不檢查,​True(真)=檢查【默認】。 - -##### 『detect_encryption』 -- phpMussel應該檢測並阻止加密的文件嗎?​False(假)=不檢查,​True(真)=檢查【默認】。 - -#### 『files』 (類別) -文件處理配置。 - -##### 『max_uploads』 -- 最大允許數值的文件為掃描當文件上傳掃描之前中止掃描和告訴用戶他們是上傳太多在同一時間!​提供保護針對一個理論攻擊哪裡一個攻擊者嘗試DDoS您的系統或CMS通過超載phpMussel以減速PHP進程到一個停止。​推薦:10。​您可能想增加或減少這個數值,​根據速度的您的硬件。​注意這個數值不交待為或包括存檔內容。 - -##### 『filesize_limit』 -- 文件大小限在KB。​65536=64MB【默認】,​0=沒有限(始終灰名單),​任何正數值接受。​這個可以有用當您的PHP配置限內存量一個進程可以佔據或如果您的PHP配置限文件大小的上傳。 - -##### 『filesize_response』 -- 如何處理文件超過文件大小限(如果存在)。​False(假)=白名單;​True(真)=黑名單【默認】。 - -##### 『filetype_whitelist』, 『filetype_blacklist』, 『filetype_greylist』 -- 如果您的系統只允許具體文件類型被上傳,​或如果您的系統明確地否認某些文件類型,​指定那些文件類型在白名單,​黑名單和灰名單可以增加掃描執行速度通過允許腳本跳過某些文件類型。​格式是CSV(逗號分隔變量)。​如果您想掃描一切,​而不是白名單,​黑名單或灰名單,​留變量空;這樣做將關閉白名單/黑名單/灰名單。 -- 進程邏輯順序是: - - 如果文件類型已白名單,​不掃描和不受阻文件,​和不匹配文件對照黑名單或灰名單。 - - 如果文件類型已黑名單,​不掃描文件但阻止它無論如何,​和不匹配文件對照灰名單。 - - 如果灰名單是空,​或如果灰名單不空和文件類型已灰名單,​掃描文件像正常和確定如果阻止它基於掃描結果,​但如果灰名單不空和文件類型不灰名單,​過程文件彷彿已黑名單,​因此不掃描它但阻止它無論如何。 - -##### 『check_archives』 -- 嘗試匹配存檔內容嗎?​False(假)=不匹配;​True(真)=匹配【默認】。 - -格式 | 可以讀取 | 可以遞歸地讀取 | 可以檢測加密 | 筆記 ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | 需要[libzip](https://secure.php.net/manual/en/zip.requirements.php)(通常與PHP捆綁在一起)。 也支持(使用zip格式): ✔️ OLE對象檢測。 ✔️ Office宏檢測。 -Tar | ✔️ | ✔️ | ➖ | 沒有特殊需要。格式不支持加密。 -Rar | ✔️ | ✔️ | ✔️ | 需要[rar](https://pecl.php.net/package/rar)擴展(當沒有安裝此擴展時,phpMussel無法讀取rar文件)。 -Phar | ❌ | ❌ | ❌ | 由於安全考慮,在v1.6.0中刪除了讀取phar文件的支持,並且不會再次添加。 - -*如果有人能夠並願意幫助實施其他存檔格式的支持,那麼這種幫助將邀請並非常歡迎。* - -##### 『filesize_archives』 -- 繼承文件大小黑名單/白名單在存檔內容嗎?​False(假)=不繼承(剛灰名單一切);​True(真)=繼承【默認】。 - -##### 『filetype_archives』 -- 繼承文件類型黑名單/白名單在存檔內容嗎?​False(假)=不繼承(剛灰名單一切)【默認】;​True(真)=繼承。 - -##### 『max_recursion』 -- 最大存檔遞歸深度限。​默認=3。 - -##### 『block_encrypted_archives』 -- 檢測和受阻加密的存檔嗎?​因為phpMussel是不能夠掃描加密的存檔內容,​它是可能存檔加密可能的可以使用通過一個攻擊者作為一種手段嘗試繞過phpMussel,​殺毒掃描儀和其他這樣的保護。​指示phpMussel受阻任何存檔它發現被加密可能的可以幫助減少任何風險有關聯這些可能性。​False(假)=不受阻;​True(真)=受阻【默認】。 - -##### 『max_files_in_archives』 -- 在中止掃描之前從檔案中掃描的最大文件數。​默認=0(沒有最大文件數)。 - -#### 『attack_specific』 (類別) -專用攻擊指令。 - -變色龍攻擊檢測:False(假)=是關閉;​True(真)=是激活。 - -##### 『chameleon_from_php』 -- 尋找PHP頭在文件是不PHP文件也不認可存檔文件。 - -##### 『can_contain_php_file_extensions』 -- 允許包含PHP代碼的文件擴展名列表,以逗號分隔。​如果啟用了PHP變色龍攻擊檢測,包含PHP代碼的文件,其擴展名不在此列表中,將被檢測為PHP變色龍攻擊。 - -##### 『chameleon_from_exe』 -- 尋找可執行頭在文件是不可執行文件也不認可存檔文件和尋找可執行文件誰的頭是不正確。 - -##### 『chameleon_to_archive』 -- 檢測在存檔和壓縮文件中的錯誤標頭。已支持:BZ/BZIP2,GZ/GZIP,LZF,RAR,ZIP。 - -##### 『chameleon_to_doc』 -- 尋找辦公文檔誰的頭是不正確(已支持:DOC,​DOT,​PPS,​PPT,​XLA,​XLS,​WIZ)。 - -##### 『chameleon_to_img』 -- 尋找圖像誰的頭是不正確(已支持:BMP,​DIB,​PNG,​GIF,​JPEG,​JPG,​XCF,​PSD,​PDD,​WEBP)。 - -##### 『chameleon_to_pdf』 -- 尋找PDF文件誰的頭是不正確。 - -##### 『archive_file_extensions』 -- 認可存檔文件擴展(格式是CSV;應該只添加或去掉當問題發生;不必要的去掉可能的可以導致假陽性出現為存檔文件,​而不必要的增加將實質上白名單任何事您增加從專用攻擊檢測;修改有慎重;還請注這個無影響在什麼存檔可以和不能被分析在內容級)。​這個名單,​作為是作為標準,​名單那些格式使用最常見的橫過多數的系統和CMS,​但有意是不全面。 - -##### 『block_control_characters』 -- 受阻任何文件包含任何控製字符嗎(以外換行符)?​(`[\x00-\x08\x0b\x0c\x0e\x1f\x7f]`) 如果您只上傳純文本,​您可以激活這個指令以提供某些另外保護在您的系統。​然而,​如果您上傳任何事以外純文本,​激活這個可能結果在假陽性。​False(假)=不受阻【默認】;​True(真)=受阻。 - -##### 『corrupted_exe』 -- 損壞文件和處理錯誤。​False(假)=忽略;​True(真)=受阻【默認】。​檢測和受阻潛在的損壞移植可執行【PE】文件嗎?​時常(但不始終),​當某些零件的一個移植可執行【PE】文件是損壞或不能被正確處理,​它可以建議建議的一個病毒感染。​過程使用通過最殺毒程序以檢測病毒在PE文件需要處理那些文件在某些方式,​哪裡,​如果程序員的一個病毒是意識的,​將特別嘗試防止,​以允許他們的病毒留不檢測。 - -##### 『decode_threshold』 -- 在原始數據中解碼命令的長度限制(如果有任何引人注目性能問題當掃描)。​默認=512KB。​零或空值將關閉門檻(去除任何這樣的限基於文件大小)。 - -##### 『scannable_threshold』 -- 原始數據讀取和掃描的最大長度(如果有任何引人注目性能問題當掃描)。​默認=32MB。​零或空值將關閉門檻。​按說,​這個數值應不會少於平均文件大小的文件上傳您想和期待收到您的服務器或網站,​應不會多於`filesize_limit`指令,​和應不會多於大致五分之一的總允許內存分配獲授PHP通過`php.ini`配置文件。​這個指令存在為嘗試防止phpMussel從用的太多內存(這個將防止它從能夠順利掃描文件以上的一個特別文件大小)。 - -##### 『allow_leading_trailing_dots』 -- 允許文件名中的前導和尾隨點嗎?​這有時可用於隱藏文件,或欺騙某些系統允許目錄遍歷。​False(假)=不允許【默認】;True(真)=允許。 - -##### 『block_macros』 -- 嘗試阻止任何包含宏的文件嗎?​某些文檔和電子表格類型可能包含可執行的宏,因此提供了危險的潛在惡意軟件向量。​False(假)=不阻止【默認】;​True(真)=阻止。 - -#### 『compatibility』 (類別) -phpMussel兼容性指令。 - -##### 『ignore_upload_errors』 -- 這個指令按說應會關閉除非它是需要為對功能的phpMussel在您的具體系統。​按說,​當是關閉,​當phpMussel檢測存在元素在`$_FILES`數組,​它將嘗試引發一個掃描的文件代表通過那些元素,​和,​如果他們是空或空白,​phpMussel將回報一個錯誤信息。​這個是正確行為為phpMussel。​然而,​為某些CMS,​空元素在`$_FILES`可以發生因之的自然的行為的那些CMS,​或錯誤可能會報告當沒有任何,​在這種情況,​正常行為為phpMussel將會使乾擾為正常行為的那些CMS。​如果這樣的一個情況發生為您,​激活這個指令將指示phpMussel不嘗試引發掃描為這樣的空元素,​忽略他們當發現和不回報任何關聯錯誤信息,​從而允許延續的頁面請求。​False(假)=不忽略;​True(真)=忽略。 - -##### 『only_allow_images』 -- 設置為true時,掃描儀遇到的任何非圖像文件將被立即標記,而不會被掃描。​在某些情況下,這可能有助於減少完成掃描所需的時間。​默認情況下設置為false。 - -#### 『heuristic』 (類別) -啟發式指令。 - -##### 『threshold』 -- 有某些簽名的phpMussel意味為確定可疑和可能惡意文件零件被上傳有不在他們自己確定那些文件被上傳特別是作為惡意。​這個『threshold』數值告訴phpMussel什麼是最大總重量的可疑和潛在惡意文件零件被上傳允許之前那些文件是被識別作為惡意。​定義的重量在這個上下文是總數值的可疑和可能惡意文件零件確定。​作為默認,​這個數值將會設置作為3。​一個較低的值通常將結果在一個更高的發生的假陽性但一個更高的發生的惡意文件被確定,​而一個更高的數值將通常結果在一個較低的發生的假陽性但一個較低的數值的惡意文件被確定。​它是通常最好忽略這個數值除非您遇到關聯問題。 - -#### 『virustotal』 (類別) -VirusTotal.com指令。 - -##### 『vt_public_api_key』 -- 可選的,​phpMussel可以掃描文件使用【Virus Total API】作為一個方法提供一個顯著的改善保護級別針對病毒,​木馬,​惡意軟件和其他威脅。​作為默認,​掃描文件使用【Virus Total API】是關閉。​以激活它,​一個API密鑰從Virus Total是需要。​因為的顯著好處這個可以提供為您,​它是某物我很推薦激活。​請注意,​然而,​以使用的【Virus Total API】,​您必須同意他們的服務條款和您必須堅持所有方針按照說明通過Virus Total閱讀材料!​您是不允許使用這個積分功能除非: - - 您已閱讀和您同意服務條款的Virus Total和它的API。​服務條款的Virus Total和它的API可以發現[這裡](https://www.virustotal.com/en/about/terms-of-service/)。 - - 您已閱讀和您了解至少序言的Virus Total公共API閱讀材料(一切之後『VirusTotal Public API v2.0』但之前『Contents』)。​Virus Total公共API閱讀材料可以發現[這裡](https://www.virustotal.com/en/documentation/public-api/)。 - -請注意:如果掃描文件使用【Virus Total API】是關閉,​您不需要修改任何指令在這個類別(`virustotal`),​因為沒有人將做任何事如果這個是關閉。​以獲得一個Virus Total API密鑰,​從隨地在他們的網站,​點擊『進入我們的社區』連接位於朝向右上方的頁面,​輸入在信息請求,​和點擊『註冊』在做完。​跟隨所有指令提供,​和當您有您的公共API密鑰,​複製/粘貼您的公共API密鑰到`vt_public_api_key`指令的`config.ini`配置文件。 - -##### 『vt_suspicion_level』 -- 作為標準,​phpMussel將限制什麼文件它掃描通過使用【Virus Total API】為那些文件它考慮作為『可疑』。​您可以可選調整這個局限性通過修改的`vt_suspicion_level`指令數值。 -- `0`:文件是只考慮可疑如果,​當被掃描通過phpMussel使用它自己的簽名,​他們是認為有一個啟發式重量。​這個將有效意味使用的【Virus Total API】將會為一個第二個意見為當phpMussel懷疑一個文件可能的是惡意,​但不能完全排除它可能還可能的被良性(非惡意)和因此將否則按說不受阻它或標誌它作為被惡意。 -- `1`:文件是考慮可疑如果,​當被掃描通過phpMussel使用它自己的簽名,​他們是認為有一個啟發式重量,​如果他們是已知被可執行(PE文件,​Mach-O文件,​ELF/Linux文件,​等等),​或如果他們是已知被的一個格式潛在的包含可執行數據(例如可執行宏,​DOC/DOCX文件,​存檔文件例如RAR格式,​ZIP格式和等等)。​這個是標準和推薦可疑級別到使用,​有效意味使用的【Virus Total API】將會為一個第二個意見為當phpMussel不原來發現任何事惡意或錯在一個文件它考慮被可疑和因此將否則按說不受阻它或標誌它作為被惡意。 -- `2`:所有文件是考慮可疑和應會掃描使用【Virus Total API】。​我通常不推薦應用這個可疑級別,​因為風險的到達您的API配額更快,​但存在某些情況(例如當網站管理員或主機管理員有很少信仰或信任在任何的內容上傳從他們的用戶)哪裡這個可疑級別可以被適當。​有使用的這個可疑級別,​所有文件不按說受阻或標誌是作為被惡意將會掃描使用【Virus Total API】。​請注意,​然而,​phpMussel將停止使用【Virus Total API】當您的API配額是到達(無論的可疑級別),​和您的配額將會容易更快當使用這個可疑級別。 - -請注意:無論的可疑級別,​任何文件任一已黑名單或已白名單通過phpMussel不會掃描使用【Virus Total API】,​因為那些文件將會已標誌作為惡意或良性通過phpMussel到的時候他們將會否則掃描通過【Virus Total API】,​和因此,​另外掃描不會需要。​能力的phpMussel掃描文件使用【Virus Total API】是意味為建更置信為如果一個文件是惡意或良性在那些情況哪裡phpMussel是不完全確定如果一個文件是惡意或良性。 - -##### 『vt_weighting』 -- phpMussel應使用掃描結果使用【Virus Total API】作為檢測或作為檢測重量嗎?​這個指令存在,​因為,​雖說掃描一個文件使用多AV引擎(例如怎麼樣Virus Total做) 應結果有一個增加檢測率(和因此在一個更惡意文件被抓),​它可以還結果有更假陽性,​和因此,​為某些情況,​掃描結果可能被更好使用作為一個置信得分而不是作為一個明確結論。​如果一個數值的`0`是使用,​掃描結果使用【Virus Total API】將會適用作為檢測,​和因此,​如果任何AV引擎使用通過Virus Total標致文件被掃描作為惡意,​phpMussel將考慮文件作為惡意。​如果任何其他數值是使用,​掃描結果使用【Virus Total API】將會適用作為檢測重量,​和因此,​數的AV引擎使用通過Virus Total標致文件被掃描作為惡意將服務作為一個置信得分(或檢測重量) 為如果文件被掃描應會考慮惡意通過phpMussel(數值使用將代表最低限度的置信得分或重量需要以被考慮惡意)。​一個數值的`0`是使用作為標準。 - -##### 『vt_quota_rate』和『vt_quota_time』 -- 根據【Virus Total API】閱讀材料,​它是限於最大的`4`請求的任何類型在任何`1`分鐘大致時間。​如果您經營一個『honeyclient』,​蜜罐或任何其他自動化將會提供資源為Virus Total和不只取回報告您是有權一個更高請求率配額。​作為標準,​phpMussel將嚴格的堅持這些限制,​但因為可能性的這些率配額被增加,​這些二指令是提供為您指示phpMussel為什麼限它應堅持。​除非您是指示這樣做,​它是不推薦為您增加這些數值,​但,​如果您遇到問題相關的到達您的率配額,​減少這些數值可能有時幫助您解析這些問題。​您的率限是決定作為`vt_quota_rate`請求的任何類型在任何`vt_quota_time`分鐘大致時間。 - -#### 『urlscanner』 (類別) -phpMussel包含URL掃描程序,​能夠檢測惡意URL在任何數據或文件它掃描。 - -請注意:如果URL掃描儀已關閉,​您將不需要復習任何指令在這個類別(`urlscanner`),​因為沒有指令會做任何事如果這個已關閉。 - -URL掃描儀API配置。 - -##### 『google_api_key』 -- 激活Google Safe Browsing API當API密鑰是設置。​Google Safe Browsing API需要API密鑰,​可以得到從[這裡](https://console.developers.google.com/)。 -- 請注意:cURL擴展是必須的為了使用此功能。 - -##### 『maximum_api_lookups』 -- 最大數值API請求來執行每個掃描迭代。​額外API請求將增加的總要求完成時間每掃描迭代,​所以,​您可能想來規定一個限以加快全掃描過程。​當設置`0`,​沒有最大數值將會應用的。​設置`10`作為默認。 - -##### 『maximum_api_lookups_response』 -- 該什麼辦如果最大數值API請求已超過?​False(假)=沒做任何事(繼續處理)【默認】;​True(真)=標誌/受阻文件。 - -##### 『cache_time』 -- 多長時間(以秒為單位)應API結果被緩存?​默認是3600秒(1小時)。 - -#### 『legal』 (類別) -有關法律義務的配置。 - -*請參閱文檔的『[法律信息](#SECTION11)』章節以獲取更多有關法律義務的信息,以及它可以如何影響您的配置義務。* - -##### 『pseudonymise_ip_addresses』 -- 編寫日誌文件時使用假名的IP地址嗎?​True(真)=使用假名【標準】;False(假)=不使用假名。 - -##### 『privacy_policy』 -- 要顯示在任何生成的頁面的頁腳中的相關隱私政策的地址。​指定一個URL,或留空以禁用。 - -#### 『template_data』 (類別) -指令和變量為模板和主題。 - -模板數據涉及到HTML產量使用以生成『上傳是否認』信息顯示為用戶當一個文件上傳是受阻。​如果您使用個性化主題為phpMussel,​HTML產量資源是從`template_custom.html`文件,​和否則,​HTML產量資源是從`template.html`文件。​變量書面在這個配置文件部分是餵在HTML產量通過更換任何變量名包圍在大括號發現在HTML產量使用相應變量數據。​為例子,​哪里`foo="bar"`,​任何發生的`

{foo}

`發現在HTML產量將成為`

bar

`。 - -##### 『theme』 -- 用於phpMussel的默認主題。 - -##### 『magnification』 -- *v1: 『Magnification』* -- 字體放大。​標準 = 1。 - -##### 『css_url』 -- 模板文件為個性化主題使用外部CSS屬性,​而模板文件為t標準主題使用內部CSS屬性。​以指示phpMussel使用模板文件為個性化主題,​指定公共HTTP地址的您的個性化主題的CSS文件使用`css_url`變量。​如果您離開這個變量空白,​phpMussel將使用模板文件為默認主題。 - -#### 『PHPMailer』 (類別) -PHPMailer配置。 - -目前,phpMussel僅將PHPMailer用於前端雙因素身份驗證。​如果不使用前端,或者如果為前端不用雙因素身份驗證,則可以忽略這些指令。 - -##### 『event_log』 -- *v1: 『EventLog』* -- 用於記錄與PHPMailer相關的所有事件的文件。​指定一個文件名,​或留空以禁用。 - -##### 『skip_auth_process』 -- *v1: 『SkipAuthProcess』* -- 將此指令設置為`true`會指示PHPMailer跳過通過SMTP發送電子郵件時通常會發生的正常身份驗證過程。​應該避免這種情況,因為跳過此過程可能會將出站電子郵件暴露給MITM攻擊,但在此過程阻止PHPMailer連接到SMTP服務器的情況下可能是必要的。 - -##### 『enable_two_factor』 -- *v1: 『Enable2FA』* -- 該指令確定是否將2FA用於前端帳戶。 - -##### 『host』 -- *v1: 『Host』* -- 用於出站電子郵件的SMTP主機。 - -##### 『port』 -- *v1: 『Port』* -- 用於出站電子郵件的端口號。​標準=587。 - -##### 『smtp_secure』 -- *v1: 『SMTPSecure』* -- 通過SMTP發送電子郵件時使用的協議(TLS或SSL)。 - -##### 『smtp_auth』 -- *v1: 『SMTPAuth』* -- 此指令確定是否對SMTP會話進行身份驗證(通常應該保持不變)。 - -##### 『username』 -- *v1: 『Username』* -- 通過SMTP發送電子郵件時使用的用戶名。 - -##### 『password』 -- *v1: 『Password』* -- 通過SMTP發送電子郵件時使用的密碼。 - -##### 『set_from_address』 -- *v1: 『setFromAddress』* -- 通過SMTP發送電子郵件時引用的發件人地址。 - -##### 『set_from_name』 -- *v1: 『setFromName』* -- 通過SMTP發送電子郵件時引用的發件人姓名。 - -##### 『add_reply_to_address』 -- *v1: 『addReplyToAddress』* -- 通過SMTP發送電子郵件時引用的回复地址。 - -##### 『add_reply_to_name』 -- *v1: 『addReplyToName』* -- 通過SMTP發送電子郵件時引用的回複姓名。 - -#### 『supplementary_cache_options』 (類別) -補充緩存選項。 - -##### 『prefix』 -- 該值將附加到所有緩存條目的鍵的開頭。​默認值為空。​當同一服務器上存在多個安裝時,這對於將它們的緩存彼此分開非常有用。 - -##### 『enable_apcu』 -- 指定是否嘗試使用APCu進行緩存。​默認 = False。 - -##### 『enable_memcached』 -- 指定是否嘗試使用Memcached進行緩存。​默認 = False。 - -##### 『enable_redis』 -- 指定是否嘗試使用Redis進行緩存。​默認 = False。 - -##### 『enable_pdo』 -- 指定是否嘗試使用PDO進行緩存。​默認 = False。 - -##### 『memcached_host』 -- Memcached主機值。​默認 = 『localhost』。 - -##### 『memcached_port』 -- Memcached端口值。​默認 = 『11211』。 - -##### 『redis_host』 -- Redis主機值。​默認 = 『localhost』。 - -##### 『redis_port』 -- Redis端口值。​默認 = 『6379』。 - -##### 『redis_timeout』 -- Redis超時值。​默認 = 『2.5』。 - -##### 『pdo_dsn』 -- PDO DSN值。​默認 = 『`mysql:dbname=phpmussel;host=localhost;port=3306`』。 - -*也可以看看:​[『PDO DSN』是什麼?如何能PDO與phpMussel一起使用?](#HOW_TO_USE_PDO)* - -##### 『pdo_username』 -- PDO用戶名。 - -##### 『pdo_password』 -- PDO密碼。 - ---- - - -### 8. 簽名格式 - -*也可以看看:* -- *[什麼是『簽名』?](#WHAT_IS_A_SIGNATURE)* - -phpMussel簽名文件前9個字節(`[x0-x8]`)是`phpMussel`。​它作為一個『魔術數字』【magic number】,將其標識為簽名文件(這有助於防止phpMussel意外地嘗試使用文件不是簽名文件)。​下一個字節`[x9]`標識簽名文件的類型。​這一點必須知道以便能夠正確解釋簽名文件。​以下類型的簽名文件被認可: - -類型 | 字節 | 說明 ----|---|--- -`General_Command_Detections` | `0?` | 為CSV(逗號分隔值)簽名文件。​值(簽名)是在文件中查找的十六進制編碼字符串。​這裡的簽名沒有任何名稱或其他詳細信息(只有要檢測的字符串)。 -`Filename` | `1?` | 為文件名簽名。 -`Hash` | `2?` | 為哈希簽名。 -`Standard` | `3?` | 為與文件內容直接工作的簽名文件。 -`Standard_RegEx` | `4?` | 為與文件內容直接工作的簽名文件。​簽名可以包含正則表達式。 -`Normalised` | `5?` | 為用於ANSI標準化文件內容的簽名文件。 -`Normalised_RegEx` | `6?` | 為用於ANSI標準化文件內容的簽名文件。​簽名可以包含正則表達式。 -`HTML` | `7?` | 為用於HTML標準化文件內容的簽名文件。 -`HTML_RegEx` | `8?` | 為用於HTML標準化文件內容的簽名文件。​簽名可以包含正則表達式。 -`PE_Extended` | `9?` | 為使用PE元數據的簽名文件(但不PE部分元數據)。 -`PE_Sectional` | `A?` | 為使用PE部分元數據的簽名文件。 -`Complex_Extended` | `B?` | 為使用各種規則的簽名文件,基於由phpMussel生成的擴展元數據。 -`URL_Scanner` | `C?` | 為使用URL的簽名文件。 - -下一個字節`[x10]`是一個換行符`[0A]`,並結束phpMussel簽名文件頭。 - -之後的每個非空行都是簽名或規則。​每個簽名或規則佔用一行。​支持的簽名格式如下所述。 - -#### *文件名簽名* -所有文件名簽名跟隨格式: - -`NAME:FNRX` - -`NAME`是名援引為簽名和`FNRX`是正則表達式匹配文件名(未編碼)為。 - -#### *哈希簽名* -所有哈希簽名跟隨格式: - -`HASH:FILESIZE:NAME` - -`HASH`是全文件的哈希(通常是MD5),​`FILESIZE`是總文件大小和`NAME`是名援引為簽名。 - -#### *移植可執行【PE】部分簽名* -所有移植可執行【PE】部分簽名跟隨格式: - -`SIZE:HASH:NAME` - -`HASH`是一個MD5哈希的一個部分的一個移植可執行【PE】文件,​`SIZE`是總大小的該部分和`NAME`是名援引為簽名。 - -#### *移植可執行【PE】擴展簽名* -所有移植可執行【PE】擴展簽名跟隨格式: - -`$VAR:HASH:SIZE:NAME` - -`$VAR`是移植可執行【PE】變量名匹配為,​`HASH`是一個MD5哈希的該變量,​`SIZE`是總大小的該變量和`NAME`是名援引為簽名。 - -#### *複雜擴展簽名* -複雜擴展簽名是寧不同從其他可能phpMussel簽名類型,​在某種意義上說,​什麼他們匹配針對是指定通過這些簽名他們自己和他們可以匹配針對多重標準。​多重標準是分隔通過【;】和匹配類型和匹配數據的每多重標準是分隔通過【:】以確保格式為這些簽名往往看起來有點像: - -`$變量1:某些數據;$變量2:某些數據;簽名等等` - -#### *一切其他* -所有其他簽名跟隨格式: - -`NAME:HEX:FROM:TO` - -`NAME`是名援引為簽名和`HEX`是一個十六進制編碼分割的文件意味被匹配通過有關簽名。​`FROM`和`TO`是可選參數,​說明從哪里和向哪裡在源數據匹配針對。 - -#### *正則表達式/REGEX* -任何形式的正則表達式了解和正確地處理通過PHP應還會正確地了解和處理通過phpMussel和它的簽名。​然而,​我將建議採取極端謹慎當寫作新正則表達式為基礎的簽名,​因為,​如果您不完全肯定什麼您被做,​可以有很不規則和/或意外結果。​看一眼的phpMussel源代碼如果您不完全肯定的上下文其中正則表達式語句被處理。​還,​記得,​所有語句(除外為文件名,​存檔元數據和MD5語句)必須是十六進制編碼(和除外為語句句法,​還,​當然)! - ---- - - -### 9. 已知的兼容問題 - -#### PHP和PCRE -- phpMussel需要PHP和PCRE以正確地執行和功能。​如果沒有PHP,​或如果沒有PCRE擴展的PHP,​phpMussel不會正確地執行和功能。​應該確保您的系統有PHP和PCRE安裝和可用之前下載和安裝phpMussel。 - -#### 殺毒軟件兼容性 - -有時phpMussel和其他防病毒解決方案之間存在兼容性問題。​因此,大約每隔幾個月,我對照Virus Total檢查了最新版本的phpMussel代碼庫,為了看那裡是否報告了任何問題。​報告了問題時,我會在文檔中在此處列出報告的問題。 - -當我最近檢查(2022年5月12日)時,沒有任何問題的報告。 - -我不檢查簽名文件,文檔或其他外圍內容。​當其他防病毒解決方案檢測到簽名文件時,它們總是會引起一些誤報(假陽性)。​因此,我強烈建議,如果您打算在已經存在另一種防病毒解決方案的計算機上安裝phpMussel,將phpMussel簽名文件列入白名單。 - ---- - - -### 10. 常見問題(FAQ) - -- [什麼是『簽名』?](#WHAT_IS_A_SIGNATURE) -- [什麼是『假陽性』?](#WHAT_IS_A_FALSE_POSITIVE) -- [什麼是簽名更新頻率?](#SIGNATURE_UPDATE_FREQUENCY) -- [我在使用phpMussel時遇到問題和我不知道該怎麼辦!​請幫忙!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [我想使用phpMussel(在v2之前)與早於5.4.0的PHP版本;​您能幫我嗎?](#MINIMUM_PHP_VERSION) -- [我想使用phpMussel(在v2期间)與早於7.2.0的PHP版本;​您能幫我嗎?](#MINIMUM_PHP_VERSION_V2) -- [我可以使用單個phpMussel安裝來保護多個域嗎?](#PROTECT_MULTIPLE_DOMAINS) -- [我不想浪費時間安裝這個和確保它在我的網站上功能正常;我可以僱用您這樣做嗎?](#PAY_YOU_TO_DO_IT) -- [我可以聘請您或這個項目的任何開發者私人工作嗎?](#HIRE_FOR_PRIVATE_WORK) -- [我需要專家修改,​的定制,​等等;您能幫我嗎?](#SPECIALIST_MODIFICATIONS) -- [我是開發人員,​網站設計師,​或程序員。​我可以接受還是提供與這個項目有關的工作?](#ACCEPT_OR_OFFER_WORK) -- [我想為這個項目做出貢獻;我可以這樣做嗎?](#WANT_TO_CONTRIBUTE) -- [掃描時如何訪問文件的具體細節?](#SCAN_DEBUGGING) -- [可以使用cron自動更新嗎?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [phpMussel可以掃描非ANSI名稱的文件嗎?](#SCAN_NON_ANSI) -- [黑名單 – 白名單 – 灰名單 – 他們是什麼,我如何使用它們?](#BLACK_WHITE_GREY) -- [當我通過更新頁面啟用或禁用簽名文件時,它會在配置中它們將按字母數字排序。​我可以改變他們排序的方式嗎?](#CHANGE_COMPONENT_SORT_ORDER) -- [『PDO DSN』是什麼?如何能PDO與phpMussel一起使用?](#HOW_TO_USE_PDO) -- [我的上傳工具是異步的(例如,使用ajax,ajaj,json,等等)。當上傳阻止時,我看不到任何特殊消息或警告。發生了什麼?](#AJAX_AJAJ_JSON) -- [phpMussel可以檢測EICAR嗎?](#DETECT_EICAR) - -#### 什麼是『簽名』? - -在phpMussel的上下文中,『簽名』是用於識別我們正在尋找的特定內容的數據,它通常採取一些非常小,不同,無害的一些更大和有害的東西的形式(例如,它可以識別病毒,木馬,等等)。​也可以是文件校驗和,哈希或其他類似的標識符。​通常包括一個標籤和一些其他數據,以幫助提供額外的上下文,可以由phpMussel使用它來確定遇到我們正在尋找的最佳方法。 - -#### 什麼是『假陽性』? - -術語『假陽性』(*或者:『假陽性錯誤』;『虛驚』*;英語:*false positive*; *false positive error*; *false alarm*),​很簡單地描述,​和在一個廣義上下文,​被用來當測試一個因子,​作為參考的測試結果,​當結果是陽性(即:因子被確定為『陽性』,​或『真』),​但預計將為(或者應該是)陰性(即:因子,​在現實中,​是『陰性』,​或『假』)。​一個『假陽性』可被認為是同樣的『哭狼』 (其中,​因子被測試是是否有狼靠近牛群,​因子是『假』由於該有沒有狼靠近牛群,​和因子是報告為『陽性』由牧羊人通過叫喊『狼,​狼』),​或類似在醫學檢測情況,​當患者被診斷有一些疾病,​當在現實中,​他們沒有疾病。 - -一些相關術語是『真陽性』,​『真陰性』和『假陰性』。​一個『真陽性』指的是當測試結果和真實因子狀態都是『真』(或『陽性』),​和一個『真陰性』指的是當測試結果和真實因子狀態都是『假』(或『陰性』);一個『真陽性』或『真陰性』被認為是一個『正確的推理』。​對立面『假陽性』是一個『假陰性』;一個『假陰性』指的是當測試結果是『陰性』(即:因子被確定為『陰性』,​或『假』),​但預計將為(或者應該是)陽性(即:因子,​在現實中,​是『陽性』,​或『真』)。 - -在phpMussel的上下文,​這些術語指的是phpMussel的簽名和他們阻止的文件。​當phpMussel阻止一個文件由於惡劣的,​過時的,​或不正確的簽名,​但不應該這樣做,​或當它這樣做為錯誤的原因,​我們將此事件作為一個『假陽性』。​當phpMussel未能阻止文件該應該已被阻止,​由於不可預見的威脅,​缺少簽名或不足簽名,​我們將此事件作為一個『檢測錯過』(同樣的『假陰性』)。 - -這可以通過下表來概括: - -  | phpMussel不應該阻止文件 | phpMussel應該阻止文件 ----|---|--- -phpMussel不會阻止文件 | 真陰性(正確的推理) | 檢測錯過(同樣的『假陰性』) -phpMussel會阻止文件 | __假陽性__ | 真陽性(正確的推理) - -#### 什麼是簽名更新頻率? - -更新頻率根據相關的簽名文件而有所不同。​所有的phpMussel簽名文件的維護者通常盡量保持他們的簽名為最新,​但是因為我們所有人都有各種其他承諾,​和因為我們的生活超越了項目,​和因為我們不得到經濟補償/付款為我們的項目的努力,​無法保證精確的更新時間表。​通常,​簽名被更新每當有足夠的時間。​幫助總是感謝,​如果你願意提供任何。 - -#### 我在使用phpMussel時遇到問題和我不知道該怎麼辦!​請幫忙! - -- 您使用軟件的最新版本嗎?​您使用簽名文件的最新版本嗎?​如果這兩個問題的答案是不,​嘗試首先更新一切,​然後檢查問題是否仍然存在。​如果它仍然存在,​繼續閱讀。 -- 您檢查過所有的文檔嗎?​如果沒有做,​請這樣做。​如果文檔不能解決問題,​繼續閱讀。 -- 您檢查過[issues頁面](https://github.com/phpMussel/phpMussel/issues)嗎?​檢查是否已經提到了問題。​如果已經提到了,​請檢查是否提供了任何建議,​想法或解決方案。​按照需要嘗試解決問題。 -- 如果問題仍然存在,請通過在issues頁面上創建新issue尋求幫助。 - -#### 我想使用phpMussel(在v2之前)與早於5.4.0的PHP版本;​您能幫我嗎? - -不能。PHP >= 5.4.0是phpMussel < v2的最低要求。 - -#### 我想使用phpMussel(在v2期间)與早於7.2.0的PHP版本;​您能幫我嗎? - -不能。PHP >= 7.2.0是phpMussel v2的最低要求。 - -*也可以看看:​[兼容性圖表](https://maikuolan.github.io/Compatibility-Charts/)。* - -#### 我可以使用單個phpMussel安裝來保護多個域嗎? - -可以。​phpMussel安裝未綁定到特定域,​因此可以用來保護多個域。​通常,​當phpMussel安裝保護只一個域,​我們稱之為『單域安裝』,​和當phpMussel安裝保護多個域和/或子域,​我們稱之為『多域安裝』。​如果您進行多域安裝並需要使用不同的簽名文件為不同的域,​或需要不同配置phpMussel為不同的域,​這可以做到。​加載配置文件後(`config.ini`),​phpMussel將尋找『配置覆蓋文件』特定於所請求的域(`xn--cjs74vvlieukn40a.tld.config.ini`),​並如果發現,​由配置覆蓋文件定義的任何配置值將用於執行實例而不是由配置文件定義的配置值。​配置覆蓋文件與配置文件相同,​並通過您的決定,​可能包含phpMussel可用的所有配置指令,​或任何必需的部分當需要。​配置覆蓋文件根據它們旨在的域來命名(所以,​例如,​如果您需要一個配置覆蓋文件為域,​`https://www.some-domain.tld/`,​它的配置覆蓋文件應該被命名`some-domain.tld.config.ini`,​和它應該放置在`vault`與配置文件,​`config.ini`)。​域名是從標題`HTTP_HOST`派生的;『www』被忽略。 - -#### 我不想浪費時間安裝這個和確保它在我的網站上功能正常;我可以僱用您這樣做嗎? - -也許。​這是根據具體情況考慮的。​告訴我們您需要什麼,​您提供什麼,​和我們會告訴您是否可以幫忙。 - -#### 我可以聘請您或這個項目的任何開發者私人工作嗎? - -*參考上面。​* - -#### 我需要專家修改,​的定制,​等等;您能幫我嗎? - -*參考上面。​* - -#### 我是開發人員,​網站設計師,​或程序員。​我可以接受還是提供與這個項目有關的工作? - -您可以。​我們的許可證並不禁止這一點。 - -#### 我想為這個項目做出貢獻;我可以這樣做嗎? - -您可以。​對項目的貢獻是歡迎。​有關詳細信息,​請參閱『CONTRIBUTING.md』。 - -#### 掃描時如何訪問文件的具體細節? - -在啟動掃描之前,​請分配一個數組以用於此目的。 - -在下面的例子中,​`$Foo` 是分配以用於此目的。​掃描 `/文件/路徑/...` 後,​關於 `/文件/路徑/...` 所包含的文件的信息將包含在 `$Foo` 中。 - -```PHP -可以使用cron自動更新嗎? - -您可以。​前端有內置了API,外部腳本可以使用它與更新頁面進行交互。​一個單獨的腳本,『[Cronable](https://github.com/Maikuolan/Cronable)』,是可用,它可以由您的cron manager或cron scheduler程序使用於自動更新此和其他支持的包(此腳本提供自己的文檔)。 - -#### phpMussel可以掃描非ANSI名稱的文件嗎? - -假設有一個您想掃描的目錄。​在這個目錄中,您有一些非ANSI名字的文件。 -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -假設您使用CLI模式或phpMussel API進行掃描。 - -在某些系統上使用PHP < 7.1.0時,phpMussel在嘗試掃描目錄時不會看到這些文件,所以,將無法掃描這些文件。​您可能會看到與掃描空目錄相同的結果: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 開始。 - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -另外,當使用PHP < 7.1.0時,單獨掃描文件會產生如下結果: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 開始。 - > 檢查 'X:/directory/Пример.txt' (FN: b831eb8f): - -> 無效的文件! - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -或者這些: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 開始。 - > X:/directory/??????.txt不是文件或文件夾。 - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -這是因為在PHP 7.1.0之前如何處理非ANSI文件名。​如果遇到此問題,解決方案是將PHP 7.1.0安裝更新到7或更新版本。​在PHP >= 7.1.0中,非ANSI文件名處理得更好,並且phpMussel應該能夠正確地掃描文件。 - -為了比較,嘗試使用PHP >= 7.1.0掃描目錄時的結果: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 開始。 - -> 檢查 '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> 沒有任何問題發現。 - -> 檢查 '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> 沒有任何問題發現。 - -> 檢查 '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> 沒有任何問題發現。 - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -並嘗試單獨掃描文件: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 開始。 - > 檢查 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> 沒有任何問題發現。 - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -#### 黑名單 – 白名單 – 灰名單 – 他們是什麼,我如何使用它們? - -這些術語在不同的上下文中表達不同的含義。​在phpMussel中,有三個使用這些術語的上下文:​文件大小響應,文件類型響應,和簽名灰名單。 - -為了以最低的處理成本達到理想的效果,phpMussel在實際掃描文件之前可以檢查一些簡單的事情,如文件的大小,名稱和擴展名。​例如;如果文件太大,或者其擴展名表示在我們的網站上我們不想要的文件類型,我們可以立即標記文件,並且不需要掃描它。 - -文件大小響應是phpMussel在文件超出指定限制時響應的方式。​沒有涉及實際列表,但根據文件的大小,文件可能會在黑名單,白名單或灰名單中被有效考慮了。​存在兩種不同的可選配置指令來分別指定限制和期望的響應。 - -文件類型響應是phpMussel在文件擴展名時響應的方式。​存在三種不同的可選配置指令,用於明確指定哪些擴展應在黑名單,白名單和灰名單中位於。​如果文件的擴展名分別與指定的擴展名匹配,則可以在黑名單,白名單或灰名單中該文件有效地考慮了。 - -在這兩種上下文中,在白名單上意味著它不應該被掃描或標記;在黑名單上意味著它應該被標記(因此不需要掃描它);和在灰名單上意味著需要進一步的分析來確定是否我們應該標記它(即,它應該被掃描)。 - -簽名灰名單是基本上應該忽略的簽名列表(這在文檔中已經簡要地提到了)。​當灰名單上的簽名被觸發時,phpMussel繼續通過其簽名工作,並且對於在灰名單上的簽名不要採取任何特殊行動。​沒有簽名黑名單,因為隱含的行為無論和触發簽名的正常的行為是一樣的,並且沒有簽名白名單,因為考慮到phpMussel的正常的工作方式以及它的已有的功能,隱含的行為不會有意義。 - -如果您需要解決由特定簽名造成的問題,並且不想禁用或卸載整個簽名文件,則簽名灰名單很有用。 - -#### 當我通過更新頁面啟用或禁用簽名文件時,它會在配置中它們將按字母數字排序。​我可以改變他們排序的方式嗎? - -這個有可能。​如果您需要強制某些文件以特定順序執行,您可以在列出配置指令的位置中的在他們的名字之前添加一些任意數據,並用冒號分隔。​當更新頁面隨後再次對文件進行排序時,這個添加的任意數據會影響排序順序,因此導致它們按照您想要的順序執行,並且不需要重命名它們。 - -例如,假设配置指令包含如下列出的文件: - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -如果您想首先執行`file3.php`,您可以在文件名前添加`aaa:`或類似: - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -然後,如果啟用了新文件`file6.php`,當更新頁面再次對它們進行排序時,它應該像這樣結束: - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -當文件禁用時的情況是相同的。​相反,如果您希望文件最後執行,您可以在文件名前添加`zzz:`或類似。​在任何情況下,您都不需要重命名相關文件。 - -#### 『PDO DSN』是什麼?如何能PDO與phpMussel一起使用? - -『PDO』 是 『[PHP Data Objects](https://www.php.net/manual/zh/intro.pdo.php)』 的首字母縮寫(它的意思是『PHP數據對象』)。​它為PHP提供了一個接口,使其能夠連接到各種PHP應用程序通常使用的某些數據庫系統。 - -『DSN』 是 『[data source name](https://en.wikipedia.org/wiki/Data_source_name)』 的首字母縮寫(它的意思是『數據源名稱』)。​『PDO DSN』向PDO描述了它應如何連接到數據庫。 - -phpMussel可以將PDO用於緩存。​為了使其正常工作,您需要相應地配置phpMussel,從而啟用PDO,需要為phpMussel創建一個新數據庫以供使用(如果您尚未想到要供phpMussel使用的數據庫),並需要按照以下結構在數據庫中創建一個新表。 - -當數據庫連接成功時,但是必要的表不存在,表自動創建將嘗試。​但是,此行為尚未經過廣泛測試,因此無法保證成功。 - -當然,這僅在您確實希望phpMussel使用PDO時適用。​如果您對phpMussel使用平面文件緩存(按照其默認配置)或提供的任何其他各種緩存選項感到足夠滿意,則無需費心設置數據庫,數據庫表,等等。 - -下面描述的結構使用『phpmussel』作為其數據庫名稱,但是您可以使用任何想要的數據庫名稱,只要在DSN配置中名稱被複製。 - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -phpMussel的`pdo_dsn`應配置如下。 - -``` -取決於所使用的數據庫驅動程序...... -├─4d (警告:實驗性,未經測試,不建議!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └要查找數據庫的主機。 -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └要使用的數據庫的名稱。 -│ │ │ -│ │ └連接的主機端口號。 -│ │ -│ └要查找數據庫的主機。 -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └要使用的數據庫的名稱。 -│ │ │ -│ │ └要查找數據庫的主機。 -│ │ -│ └可能的值: 『mssql』, 『sybase』, 『dblib』。 -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├可以是本地數據庫文件的路徑。 -│ │ -│ ├可以連接主機和端口號。 -│ │ -│ └如果要使用此功能,請參閱Firebird文檔。 -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └要連接的在目錄中數據庫。 -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └要連接的在目錄中數據庫。 -├─mysql (最推薦!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └連接的主機端口號。 -│ │ │ -│ │ └要查找數據庫的主機。 -│ │ -│ └要使用的數據庫的名稱。 -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├可以參考特定的在目錄中數據庫。 -│ │ -│ ├可以連接主機和端口號。 -│ │ -│ └如果要使用此功能,請參閱Oracle文檔。 -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├可以參考特定的在目錄中數據庫。 -│ │ -│ ├可以連接主機和端口號。 -│ │ -│ └如果要使用此功能,請參閱ODBC/DB2文檔。 -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └要使用的數據庫的名稱。 -│ │ │ -│ │ └連接的主機端口號。 -│ │ -│ └要查找數據庫的主機。 -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └要使用的本地數據庫文件的路徑。 -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └要使用的數據庫的名稱。 - │ │ - │ └連接的主機端口號。 - │ - └要查找數據庫的主機。 -``` - -如果不確定如何構造DSN,請嘗試先查看它是否按原樣工作,而不進行任何更改。 - -請注意, `pdo_username` 和 `pdo_password` 應與您為數據庫選擇的用戶名和密碼相同。 - -#### 我的上傳工具是異步的(例如,使用ajax,ajaj,json,等等)。當上傳阻止時,我看不到任何特殊消息或警告。發生了什麼? - -這很正常。​phpMussel的標準『上傳是否認』頁面作為HTML。​對於典型的同步請求應該足夠了,但是如果您的上傳工具需要一些不同的東西,可能還不夠。​如果您的上傳工具是異步的,或者希望異步提供上傳狀態,為了使phpMussel能夠滿足您的上傳工具的需求,您可以嘗試做一些事情。 - -1. 創建自定義輸出模板以提供HTML以外的東西。 -2. 創建自定義插件以完全繞過標準的『上傳是否認』頁面並在上傳被阻止時讓上傳處理程序執行其他操作(上傳處理程序提供了一些插件掛鉤,可能有用)。 -3. 完全禁用上傳處理程序,而是只從您的上傳工具中調用phpMussel API。 - -#### phpMussel可以檢測EICAR嗎? - -可以。​用於檢測EICAR的簽名包含在『phpMussel標準正則表達式簽名文件』中(`phpmussel_regex.db`)。​只要安裝並激活了該簽名文件,phpMussel就應該能夠檢測到EICAR。​由於ClamAV數據庫還包含許多專門用於檢測EICAR的簽名,因此ClamAV可以輕鬆檢測EICAR,但是由於phpMussel僅利用了ClamAV提供的全部簽名中的一部分,因此它們本身可能不足以使phpMussel檢測EICAR。​檢測它的能力還可能取決於您的確切配置。 - ---- - - -### 11. 法律信息 - -#### 11.0 章節前言 - -本文檔章節描述了有關該軟件包的使用和實施的可能法律考慮事項,並提供一些基本的相關信息。​這對於一些用戶來說可能很重要,作為確保遵守其運營所在國家可能存在的任何法律要求的一種手段。​一些用戶可能需要根據這些信息調整他們的網站政策。 - -首先,請認識到我(軟件包作者)不是律師或合格的法律專業人員。​因此,我無法合法提供法律建議。​此外,在某些情況下,不同國家和地區的具體法律要求可能會有所不同。​這些不同的法律要求有時可能會相互矛盾​(例如:支持[隱私權](https://zh.wikipedia.org/wiki/%E9%9A%B1%E7%A7%81%E6%AC%8A_(%E8%87%BA%E7%81%A3))和[被遺忘權](https://zh.wikipedia.org/wiki/%E8%A2%AB%E9%81%BA%E5%BF%98%E6%AC%8A)的國家,與支持擴展數據保留的國家相比)。​還要考慮到對軟件包的訪問不限於特定的國家或轄區,因此,軟件包用戶群很可能在地理上多樣化。​這些觀點認為,我無法說明在所有方面對所有用戶『符合法律』意味著什麼。​不過,我希望這裡的信息能夠幫助您自己決定您必須做些什麼為了在軟件包的上下文中符合法律。​如果您對此處的信息有任何疑問或擔憂,或者您需要從法律角度提供更多幫助和建議,我會建議諮詢合格的法律專業人員。 - -#### 11.1 法律責任 - -此軟件包不提供任何擔保(這已由包許可證提及)。​這包括(但不限於)所有責任範圍。​為了您的方便,該軟件包已提供給您。​希望它會有用,它會為你帶來一些好處。​但是,使用或實施該軟件包是您自己的選擇。​您不是被迫使用或實施該軟件包,但是當您這樣做時,您需要對該決定負責。​我,和其他軟件包貢獻者,對於您的決定的後果不承擔法律責任,無論是直接的,間接的,暗示的,還是其他方式。 - -#### 11.2 第三方 - -取決於其確切的配置和實施,在某些情況下,該軟件包可能與第三方進行通信和共享信息。​在某些情況下,某些轄區可能會將此信息定義為『[個人身份信息](https://zh.wikipedia.org/wiki/%E5%80%8B%E4%BA%BA%E5%8F%AF%E8%AD%98%E5%88%A5%E8%B3%87%E8%A8%8A)』(PII)。 - -這些信息如何被這些第三方使用,是受這些第三方制定的各種政策的約束,並且超出了本文檔的範圍。​但是,在所有這些情況下,與這些第三方共享信息可能被禁用。​在所有這些情況下,如果您選擇啟用它,則有責任研究您可能遇到的任何問題(如果您擔心這些第三方的隱私,安全,和PII使用情況)。​如果存在任何疑問,或者您對PII方面的這些第三方的行為不滿意,最好禁用與這些第三方分享的所有信息。 - -為了透明的目的,共享信息的類型,以及與誰共享,如下所述。 - -##### 11.2.0 網絡字體 - -一些自定義主題,以及phpMussel前端的標準UI(『用戶界面』),和『上傳是否認』頁面可能出於審美原因使用網絡字體。​網絡字體默認是禁用,但啟用後,用戶的瀏覽器和託管網絡字體的服務之間會發生直接通信。​這可能涉及傳遞信息,例如用戶的IP地址,用戶代理,操作系統,以及請求可用的其他詳細信息。​大部分這些網絡字體都由[Google Fonts](https://fonts.google.com/)服務託管。 - -*相關配置指令:* -- `general` -> `disable_webfonts` - -##### 11.2.1 URL掃描程序 - -上文件上傳中找到的URL可能會與Google安全瀏覽API共享,取決於軟件包的具體配置方式。​Google安全瀏覽API的使用需要API密鑰,因此默認情況下是禁用。 - -*相關配置指令:* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -當phpMussel掃描文件上傳時,這些文件的哈希值可能會與Virus Total API共享,具體取決於軟件包的配置方式。​有計劃在未來的某個時候能夠共享整個文件,但目前該軟件包不支持該功能。​Virus Total API的使用需要API密鑰,因此默認情況下是禁用。 - -與Virus Total共享的信息(包括文件和相關文件元數據)也可能與其合作夥伴,關聯公司以及其他各方共享用於研究目的。​這在他們的隱私政策中有更詳細的描述。 - -*看到: [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*相關配置指令:* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 日誌記錄 - -由於多種原因,日誌記錄是phpMussel的重要組成部分。​當沒有日誌記錄時,可能難以診斷和假陽性,可能很難確定phpMussel在某些情況下的表現如何,而且可能很難確定其不足之處,以及可能需要更改哪些配置或簽名,以使其繼續按預期運行。​無論如何,一些用戶可能不想要記錄,並且它仍然是完全可選的。​在phpMussel中,默認情況下日誌記錄是禁用。​要啟用它,必須相應地配置phpMussel。 - -另外,如果日誌記錄在法律上是允許的,並且在法律允許的範圍內(例如,可記錄的信息類型,多長時間,在什麼情況下),可以變化,具體取決於管轄區域和phpMussel的實施上下文(例如,如果您是個人或公司實體經營,如果您在商業或非商業基礎上運營,等等)。​因此,仔細閱讀本節可能對您有用。 - -phpMussel可以執行多種類型的日誌記錄。​不同類型的日誌記錄涉及不同類型的信息,出於各種原因。 - -##### 11.3.0 掃描日誌 - -當在程序包配置中啟用時,phpMussel保存文件掃描日誌。​此類日誌記錄有兩種不同的格式: -- 人類可讀的日誌文件。 -- 序列化日誌文件。 - -人類可讀日誌文件的條目通常看起來像這樣(作為示例): - -``` -Mon, 21 May 2018 00:47:58 +0800 開始。 -> 檢查'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> 檢測phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 完了。 -``` - -掃描日誌條目通常包括以下信息: -- 掃描文件的日期和時間。 -- 掃描的文件的名稱。 -- CRC32b哈希的文件名和內容。 -- 文件中檢測到的內容(如果檢測到任何內容)。 - -*相關配置指令:* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -當這些指令保留為空時,此類日誌記錄將保持禁用狀態。 - -##### 11.3.1 掃描殺死 - -在程序包配置中啟用時,phpMussel會保留已阻止的上傳日誌。 - -『掃描殺死』日誌文件的條目通常看起來像這樣(作為示例): - -``` -日期: Mon, 21 May 2018 00:47:56 +0800 -IP地址: 127.0.0.1 -== 掃描結果(為什麼標記) == -檢測phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)! -== 哈希簽名重建 == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -隔離為『/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu』。 -``` - -『掃描殺戮』條目通常包括以下信息: -- 上傳被阻止的日期和時間。 -- 上傳源自的IP地址。 -- 文件被阻止的原因(檢測到的內容)。 -- 被阻止文件的名稱。 -- 被阻止文件的MD5和大小。 -- 是否文件被隔離,以及內部名稱是什麼。 - -*相關配置指令:* -- `general` -> `scan_kills` - -##### 11.3.2 前端日誌記錄 - -此類日誌記錄涉及前端登錄嘗試,僅在用戶嘗試登錄前端時才會發生(假設啟用了前端訪問)。 - -前端日誌條目包含嘗試登錄的用戶的IP地址,嘗試發生的日期和時間以及的結果(登錄成功或失敗)。​前端日誌條目通常看起來像這樣(作為示例): - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - 已登錄。 -``` - -*相關配置指令:* -- `general` -> `frontend_log` - -##### 11.3.3 日誌輪換 - -您可能希望在一段時間後清除日誌,或者可能被要求依法執行(即,您在法律上允許保留日誌的時間可能受法律限制)。​您可以通過在程序包配置指定的日誌文件名中包含日期/時間標記(例如,`{yyyy}-{mm}-{dd}.log`),​然後啟用日誌輪換來實現此目的(日誌輪換允許您在超出指定限制時對日誌文件執行某些操作)。 - -例如:如果法律要求我在30天后刪除日誌,我可以在我的日誌文件的名稱中指定`{dd}.log`(`{dd}`代表天),將`log_rotation_limit`的值設置為30,並將`log_rotation_action`的值設置為`Delete`。 - -相反,如果您需要長時間保留日誌,你可以選擇完全不使用日誌輪換,或者你可以將`log_rotation_action`的值設置為`Archive`,以壓縮日誌文件,從而減少它們佔用的磁盤空間總量。 - -*相關配置指令:* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 日誌截斷 - -如果這是您想要做的事情,也可以在超過特定大小時截斷個別日誌文件。 - -*相關配置指令:* -- `general` -> `truncate` - -##### 11.3.5 IP地址『PSEUDONYMISATION』 - -首先,如果您不熟悉這個術語,『pseudonymisation』是指處理個人數據,使其不能在沒有補充信息的情況下被識別為屬於任何特定的『數據主體』,並規定這些補充信息分開保存,採取技術和組織措施以確保個人數據不能被識別給任何自然人。 - -以下資源可以幫助更詳細地解釋它: -- [[trust-hub.com] What is pseudonymisation?](https://www.trust-hub.com/news/what-is-pseudonymisation/) -- [[Wikipedia] Pseudonymization](https://en.wikipedia.org/wiki/Pseudonymization) - -在某些情況下,您可能在法律上要求對收集,處理,或存儲的任何PII進行『pseudonymise』或『anonymise』。​雖然這個概念已經存在了相當長的一段時間,但GDPR/DSGVO提到,並特別鼓勵『pseudonymisation』。 - -當記錄它們時,phpMussel可以對IP地址進行pseudonymise,如果這是您想做的事情。​當這個情況發生時,IPv4地址的最後八位字節,以及IPv6地址的第二部分之後的所有內容,將由『x』表示(有效地將IPv4地址四捨五入到它的第24個子網因素的初始地址,和將IPv6地址四捨五入到它的第32個子網因素的初始地址)。 - -*相關配置指令:* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 統計 - -phpMussel可選擇跟踪統計信息,例如自特定時間以來掃描和阻止的文件總數。​默認情況下此功能是禁用,但可以通過程序包配置啟用此功能。​所跟踪的信息類型不應視為PII。 - -*相關配置指令:* -- `general` -> `statistics` - -##### 11.3.7 加密 - -phpMussel不[加密](https://zh.wikipedia.org/wiki/%E5%8A%A0%E5%AF%86)其緩存或任何日誌信息。​可能會在將來引入緩存和日誌加密,但目前沒有任何具體的計劃。​如果您擔心未經授權的第三方獲取可能包含PII或敏感信息(如緩存或日誌)的phpMussel部分的訪問權限,我建議不要將phpMussel安裝在可公開訪問的位置(例如,在標準`public_html`或等效目錄之外【可用於大多數標準網絡服務器】安裝phpMussel),​也我建議對安裝目錄強制執行適當的限制權限(特別是對於vault目錄)。​如果這還不足以解決您的疑慮,應該配置phpMussel為不會首先收集或記錄引起您關注的信息類型(例如,通過禁用日誌記錄)。 - -#### 11.4 COOKIE - -當用戶成功登錄前端時,phpMussel設置cookie以便能夠在後續請求中的記住用戶(即,cookie用於向登錄會話驗證用戶身份)。​在登錄頁面上,cookie警告顯著顯示,警告用戶如果他們參與相關操作將設置cookie。 Cookie不會在代碼庫中的任何其他位置設置。 - -*相關配置指令:* -- `general` -> `disable_frontend` - -#### 11.5 市場營銷和廣告 - -phpMussel不收集或處理任何信息用於營銷或廣告目的,既不銷售也不從任何收集或記錄的信息中獲利。​phpMussel不是商業企業,也不涉及任何商業利益,因此做這些事情沒有任何意義。​自項目開始以來就一直如此,今天仍然如此。​此外,做這些事情會對整個項目的精神和預期目的產生反作用,並且只要我繼續維護項目,永遠不會發生。 - -#### 11.6 隱私政策 - -在某些情況下,您可能需要依法在您網站的所有頁面和部分上清楚地顯示您的隱私政策鏈接。​這可能為了確保用戶充分了解您的隱私慣例,收集的個人身份信息類型以及您打算如何使用它的是很重要。​為了能夠在phpMussel的『上傳是否認』頁面上包含這樣的鏈接,提供了配置指令來指定隱私策略的URL。 - -*相關配置指令:* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -『通用數據保護條例』(GDPR)是歐盟法規,自2018年5月25日起生效。​該法規的主要目標是向歐盟公民和居民提供有關其個人數據的控制權,並統一歐盟內有關隱私和個人數據的法規。 - -該法規包含有關處理任何歐盟『數據主體』(任何已識別或可識別的自然人)的『[個人身份信息](https://zh.wikipedia.org/wiki/%E5%80%8B%E4%BA%BA%E5%8F%AF%E8%AD%98%E5%88%A5%E8%B3%87%E8%A8%8A)』(PII)的具體規定。​為了符合條例,『企業』(按照法規的定義),和任何相關的系統和流程必須默認實現『隱私設計』,​必須使用盡可能高的隱私設置,​必須對任何存儲或處理的信息實施必要的保護措施(數據的 pseudonymisation 或完整 anonymisation ),​必須明確無誤地聲明他們收集的數據類型,​他們如何處理數據,​出於何種原因,​他們保留多長時間,​以及他們是否與任何第三方分享這些數據,​與第三方共享的數據類型,​為什麼,​等等。 - -只有按照條例有合法依據才能處理數據。​一般而言,這意味著為了在合法基礎上處理數據主體的數據,必須遵守法律義務,或者僅在從數據主體獲得明確,明智,明確的同意之後才進行處理。 - -因為條例的各個方面可能會及時演變,並為了避免過時信息的傳播,從權威來源中學習可能會更好的,而不是簡單地在包文檔中包含相關信息(這個信息可能最終會過時)。 - -一些推薦的資源用於了解更多信息: -- [关于欧盟GDPR隐私合规,中国数字营销人不得不知的9大问题](http://www.adexchanger.cn/top_news/28813.html) -- [史上最严的隐私条例出台,2018年开始执行](https://zhuanlan.zhihu.com/p/20865602) -- [《欧盟数据保护条例》对中国企业的影响 —- 以阿里巴巴集团为例](https://spiegeler.com/%E3%80%8A%E6%AC%A7%E7%9B%9F%E6%95%B0%E6%8D%AE%E4%BF%9D%E6%8A%A4%E6%9D%A1%E4%BE%8B%E3%80%8B%E5%AF%B9%E4%B8%AD%E5%9B%BD%E4%BC%81%E4%B8%9A%E7%9A%84%E5%BD%B1%E5%93%8D-%E4%BB%A5%E9%98%BF%E9%87%8C/) -- [歐盟個人資料保護法 GDPR 即將上路!與電商賣家息息相關的 Google Analytics 資料保留政策,你瞭解了嗎?](https://shopline.hk/blog/google-analytics-gdpr/) -- [歐盟一般資料保護規範](https://zh.wikipedia.org/wiki/%E6%AD%90%E7%9B%9F%E4%B8%80%E8%88%AC%E8%B3%87%E6%96%99%E4%BF%9D%E8%AD%B7%E8%A6%8F%E7%AF%84) -- [REGULATION (EU) 2016/679 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex:32016R0679) - ---- - - -最後更新:2022年5月12日。 diff --git a/v2-and-earlier/readme.zh.md b/v2-and-earlier/readme.zh.md deleted file mode 100644 index 97c5a2d..0000000 --- a/v2-and-earlier/readme.zh.md +++ /dev/null @@ -1,1713 +0,0 @@ -## phpMussel v2 中文(简体)文档。 - -### 内容 -- 1. [前言](#SECTION1) -- 2. [如何安装](#SECTION2) -- 3. [如何使用](#SECTION3) -- 4. [前端管理](#SECTION4) -- 5. [CLI(命令行界面)](#SECTION5) -- 6. [文件在包](#SECTION6) -- 7. [配置选项](#SECTION7) -- 8. [签名格式](#SECTION8) -- 9. [已知的兼容问题](#SECTION9) -- 10. [常见问题(FAQ)](#SECTION10) -- 11. [法律信息](#SECTION11) - -*Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.* - ---- - - -### 1. 前言 - -感谢使用phpMussel,​这是一个根据ClamAV的签名和其他签名在上传完成后来自动检测木马/病毒/恶意软件和其他可能威胁到您系统安全的文件的PHP脚本。 - -[PHPMUSSEL](https://phpmussel.github.io/) COPYRIGHT 2013 和走向未来 GNU/GPLv2 由 [Caleb M (Maikuolan)](https://github.com/Maikuolan)。 - -本脚本是基于GNU通用许可V2.0版许可协议发布的,​您可以在许可协议的允许范围内自行修改和发布,​但请遵守GNU通用许可协议。​使用脚本的过程中,​作者不提供任何担保和任何隐含担保。​更多的细节请参见GNU通用公共许可证,​下的`LICENSE.txt`文件也可从访问: -- 。 -- 。 - -谢谢[ClamAV](https://www.clamav.net/)为本脚本提供文件签名库访问许可。​没有它,​这个脚本很可能不会存在,​或者其价值有限。 - -谢谢SourceForge和Bitbucket和GitHub为项目托管,​还有谢谢这些组织为提供一些签名:​[PhishTank](https://www.phishtank.com/),​[NLNetLabs](https://nlnetlabs.nl/),[Malware.Expert](https://malware.expert/),​等人。 - -现在phpMussel的代码文件和关联包可以从以下地址免费下载: -- [GitHub](https://github.com/phpMussel/phpMussel)。 -- [Bitbucket](https://bitbucket.org/Maikuolan/phpmussel)。 -- [SourceForge](https://sourceforge.net/projects/phpmussel/)。 - ---- - - -### 2. 如何安装 - -#### 2.0 安装手工(WEB服务器) - -1) 在阅读到这里之前,​我假设您已经下载脚本的一个副本,​已解压缩其内容并保存在您的机器的某个地方。​现在,​您要决定将脚本放在您服务器上的哪些文件夹中,​例如`/public_html/phpmussel/`或其他任何您觉得满意和安全的地方。​*上传完成后,​继续阅读。​。​* - -2) 重命名`config.ini.RenameMe`到`config.ini`(位于内`vault`),​和如果您想(强烈推荐高级用户,​但不推荐业余用户或者新手使用这个方法),​打开它(这个文件包含所有phpMussel的可用配置选项;以上的每一个配置选项应有一个简介来说明它是做什么的和它的具有的功能)。​按照您认为合适的参数来调整这些选项,​然后保存文件,​关闭。 - -3) 上传(phpMussel和它的文件)到您选定的文件夹(不需要包括`*.txt`/`*.md`文件,​但大多数情况下,​您应上传所有的文件)。 - -4) 修改的`vault`文件夹权限为“755”(如果有问题,​您可以试试“777”,​但是这是不太安全)。​注意,​主文件夹也应该是该权限,​如果遇上其他权限问题,​请修改对应文件夹和文件的权限。​简而言之:为了使包正常工作,PHP需要能够在`vault`目录中读写文件。​如果PHP无法写入`vault`目录,那么很多事情(更新,记录等)都是不可能的,如果PHP无法从`vault`目录中读取,则包将无法正常工作。​但是,为了获得最佳安全性,`vault`目录不得公开访问(如果`vault`目录可公开访问,敏感信息,例如`config.ini`或`frontend.dat`包含的信息,可能会暴露给潜在的攻击者)。 - -5) 安装您需要的任何签名。​看到:[安装签名](#INSTALLING_SIGNATURES)。 - -6) 接下来,​您需要为您的系统或CMS设定启动phpMussel的钩子。​有几种不同的方式为您的系统或CMS设定钩子,​最简单的是在您的系统或CMS的核心文件的开头中使用`require`或`include`命令直接包含脚本(这个方法通常会导致在有人访问时每次都加载)。​平时,​这些都是存储的在文件夹中,​例如`/includes`,​`/assets`或`/functions`等文件夹,​和将经常被命名的某物例如`init.php`,​`common_functions.php`,​`functions.php`。​这是根据您自己的情况决定的,​并不需要完全遵守;如果您遇到困难,​参观GitHub上的phpMussel issues页面和/或访问phpMussel支持论坛和发送问题;可能其他用户或者我自己也有这个问题并且解决了(您需要让我们您在使用哪些CMS)。​为了使用`require`或`include`,​插入下面的代码行到最开始的该核心文件,​更换里面的数据引号以确切的地址的`loader.php`文件(本地地址,​不是HTTP地址;它会类似于前面提到的vault地址)。 - -`` - -保存文件,​关闭,​重新上传。 - --- 或替换 -- - -如果您使用Apache网络服务器并且您可以访问`php.ini`,​您可以使用该`auto_prepend_file`指令为任何PHP请求创建附上的phpMussel。​就像是: - -`auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"` - -或在该`.htaccess`文件: - -`php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"` - -7) 到这里,​您已经完成安装,​现在您应测试phpMussel以确保它的正常运行!​为了保护系统中的文件(或者应该翻译为保护上传的文件),​可以尝试通过常用的浏览器上传的方式上传包含在`.tests/samples`文件夹内的内容到您的网站。​(确保在`active`配置指令中包含`phpmussel*.*db`签名文件,以便触发测试文件)。​如果一切正常,​phpMussel应该出现阻止上传信息,​如果出现什么不正常情况例如您使用了其他高级的功能或使用的其它类型的扫描,​我建议尝试它跟他们一起使用以确保都能工作正常。 - -#### 2.1 安装手工(CLI) - -1) 在阅读到这里之前,​我假设您已经下载脚本并且已经解压缩并且保存在您指定的位置。 - -2) phpMussel需要PHP运行环境支持。​如果您没有安装PHP,​请安装。 - -3) 自定义(强烈推荐高级用户使用,​但不推荐新手或没有经验的用户使用):打开`config.ini`(位于内`vault`) – 这个文件包含phpMussel所有的配置选项。​每选项应有一个简评以说明它做什么和它的功能。​按照您认为合适的参数调整这些选项,​然后保存文件,​关闭。 - -4) 您如果您创建一个批处理文件来自动加载的PHP和phpMussel,​那么使用phpMussel的CLI模式将更加方便。​要做到这一点,​打开一个纯文本编辑器例如Notepad或Notepad++,​输入php.exe的完整路径(注意是绝对路径不是相对路径),​其次是一个空格,​然后是`loader.php`的路径(同php.exe),​最后,​保存此文件使用一个`.bat`扩展名放在常用的位置;在您指定的位置,​能通过双击您保存的`.bat`文件来调用phpMussel。 - -5) 安装您需要的任何签名。​看到:[安装签名](#INSTALLING_SIGNATURES)。 - -6) 到这里,​您完成了CLI模式的安装!​当然您应测试以确保正常运行。​如果要测试phpMussel,​请通过phpMussel尝试扫描`.tests/samples`文件夹内提供的文件。 - -#### 2.2 与COMPOSER安装 - -[phpMussel是在Packagist上](https://packagist.org/packages/phpmussel/phpmussel),​所以,​如果您熟悉Composer,​您可以使用Composer安装phpMussel(您仍然需要准备配置,权限,签名,和钩子。参考“安装手工(WEB服务器)”步骤2,4,5,和6)。 - -`composer require phpmussel/phpmussel` - -#### 2.3 安装签名 - -以来v1.0.0,签名不包括在phpMussel包中。​phpMussel需要签名来检测特定的威胁。​安装签名有三种主要方法: - -1. 使用前端更新页面自动安装。 -2. 使用“SigTool”生成签名并手动安装。 -3. 从“phpMussel/Signatures”下载签名并手动安装。 - -##### 2.3.1 使用前端更新页面自动安装。 - -首先,您需要确保前端已启用。 *看到:[前端管理](#SECTION4).* - -然后,所有您需要做的是转到前端更新页面,找到必要的签名文件,并使用页面上提供的选项,安装它们并激活他们。 - -##### 2.3.2 使用“SigTool”生成签名并手动安装。 - -*看到:[SigTool文档](https://github.com/phpMussel/SigTool#documentation).* - -*另请注意:SigTool仅处理来自ClamAV的签名。为了获得其他来源的签名(例如,专门为phpMussel编写的签名,其中包括检测phpMussel的测试样本所必需的签名),此方法将需要通过此处提到的其他方法之一进行补充。* - -##### 2.3.3 从“phpMussel/Signatures”下载签名并手动安装。 - -首先,去[phpMussel/Signatures](https://github.com/phpMussel/Signatures)。​存储库包含各种GZ压缩的签名文件。​下载所需的文件,解压缩文件,并将解压缩的文件复制到`/vault/signatures`目录以进行安装。​将文件的名称放在`active`指令中(在您的phpMussel配置)来激活他们。 - ---- - - -### 3. 如何使用 - -#### 3.0 如何使用(对于WEB服务器) - -phpMussel应该能够正确操作与最低要求从您:安装后,​它应该立即开展工作和应该立即有用。 - -文件上传扫描是自动的和按照设定规则激活的,​所以,​您不需要做任何额外的事情。 - -另外,​您能手动使用phpMussel扫描文件,​文件夹或存档当您需要时。​要做到这一点,​首先,​您需要确保`config.ini`文件(`cleanup`【清理】必须关闭)的配置是正常的,​然后通过任何一个PHP文件的钩子至phpMussel,​在您的代码中添加以下代码: - -`$phpMussel['Scan']($what_to_scan, $output_type, $output_flatness);` - -- `$what_to_scan`可以是字符串,​数组,​或多维数组,​和表明什么文件,​收集的文件,​文件夹和/或文件夹至扫描。 -- `$output_type`是布尔,​和表明什么格式到回报扫描结果作为。​False【假/负】指示关于功能以回报扫描结果作为整数。​True【真/正】指示关于功能以回报扫描结果作为人类可读文本。​此外,​在任一情况下,​结果可以访问通过全局变量后扫描是完成。​变量是自选,​确定作为False【假/负】作为标准。​以下描述整数结果: - -| 结果 | 说明 | -|---|---| -| -4 | 表明由于加密而无法扫描数据。 | -| -3 | 表明问题是遇到关于phpMussel签名文件。 | -| -2 | 表明损坏数据是检测中扫描和因此扫描失败完成。 | -| -1 | 表明扩展或插件需要通过PHP以经营扫描是失踪和因此扫描失败完成。 | -| 0 | 表明扫描目标不存在和因此没有任何事为扫描。 | -| 1 | 表明扫描目标是成功扫描和没有任何问题检测。 | -| 2 | 表明扫描目标是成功扫描和至少一些问题是检测。 | - -- `$output_flatness`是布尔,​表明如果回报扫描结果(如果有多扫描目标)作为数组或字符串。​False【假/负】指示回报结果作为数组。​True【真/正】负】指示回报结果作为字符串。​变量是自选,​确定作为False【假/负】作为标准。 - -例子: - -```PHP - $results = $phpMussel['Scan']('/user_name/public_html/my_file.html', true, true); - echo $results; -``` - -返回结果类似于(作为字符串): - -``` - Wed, 16 Sep 2013 02:49:46 +0000 开始。 - > 检查 '/user_name/public_html/my_file.html': - -> 没有任何问题发现。 - Wed, 16 Sep 2013 02:49:47 +0000 完了。 -``` - -对一个签名类型进行完整的检查测试以及phpMussel如何扫描和使用签名文件,​请参阅【[签名格式](#SECTION8)】部分的自述文件。 - -如果您遇到任何误报,​如果您遇到无法检测的新类型,​或者关于签名的其他任何问题,​请联系我以便于后续的版本支持,​该,​如果您不联系我,​我可能不会知道并在下一版本中进行处理。 *(看到:[什么是“假阳性”?​](#WHAT_IS_A_FALSE_POSITIVE))。​* - -如果您遇到误报严重或者不需要检测该签名下的文件或者其他不需要使用签名验证的场景,​将要禁用的特定签名的名称添加到签名灰名单文件(`/vault/greylist.csv`),被逗号隔开。 - -*也可以看看: [扫描时如何访问文件的具体细节?](#SCAN_DEBUGGING)* - -#### 3.1 如何使用(CLI) - -请参考“安装手工(CLI)”部分的这个自述文件。 - -还注意,​phpMussel是“*一经请求*”扫描程序;不是“*一经访问*”扫描程序(除了文件上传,​在上传时候),​而不像传统的防病毒套件,​它不监控活动内存!​它将会只检测病毒从文件上传,​而从那些具体文件您明确地告诉它需要扫描。 - ---- - - -### 4. 前端管理 - -#### 4.0 什么是前端。 - -前端提供了一种方便,​轻松的方式来维护,​管理和更新phpMussel安装。​您可以通过日志页面查看,​共享和下载日志文件,​您可以通过配置页面修改配置,​您可以通过更新页面安装和卸载组件,​和您可以通过文件管理器上传,​下载和修改文件在vault。 - -默认情况是禁用前端,​以防止未授权访问 (未授权访问可能会对您的网站及其安全性造成严重后果)。​启用它的说明包括在本段下面。 - -#### 4.1 如何启用前端。 - -1) 里面的`config.ini`文件,​找到指令`disable_frontend`,​并将其设置为`false` (默认值为`true`)。 - -2) 从浏览器访问`loader.php` (例如,​`http://localhost/phpmussel/loader.php`)。 - -3) 使用默认用户名和密码(admin/password)登录。 - -注意:第一次登录后,​以防止未经授权的访问前端,​您应该立即更改您的用户名和密码!​这是非常重要的,​因为它可以任意PHP代码上传到您的网站通过前端。 - -此外,为了获得最佳安全性,强烈建议为所有前端帐户启用“双因素身份验证”(下面提供的说明)。 - -#### 4.2 如何使用前端。 - -每个前端页面上都有说明,​用于解释正确的用法和它的预期目的。​如果您需要进一步的解释或帮助,​请联系支持。​另外,​YouTube上还有一些演示视频。 - -#### 4.3 2FA(双因素身份验证) - -通过启用双因素身份验证,可以使前端更安全。​当登录使用2FA的帐户时,会向与该帐户关联的电子邮件地址发送电子邮件。​此电子邮件包含“2FA代码”,用户必须输入它(以及他们的用户名和密码),为了能够使用该帐户登录。​这意味着获取帐户密码不足以让任何黑客或潜在攻击者能够帐户登录,因为他们还需要访问帐户的电子邮件地址才能接收和使用会话的2FA代码(从而使前端更安全)。 - -首先,为了启用双因素身份验证,请使用前端更新页面来安装PHPMailer组件。​phpMussel使用PHPMailer发送电子邮件。​注意:虽然phpMussel本身与`PHP >= 5.4.0`兼容,但PHPMailer需要`PHP >= 5.5.0`,因此,对于PHP 5.4用户来说,无法为phpMussel前端启用双因素身份验证。 - -在安装PHPMailer后,您需要通过phpMussel配置页面或配置文件填充PHPMailer的配置指令。​有关这些配置指令的更多信息包含在本文档的配置部分中。​在填充PHPMailer配置指令后,将`enable_two_factor`设置为`true`。​现在应启用双因素身份验证。 - -接下来,您需要让phpMussel知道在使用该帐户登录时将2FA代码发送到何处。​为此,请使用电子邮件地址作为帐户的用户名(例如,`foo@bar.tld`),或者将电子邮件地址作为用户名的一部分包括在内,就像通常发送电子邮件一样(例如,`Foo Bar `)。 - -注意:保护您的vault免受未经授权的访问(例如,通过加强服务器的安全性和限制公共访问权限)在此非常重要,因为未经授权访问您的配置文件(存储在您的vault中)可能会暴露您的出站SMTP设置(包括SMTP用户名和密码)。​在启用双因素身份验证之前,应确保您的vault已正确保护。​如果您无法做到这一点,那么至少应该创建一个专门用于此目的的新电子邮件帐户,为了降低与暴露的SMTP设置相关的风险。 - ---- - - -### 5. CLI(命令行界面) - -在Windows系统上phpMussel在CLI模式可以作为一个互动文件执行扫描。​参考【如何安装(对于CLI)】部分的这个自述文件为更信息。 - -为一个列表的可用CLI命令,​在CLI提示,​键入【c】,​和按Enter键。 - -另外,​对于那些有兴趣,​一个视频教程如何使用phpMussel在命令行模式是可在这里: -- - ---- - - -### 6. 文件在包 - -``` -https://github.com/phpMussel/phpMussel>v2 -│ .gitattributes -│ .gitignore -│ Changelog-v2.txt -│ composer.json -│ LICENSE.txt -│ loader.php -│ README.md -│ tests.php -├───.github -│ │ FUNDING.yml -│ └───workflows -│ php-cs-fixer.yml -│ v2.yml -├───.tests -│ │ signatures.zip -│ └───samples -│ ascii_standard_testfile.txt -│ coex_testfile.rtf -│ exe_standard_testfile.exe -│ general_standard_testfile.txt -│ graphics_standard_testfile.gif -│ hash_testfile_md5.txt -│ hash_testfile_sha1.txt -│ hash_testfile_sha256.txt -│ html_standard_testfile.html -│ ole_testfile.ole -│ pdf_standard_testfile.pdf -│ pe_sectional_testfile.exe -│ swf_standard_testfile.swf -└───vault - │ channels.yaml - │ cli.php - │ components.dat - │ config.ini.RenameMe - │ config.php - │ config.yaml - │ event_handlers.php - │ frontend.php - │ frontend_functions.php - │ functions.php - │ greylist.csv - │ lang.php - │ plugins.dat - │ shorthand.yaml - │ signatures.dat - │ template_custom.html - │ template_default.html - │ themes.dat - │ upload.php - ├───classes - │ │ ArchiveHandler.php - │ │ CompressionHandler.php - │ │ TemporaryFileHandler.php - │ └───Maikuolan - │ Cache.php - │ ComplexStringHandler.php - │ DelayedIO.php - │ Demojibakefier.php - │ Events.php - │ IPHeader.php - │ L10N.php - │ Matrix.php - │ NumberFormatter.php - │ Operation.php - │ Request.php - │ YAML.php - ├───fe_assets - │ frontend.css - │ frontend.html - │ icons.php - │ lock_bl_c.png - │ lock_bl_o.png - │ lock_rd_c.png - │ lock_rd_o.png - │ lock_wt_c.png - │ lock_wt_o.png - │ pips.php - │ scripts.js - │ _2fa.html - │ _accounts.html - │ _accounts_row.html - │ _cache.html - │ _config.html - │ _config_row.html - │ _files.html - │ _files_edit.html - │ _files_rename.html - │ _files_row.html - │ _home.html - │ _login.html - │ _logs.html - │ _nav_complete_access.html - │ _nav_logs_access_only.html - │ _quarantine.html - │ _quarantine_row.html - │ _siginfo.html - │ _siginfo_row.html - │ _statistics.html - │ _updates.html - │ _updates_row.html - │ _upload_test.html - ├───lang - │ lang.ar.fe.yaml - │ lang.ar.yaml - │ lang.bn.fe.yaml - │ lang.bn.yaml - │ lang.de.fe.yaml - │ lang.de.yaml - │ lang.en.fe.yaml - │ lang.en.yaml - │ lang.es.fe.yaml - │ lang.es.yaml - │ lang.fr.fe.yaml - │ lang.fr.yaml - │ lang.hi.fe.yaml - │ lang.hi.yaml - │ lang.id.fe.yaml - │ lang.id.yaml - │ lang.it.fe.yaml - │ lang.it.yaml - │ lang.ja.fe.yaml - │ lang.ja.yaml - │ lang.ko.fe.yaml - │ lang.ko.yaml - │ lang.lv.fe.yaml - │ lang.lv.yaml - │ lang.nl.fe.yaml - │ lang.nl.yaml - │ lang.no.fe.yaml - │ lang.no.yaml - │ lang.pl.fe.yaml - │ lang.pl.yaml - │ lang.pt.fe.yaml - │ lang.pt.yaml - │ lang.ru.fe.yaml - │ lang.ru.yaml - │ lang.sv.fe.yaml - │ lang.sv.yaml - │ lang.th.fe.yaml - │ lang.th.yaml - │ lang.tr.fe.yaml - │ lang.tr.yaml - │ lang.ur.fe.yaml - │ lang.ur.yaml - │ lang.vi.fe.yaml - │ lang.vi.yaml - │ lang.zh-tw.fe.yaml - │ lang.zh-tw.yaml - │ lang.zh.fe.yaml - │ lang.zh.yaml - └───signatures - switch.dat -``` - ---- - - -### 7. 配置选项 - -下列是一个列表的变量发现在`config.ini`配置文件的phpMussel,​以及一个说明的他们的目的和功能。 - -``` -Configuration (v2) -├───general -│ cleanup -│ scan_log -│ scan_log_serialized -│ scan_kills -│ error_log -│ truncate -│ log_rotation_limit -│ log_rotation_action -│ timezone -│ time_offset (v1: timeOffset) -│ time_format (v1: timeFormat) -│ ipaddr -│ enable_plugins -│ forbid_on_block -│ unsupported_media_type_header -│ delete_on_sight -│ lang -│ lang_override -│ numbers -│ quarantine_key -│ quarantine_max_filesize -│ quarantine_max_usage -│ quarantine_max_files -│ honeypot_mode -│ scan_cache_expiry -│ disable_cli -│ disable_frontend -│ max_login_attempts -│ frontend_log (v1: FrontEndLog) -│ disable_webfonts -│ maintenance_mode -│ default_algo -│ statistics -│ hide_version -│ disabled_channels -│ default_timeout -├───signatures -│ active (v1: Active) -│ fail_silently -│ fail_extensions_silently -│ detect_adware -│ detect_joke_hoax -│ detect_pua_pup -│ detect_packer_packed -│ detect_shell -│ detect_deface -│ detect_encryption -├───files -│ max_uploads -│ filesize_limit -│ filesize_response -│ filetype_whitelist -│ filetype_blacklist -│ filetype_greylist -│ check_archives -│ filesize_archives -│ filetype_archives -│ max_recursion -│ block_encrypted_archives -│ max_files_in_archives -├───attack_specific -│ chameleon_from_php -│ can_contain_php_file_extensions -│ chameleon_from_exe -│ chameleon_to_archive -│ chameleon_to_doc -│ chameleon_to_img -│ chameleon_to_pdf -│ archive_file_extensions -│ block_control_characters -│ corrupted_exe -│ decode_threshold -│ scannable_threshold -│ allow_leading_trailing_dots -│ block_macros -├───compatibility -│ ignore_upload_errors -│ only_allow_images -├───heuristic -│ threshold -├───virustotal -│ vt_public_api_key -│ vt_suspicion_level -│ vt_weighting -│ vt_quota_rate -│ vt_quota_time -├───urlscanner -│ † lookup_hphosts -│ google_api_key -│ maximum_api_lookups -│ maximum_api_lookups_response -│ cache_time -├───legal -│ pseudonymise_ip_addresses -│ privacy_policy -├───template_data -│ theme -│ magnification (v1: Magnification) -│ css_url -├───PHPMailer -│ event_log (v1: EventLog) -│ skip_auth_process (v1: SkipAuthProcess) -│ enable_two_factor (v1: Enable2FA) -│ host (v1: Host) -│ port (v1: Port) -│ smtp_secure (v1: SMTPSecure) -│ smtp_auth (v1: SMTPAuth) -│ username (v1: Username) -│ password (v1: Password) -│ set_from_address (v1: setFromAddress) -│ set_from_name (v1: setFromName) -│ add_reply_to_address (v1: addReplyToAddress) -│ add_reply_to_name (v1: addReplyToName) -└───supplementary_cache_options - prefix - enable_apcu - enable_memcached - enable_redis - enable_pdo - memcached_host - memcached_port - redis_host - redis_port - redis_timeout - pdo_dsn - pdo_username - pdo_password -``` - -#### “general” (类别) -基本phpMussel配置。 - -##### “cleanup” -- 扫描上传后,销毁变量和缓存?​False(假)=不要销毁。​True(真)=销毁【标准】。​如果您不使用该脚本进行扫描上传以外的任何操作,您应该将其设置为`true`以最小化内存使用量。​否则,您应该将其设置为`false`,以便在内存中保留执行phpMussel所需的数据,而无需不必要地重新加载它。 -- 无影响在CLI模式。 - -##### “scan_log” -- 文件为记录在所有扫描结果。​指定一个文件名,​或留空以关闭。 - -##### “scan_log_serialized” -- 文件为记录在所有扫描结果(它采用序列化格式)。​指定一个文件名,​或留空以关闭。 - -##### “scan_kills” -- 文件为记录在所有受阻或已杀上传。​指定一个文件名,​或留空以关闭。 - -*有用的建议:如果您想,​可以追加日期/时间信息至附加到你的日志文件的名称通过包括这些中的名称:`{yyyy}` 为今年完整,​`{yy}` 为今年缩写,​`{mm}` 为今月,​`{dd}` 为今日,​`{hh}` 为今小时。​* - -*例子:* -- *`scan_log='scan_log.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_log_serialized='scan_log_serialized.{yyyy}-{mm}-{dd}-{hh}.txt'`* -- *`scan_kills='scan_kills.{yyyy}-{mm}-{dd}-{hh}.txt'`* - -##### “error_log” -- 用于记录检测到的任何非致命错误的文件。​指定一个文件名,​或留空以禁用。 - -##### “truncate” -- 截断日志文件当他们达到一定的大小吗?​值是在B/KB/MB/GB/TB,​是日志文件允许的最大大小直到它被截断。​默认值为“0KB”将禁用截断(日志文件可以无限成长)。​注意:适用于单个日志文件!​日志文件大小不被算集体的。 - -##### “log_rotation_limit” -- 日志轮转限制了任何时候应该存在的日志文件的数量。​当新的日志文件被创建时,如果日志文件的指定的最大数量已经超过,将执行指定的操作。​您可以在此指定所需的限制。​值为“0”将禁用日志轮转。 - -##### “log_rotation_action” -- 日志轮转限制了任何时候应该存在的日志文件的数量。​当新的日志文件被创建时,如果日志文件的指定的最大数量已经超过,将执行指定的操作。​您可以在此处指定所需的操作。​“Delete”=删除最旧的日志文件,直到不再超出限制。​“Archive”=首先归档,然后删除最旧的日志文件,直到不再超出限制。 - -*技术澄清:在这种情况下,“最旧”意味着“不是最近被修改”。* - -##### “timezone” -- 这用于指定phpMussel应用于日期/时间操作的时区。​如果您不需要它,请忽略它。​可能的值由PHP确定。​它一般建议,​而不是,​调整时区指令的文件`php.ini`,​但是有时(例如,​当利用有限的共享主机提供商)这并不总是可能做到,​所以,​此选项在这里是提供。 - -##### “time_offset” -- *v1: “timeOffset”* -- 如果您的服务器时间不符合您的本地时间,​您可以在这里指定的偏移调整日期/时间信息该产生通过phpMussel根据您的需要。​它一般建议,​而不是,​调整时区指令的文件`php.ini`,​但是有时(例如,​当利用有限的共享主机提供商)这并不总是可能做到,​所以,​此选项在这里是提供。​偏移量是在分钟。 -- 例子(添加1小时):`time_offset=60` - -##### “time_format” -- *v1: “timeFormat”* -- phpMussel使用的日期符号格式。​标准 = `{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}`。 - -##### “ipaddr” -- 在哪里可以找到连接请求IP地址?​(可以使用为服务例如Cloudflare和类似)标准是`REMOTE_ADDR`。​警告!​不要修改此除非您知道什么您做着! - -“ipaddr”的推荐值: - -值 | 运用 ----|--- -`HTTP_INCAP_CLIENT_IP` | Incapsula反向代理。 -`HTTP_CF_CONNECTING_IP` | Cloudflare反向代理。 -`CF-Connecting-IP` | Cloudflare反向代理(替代;如果另一个不工作)。 -`HTTP_X_FORWARDED_FOR` | Cloudbric反向代理。 -`X-Forwarded-For` | [Squid反向代理](http://www.squid-cache.org/Doc/config/forwarded_for/)。 -`Forwarded` | *[Forwarded - HTTP \| MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded).* -*由服务器配置定义。​* | [Nginx反向代理](https://www.nginx.com/resources/admin-guide/reverse-proxy/)。 -`REMOTE_ADDR` | 没有反向代理(默认值)。 - -##### “enable_plugins” -- 启用phpMussel插件支持吗?​False(假)=不要启用;​True(真)=要启用【标准】。 - -##### “forbid_on_block” -- phpMussel应该发送`403`头随着文件上传受阻信息,​或坚持标准`200 OK`?​False(假)=发送`200`;True(真)=发送`403`【标准】。 - -##### “unsupported_media_type_header” -- 当上传因列入黑名单的文件类型而被阻止时,phpMussel是否应该发送415标头?​如果为true(真),此设置将取代`forbid_on_block`。​False(假)=不发送【标准】;True(真)=发送。 - -##### “delete_on_sight” -- 激活的这个指令将指示脚本马上删除任何扫描文件上传匹配任何检测标准,​是否通过签名或任何事其他。​文件已确定是清洁将会忽略。​如果是存档,​全存档将会删除,​不管如果违规文件是只有一个的几个文件包含在存档。​为文件上传扫描,​按说,​它不必要为您激活这个指令,​因为按说,​PHP将自动清洗内容的它的缓存当执行是完,​意思它将按说删除任何文件上传从它向服务器如果不已移动,​复制或删除。​这个指令是添加这里为额外安全为任何人谁的PHP副本可能不始终表现在预期方式。​False【假/负】:之后扫描,​忽略文件【标准】,​True【真/正】:之后扫描,​如果不清洁,​马上删除。 - -##### “lang” -- 指定标准phpMussel语言。 - -##### “lang_override” -- 尽可能根据HTTP_ACCEPT_LANGUAGE进行本地化?True(真)=进行本地化【标准】;False(假)=不要本地化。 - -##### “numbers” -- 指定如何显示数字。 - -目前支持的值: - -值 | 产生 | 描述 ----|---|--- -`NoSep-1` | `1234567.89` -`NoSep-2` | `1234567,89` -`Latin-1` | `1,234,567.89` | 默认值。 -`Latin-2` | `1 234 567.89` -`Latin-3` | `1.234.567,89` -`Latin-4` | `1 234 567,89` -`Latin-5` | `1,234,567·89` -`China-1` | `123,4567.89` -`India-1` | `12,34,567.89` -`India-2` | `१२,३४,५६७.८९` -`India-3` | `૧૨,૩૪,૫૬૭.૮૯` -`India-4` | `੧੨,੩੪,੫੬੭.੮੯` -`India-5` | `೧೨,೩೪,೫೬೭.೮೯` -`India-6` | `౧౨,౩౪,౫౬౭.౮౯` -`Arabic-1` | `١٢٣٤٥٦٧٫٨٩` -`Arabic-2` | `١٬٢٣٤٬٥٦٧٫٨٩` -`Arabic-3` | `۱٬۲۳۴٬۵۶۷٫۸۹` -`Arabic-4` | `۱۲٬۳۴٬۵۶۷٫۸۹` -`Bengali-1` | `১২,৩৪,৫৬৭.৮৯` -`Burmese-1` | `၁၂၃၄၅၆၇.၈၉` -`Khmer-1` | `១.២៣៤.៥៦៧,៨៩` -`Lao-1` | `໑໒໓໔໕໖໗.໘໙` -`Thai-1` | `๑,๒๓๔,๕๖๗.๘๙` -`Thai-2` | `๑๒๓๔๕๖๗.๘๙` - -*注意:​这些值在任何地方都不是标准化的,并超出包裹且可能不会相关性。​此外,支持的值可能会在未来发生变化。* - -##### “quarantine_key” -- phpMussel可以检疫坏文件上传在隔离在phpMussel的安全/保险库【Vault】,​如果这个是某物您想。​普通用户的phpMussel简单地想保护他们的网站或宿主环境无任何兴趣在深深分析任何尝试文件上传应该离开这个功能关闭,​但任何用户有兴趣在更深分析的尝试文件上传为目的恶意软件研究或为类似这样事情应该激活这个功能。​检疫的尝试文件上传可以有时还助攻在调试假阳性,​如果这个是某物经常发生为您。​以关闭检疫功能,​简单地离开`quarantine_key`指令空白,​或抹去内容的这个指令如果它不已空白。​以激活隔离功能,​输入一些值在这个指令。​`quarantine_key`是一个重要安全功能的隔离功能需要以预防检疫功能从成为利用通过潜在攻击者和以预防任何潜在执行的数据存储在检疫。​`quarantine_key`应该被处理在同样方法作为您的密码:更长是更好,​和紧紧保护它。​为获得最佳效果,​在结合使用`delete_on_sight`。 - -##### “quarantine_max_filesize” -- 最大允许文件大小为文件在检疫。​文件大于这个指定数值将不成为检疫。​这个指令是重要为使它更难为任何潜在攻击者洪水您的检疫用非通缉数据潜在的造成过度数据用法在您的虚拟主机服务。​标准=2MB。 - -##### “quarantine_max_usage” -- 最大内存使用允许为检疫。​如果总内存已用通过隔离到达这个数值,​最老检疫文件将会删除直到总内存已用不再到达这个数值。​这个指令是重要为使它更难为任何潜在攻击者洪水您的检疫用非通缉数据潜在的造成过度数据用法在您的虚拟主机服务。​标准=64MB。 - -##### “quarantine_max_files” -- 隔离中可以存在的最大文件数量。​新文件添加到隔离时,如果超过此数量,则旧文件将被删除,直到剩余的文件不再超过此数量。​标准=100。 - -##### “honeypot_mode” -- 当这个指令(蜜罐模式)是激活,​phpMussel将尝试检疫所有文件上传它遇到,​无论的如果文件上传是匹配任何包括签名,​和没有扫描或分析的那些文件上传将发生。​这个功能应有用为那些想使用的phpMussel为目的病毒或恶意软件研究,​但它是不推荐激活这个功能如果预期的用的phpMussel通过用户是为标准文件上传扫描,​也不推荐使用蜜罐功能为目的以外蜜罐。​作为标准,​这个指令是关闭。​False(假)=是关闭【标准】;​True(真)=是激活。 - -##### “scan_cache_expiry” -- 多长时间应该phpMussel维持扫描结果?​数值是秒数为维持扫描结果。​标准是21600秒(6小时);​一个`0`数值将停止维持扫描结果。 - -##### “disable_cli” -- 关闭CLI模式吗?​CLI模式是按说激活作为标准,​但可以有时干扰某些测试工具(例如PHPUnit,​为例子)和其他基于CLI应用。​如果您没有需要关闭CLI模式,​您应该忽略这个指令。​False(假)=激活CLI模式【标准】;​True(真)=关闭CLI模式。 - -##### “disable_frontend” -- 关闭前端访问吗?​前端访问可以使phpMussel更易于管理,​但也可能是潜在的安全风险。​建议管理phpMussel通过后端只要有可能,​但前端访问提供当不可能。​保持关闭除非您需要它。​False(假)=激活前端访问;​True(真)=关闭前端访问【标准】。 - -##### “max_login_attempts” -- 最大前端登录尝试次数。​标准=5。 - -##### “frontend_log” -- *v1: “FrontEndLog”* -- 前端登录尝试的录音文件。​指定一个文件名,​或留空以禁用。 - -##### “disable_webfonts” -- 关闭网络字体吗?​True(真)=关闭【标准】;False(假)=不关闭。 - -##### “maintenance_mode” -- 启用维护模式?​True(真)=关闭;​False(假)=不关闭【标准】。​它停用一切以外前端。​有时候在更新CMS,框架,等时有用。 - -##### “default_algo” -- 定义要用于所有未来密码和会话的算法。​选项:​PASSWORD_DEFAULT(标准),​PASSWORD_BCRYPT,​PASSWORD_ARGON2I(需要PHP >= 7.2.0),​PASSWORD_ARGON2ID(需要PHP >= 7.3.0)。 - -##### “statistics” -- 跟踪phpMussel使用情况统计?​True(真)=跟踪;False(假)=不跟踪【标准】。 - -##### “hide_version” -- 从日志和页面输出中隐藏版本信息吗?​True(真)=关闭;False(假)=不关闭【标准】。 - -##### “disabled_channels” -- 这可用于防止phpMussel在发送请求时使用特定通道(例如,在更新时,在获取组件元数据时,等等)。 - -##### “default_timeout” -- 用于外部请求的默认超时? 标准 = 12秒。 - -#### “signatures” (类别) -签名配置。 - -##### “active” -- *v1: “Active”* -- 活性签名文件的列表,​以逗号分隔。 - -*注意:* -- *首先必须安装签名文件,然后才能激活它们。* -- *为了使测试文件正常工作,必须安装并激活签名文件。* -- *该指令的值存储在缓存中。​更改后,要使更改生效,您可能需要删除缓存。* - -##### “fail_silently” -- phpMussel应该报告当签名文件是失踪或损坏吗?​如果`fail_silently`是关闭,​失踪和损坏文件将会报告当扫描,​和如果`fail_silently`是激活,​失踪和损坏文件将会忽略,​有扫描报告为那些文件哪里没有问题。​这个应该按说被留下除非您遇到失败或有其他类似问题。​False(假)=是关闭;​True(真)=是激活【默认】。 - -##### “fail_extensions_silently” -- phpMussel应该报告当扩展是失踪吗?​如果`fail_extensions_silently`是关闭,​失踪扩展将会报告当扫描,​和如果`fail_extensions_silently`是激活,​失踪扩展将会忽略,​有扫描报告为那些文件哪里没有任何问题。​关闭的这个指令可能的可以增加您的安全,​但可能还导致一个增加的假阳性。​False(假)=是关闭;​True(真)=是激活【默认】。 - -##### “detect_adware” -- phpMussel应该使用签名为广告软件检测吗?​False(假)=不检查,​True(真)=检查【默认】。 - -##### “detect_joke_hoax” -- phpMussel应该使用签名为病毒/恶意软件笑话/恶作剧检测吗?​False(假)=不检查,​True(真)=检查【默认】。 - -##### “detect_pua_pup” -- phpMussel应该使用签名为PUP/PUA(可能无用/非通缉程序/软件)检测吗?​False(假)=不检查,​True(真)=检查【默认】。 - -##### “detect_packer_packed” -- phpMussel应该使用签名为打包机和打包数据检测吗?​False(假)=不检查,​True(真)=检查【默认】。 - -##### “detect_shell” -- phpMussel应该使用签名为webshell脚本检测吗?​False(假)=不检查,​True(真)=检查【默认】。 - -##### “detect_deface” -- phpMussel应该使用签名为污损和污损软件检测吗?​False(假)=不检查,​True(真)=检查【默认】。 - -##### “detect_encryption” -- phpMussel应该检测并阻止加密的文件吗?​False(假)=不检查,​True(真)=检查【默认】。 - -#### “files” (类别) -文件处理配置。 - -##### “max_uploads” -- 最大允许数值的文件为扫描当文件上传扫描之前中止扫描和告诉用户他们是上传太多在同一时间!​提供保护针对一个理论攻击哪里一个攻击者尝试DDoS您的系统或CMS通过超载phpMussel以减速PHP进程到一个停止。​推荐:10。​您可能想增加或减少这个数值,​根据速度的您的硬件。​注意这个数值不交待为或包括存档内容。 - -##### “filesize_limit” -- 文件大小限在KB。​65536=64MB【默认】,​0=没有限(始终灰名单),​任何正数值接受。​这个可以有用当您的PHP配置限内存量一个进程可以占据或如果您的PHP配置限文件大小的上传。 - -##### “filesize_response” -- 如何处理文件超过文件大小限(如果存在)。​False(假)=白名单;​True(真)=黑名单【默认】。 - -##### “filetype_whitelist”, “filetype_blacklist”, “filetype_greylist” -- 如果您的系统只允许具体文件类型被上传,​或如果您的系统明确地否认某些文件类型,​指定那些文件类型在白名单,​黑名单和灰名单可以增加扫描执行速度通过允许脚本跳过某些文件类型。​格式是CSV(逗号分隔变量)。​如果您想扫描一切,​而不是白名单,​黑名单或灰名单,​留变量空;这样做将关闭白名单/黑名单/灰名单。 -- 进程逻辑顺序是: - - 如果文件类型已白名单,​不扫描和不受阻文件,​和不匹配文件对照黑名单或灰名单。 - - 如果文件类型已黑名单,​不扫描文件但阻止它无论如何,​和不匹配文件对照灰名单。 - - 如果灰名单是空,​或如果灰名单不空和文件类型已灰名单,​扫描文件像正常和确定如果阻止它基于扫描结果,​但如果灰名单不空和文件类型不灰名单,​过程文件仿佛已黑名单,​因此不扫描它但阻止它无论如何。 - -##### “check_archives” -- 尝试匹配存档内容吗?​False(假)=不匹配;​True(真)=匹配【默认】。 - -格式 | 可以读取 | 可以递归地读取 | 可以检测加密 | 笔记 ----|---|---|---|--- -Zip | ✔️ | ✔️ | ✔️ | 需要[libzip](https://secure.php.net/manual/en/zip.requirements.php)(通常与PHP捆绑在一起)。 也支持(使用zip格式): ✔️ OLE对象检测。 ✔️ Office宏检测。 -Tar | ✔️ | ✔️ | ➖ | 没有特殊需要。格式不支持加密。 -Rar | ✔️ | ✔️ | ✔️ | 需要[rar](https://pecl.php.net/package/rar)扩展(当没有安装此扩展时,phpMussel无法读取rar文件)。 -Phar | ❌ | ❌ | ❌ | 由于安全考虑,在v1.6.0中删除了读取phar文件的支持,并且不会再次添加。 - -*如果有人能够并愿意帮助实施其他存档格式的支持,那么这种帮助将邀请并非常欢迎。* - -##### “filesize_archives” -- 继承文件大小黑名单/白名单在存档内容吗?​False(假)=不继承(刚灰名单一切);​True(真)=继承【默认】。 - -##### “filetype_archives” -- 继承文件类型黑名单/白名单在存档内容吗?​False(假)=不继承(刚灰名单一切)【默认】;​True(真)=继承。 - -##### “max_recursion” -- 最大存档递归深度限。​默认=3。 - -##### “block_encrypted_archives” -- 检测和受阻加密的存档吗?​因为phpMussel是不能够扫描加密的存档内容,​它是可能存档加密可能的可以使用通过一个攻击者作为一种手段尝试绕过phpMussel,​杀毒扫描仪和其他这样的保护。​指示phpMussel受阻任何存档它发现被加密可能的可以帮助减少任何风险有关联这些可能性。​False(假)=不受阻;​True(真)=受阻【默认】。 - -##### “max_files_in_archives” -- 在中止扫描之前从档案中扫描的最大文件数。​默认=0(没有最大文件数)。 - -#### “attack_specific” (类别) -专用攻击指令。 - -变色龙攻击检测:False(假)=是关闭;True(真)=是激活。 - -##### “chameleon_from_php” -- 寻找PHP头在文件是不PHP文件也不认可存档文件。 - -##### “can_contain_php_file_extensions” -- 允许包含PHP代码的文件扩展名列表,以逗号分隔。​如果启用了PHP变色龙攻击检测,包含PHP代码的文件,其扩展名不在此列表中,将被检测为PHP变色龙攻击。 - -##### “chameleon_from_exe” -- 寻找可执行头在文件是不可执行文件也不认可存档文件和寻找可执行文件谁的头是不正确。 - -##### “chameleon_to_archive” -- 检测在存档和压缩文件中的错误标头。已支持:BZ/BZIP2,GZ/GZIP,LZF,RAR,ZIP。 - -##### “chameleon_to_doc” -- 寻找办公文档谁的头是不正确(已支持:DOC,​DOT,​PPS,​PPT,​XLA,​XLS,​WIZ)。 - -##### “chameleon_to_img” -- 寻找图像谁的头是不正确(已支持:BMP,​DIB,​PNG,​GIF,​JPEG,​JPG,​XCF,​PSD,​PDD,​WEBP)。 - -##### “chameleon_to_pdf” -- 寻找PDF文件谁的头是不正确。 - -##### “archive_file_extensions” -- 认可存档文件扩展(格式是CSV;应该只添加或去掉当问题发生;不必要的去掉可能的可以导致假阳性出现为存档文件,​而不必要的增加将实质上白名单任何事您增加从专用攻击检测;修改有慎重;还请注这个无影响在什么存档可以和不能被分析在内容级)。​这个名单,​作为是作为标准,​名单那些格式使用最常见的横过多数的系统和CMS,​但有意是不全面。 - -##### “block_control_characters” -- 受阻任何文件包含任何控制字符吗(以外换行符)?​(`[\x00-\x08\x0b\x0c\x0e\x1f\x7f]`) 如果您只上传纯文本,​您可以激活这个指令以提供某些另外保护在您的系统。​然而,​如果您上传任何事以外纯文本,​激活这个可能结果在假阳性。​False(假)=不受阻【默认】;​True(真)=受阻。 - -##### “corrupted_exe” -- 损坏文件和处理错误。​False(假)=忽略;​True(真)=受阻【默认】。​检测和受阻潜在的损坏移植可执行【PE】文件吗?​时常(但不始终),​当某些零件的一个移植可执行【PE】文件是损坏或不能被正确处理,​它可以建议建议的一个病毒感染。​过程使用通过最杀毒程序以检测病毒在PE文件需要处理那些文件在某些方式,​哪里,​如果程序员的一个病毒是意识的,​将特别尝试防止,​以允许他们的病毒留不检测。 - -##### “decode_threshold” -- 在原始数据中解码命令的长度限制(如果有任何引人注目性能问题当扫描)。​默认=512KB。​零或空值将关闭门槛(去除任何这样的限基于文件大小)。 - -##### “scannable_threshold” -- 原始数据读取和扫描的最大长度(如果有任何引人注目性能问题当扫描)。​默认=32MB。​零或空值将关闭门槛。​按说,​这个数值应不会少于平均文件大小的文件上传您想和期待收到您的服务器或网站,​应不会多于`filesize_limit`指令,​和应不会多于大致五分之一的总允许内存分配获授PHP通过`php.ini`配置文件。​这个指令存在为尝试防止phpMussel从用的太多内存(这个将防止它从能够顺利扫描文件以上的一个特别文件大小)。 - -##### “allow_leading_trailing_dots” -- 允许文件名中的前导和尾随点吗?​这有时可用于隐藏文件,或欺骗某些系统允许目录遍历。​False(假)=不允许【默认】;True(真)=允许。 - -##### “block_macros” -- 尝试阻止任何包含宏的文件吗?​某些文档和电子表格类型可能包含可执行的宏,因此提供了危险的潜在恶意软件向量。​False(假)=不阻止【默认】;​True(真)=阻止。 - -#### “compatibility” (类别) -phpMussel兼容性指令。 - -##### “ignore_upload_errors” -- 这个指令按说应会关闭除非它是需要为对功能的phpMussel在您的具体系统。​按说,​当是关闭,​当phpMussel检测存在元素在`$_FILES`数组,​它将尝试引发一个扫描的文件代表通过那些元素,​和,​如果他们是空或空白,​phpMussel将回报一个错误信息。​这个是正确行为为phpMussel。​然而,​为某些CMS,​空元素在`$_FILES`可以发生因之的自然的行为的那些CMS,​或错误可能会报告当没有任何,​在这种情况,​正常行为为phpMussel将会使干扰为正常行为的那些CMS。​如果这样的一个情况发生为您,​激活这个指令将指示phpMussel不尝试引发扫描为这样的空元素,​忽略他们当发现和不回报任何关联错误信息,​从而允许延续的页面请求。​False(假)=不忽略;​True(真)=忽略。 - -##### “only_allow_images” -- 设置为true时,扫描仪遇到的任何非图像文件将被立即标记,而不会被扫描。​在某些情况下,这可能有助于减少完成扫描所需的时间。​默认情况下设置为false。 - -#### “heuristic” (类别) -启发式指令。 - -##### “threshold” -- 有某些签名的phpMussel意味为确定可疑和可能恶意文件零件被上传有不在他们自己确定那些文件被上传特别是作为恶意。​这个“threshold”数值告诉phpMussel什么是最大总重量的可疑和潜在恶意文件零件被上传允许之前那些文件是被识别作为恶意。​定义的重量在这个上下文是总数值的可疑和可能恶意文件零件确定。​作为默认,​这个数值将会设置作为3。​一个较低的值通常将结果在一个更高的发生的假阳性但一个更高的发生的恶意文件被确定,​而一个更高的数值将通常结果在一个较低的发生的假阳性但一个较低的数值的恶意文件被确定。​它是通常最好忽略这个数值除非您遇到关联问题。 - -#### “virustotal” (类别) -VirusTotal.com指令。 - -##### “vt_public_api_key” -- 可选的,​phpMussel可以扫描文件使用【Virus Total API】作为一个方法提供一个显着的改善保护级别针对病毒,​木马,​恶意软件和其他威胁。​作为默认,​扫描文件使用【Virus Total API】是关闭。​以激活它,​一个API密钥从Virus Total是需要。​因为的显着好处这个可以提供为您,​它是某物我很推荐激活。​请注意,​然而,​以使用的【Virus Total API】,​您必须同意他们的服务条款和您必须坚持所有方针按照说明通过Virus Total阅读材料!​您是不允许使用这个积分功能除非: - - 您已阅读和您同意服务条款的Virus Total和它的API。​服务条款的Virus Total和它的API可以发现[这里](https://www.virustotal.com/en/about/terms-of-service/)。 - - 您已阅读和您了解至少序言的Virus Total公共API阅读材料(一切之后“VirusTotal Public API v2.0”但之前“Contents”)。​Virus Total公共API阅读材料可以发现[这里](https://www.virustotal.com/en/documentation/public-api/)。 - -请注意:如果扫描文件使用【Virus Total API】是关闭,​您不需要修改任何指令在这个类别(`virustotal`),​因为没有人将做任何事如果这个是关闭。​以获得一个Virus Total API密钥,​从随地在他们的网站,​点击“加入我们的社区”链接位于朝向右上方的页面,​输入在信息请求,​和点击“注册”在做完。​跟随所有指令提供,​和当您有您的公共API密钥,​复制/粘贴您的公共API密钥到`vt_public_api_key`指令的`config.ini`配置文件。 - -##### “vt_suspicion_level” -- 作为标准,​phpMussel将限制什么文件它扫描通过使用【Virus Total API】为那些文件它考虑作为“可疑”。​您可以可选调整这个局限性通过修改的`vt_suspicion_level`指令数值。 -- `0`:文件是只考虑可疑如果,​当被扫描通过phpMussel使用它自己的签名,​他们是认为有一个启发式重量。​这个将有效意味使用的【Virus Total API】将会为一个第二个意见为当phpMussel怀疑一个文件可能的是恶意,​但不能完全排除它可能还可能的被良性(非恶意)和因此将否则按说不受阻它或标志它作为被恶意。 -- `1`:文件是考虑可疑如果,​当被扫描通过phpMussel使用它自己的签名,​他们是认为有一个启发式重量,​如果他们是已知被可执行(PE文件,​Mach-O文件,​ELF/Linux文件,​等等),​或如果他们是已知被的一个格式潜在的包含可执行数据(例如可执行宏,​DOC/DOCX文件,​存档文件例如RAR格式,​ZIP格式和等等)。​这个是标准和推荐可疑级别到使用,​有效意味使用的【Virus Total API】将会为一个第二个意见为当phpMussel不原来发现任何事恶意或错在一个文件它考虑被可疑和因此将否则按说不受阻它或标志它作为被恶意。 -- `2`:所有文件是考虑可疑和应会扫描使用【Virus Total API】。​我通常不推荐应用这个可疑级别,​因为风险的到达您的API配额更快,​但存在某些情况(例如当网站管理员或主机管理员有很少信仰或信任在任何的内容上传从他们的用户)哪里这个可疑级别可以被适当。​有使用的这个可疑级别,​所有文件不按说受阻或标志是作为被恶意将会扫描使用【Virus Total API】。​请注意,​然而,​phpMussel将停止使用【Virus Total API】当您的API配额是到达(无论的可疑级别),​和您的配额将会容易更快当使用这个可疑级别。 - -请注意:无论的可疑级别,​任何文件任一已黑名单或已白名单通过phpMussel不会扫描使用【Virus Total API】,​因为那些文件将会已标志作为恶意或良性通过phpMussel到的时候他们将会否则扫描通过【Virus Total API】,​和因此,​另外扫描不会需要。​能力的phpMussel扫描文件使用【Virus Total API】是意味为建更置信为如果一个文件是恶意或良性在那些情况哪里phpMussel是不完全确定如果一个文件是恶意或良性。 - -##### “vt_weighting” -- phpMussel应使用扫描结果使用【Virus Total API】作为检测或作为检测重量吗?​这个指令存在,​因为,​虽说扫描一个文件使用多AV引擎(例如怎么样Virus Total做) 应结果有一个增加检测率(和因此在一个更恶意文件被抓),​它可以还结果有更假阳性,​和因此,​为某些情况,​扫描结果可能被更好使用作为一个置信得分而不是作为一个明确结论。​如果一个数值的`0`是使用,​扫描结果使用【Virus Total API】将会适用作为检测,​和因此,​如果任何AV引擎使用通过Virus Total标志文件被扫描作为恶意,​phpMussel将考虑文件作为恶意。​如果任何其他数值是使用,​扫描结果使用【Virus Total API】将会适用作为检测重量,​和因此,​数的AV引擎使用通过Virus Total标志文件被扫描作为恶意将服务作为一个置信得分(或检测重量) 为如果文件被扫描应会考虑恶意通过phpMussel(数值使用将代表最低限度的置信得分或重量需要以被考虑恶意)。​一个数值的`0`是使用作为标准。 - -##### “vt_quota_rate”和“vt_quota_time” -- 根据【Virus Total API】阅读材料,​它是限于最大的`4`请求的任何类型在任何`1`分钟大体时间。​如果您经营一个“honeyclient”,​蜜罐或任何其他自动化将会提供资源为Virus Total和不只取回报告您是有权一个更高请求率配额。​作为标准,​phpMussel将严格的坚持这些限制,​但因为可能性的这些率配额被增加,​这些二指令是提供为您指示phpMussel为什么限它应坚持。​除非您是指示这样做,​它是不推荐为您增加这些数值,​但,​如果您遇到问题相关的到达您的率配额,​减少这些数值可能有时帮助您解析这些问题。​您的率限是决定作为`vt_quota_rate`请求的任何类型在任何`vt_quota_time`分钟大体时间。 - -#### “urlscanner” (类别) -phpMussel包含URL扫描程序,​能够检测恶意URL在任何数据或文件它扫描。 - -请注意:如果URL扫描仪已关闭,​您将不需要复习任何指令在这个类别(`urlscanner`),​因为没有指令会做任何事如果这个已关闭。 - -URL扫描仪API配置。 - -##### “google_api_key” -- 激活Google Safe Browsing API当API密钥是设置。​Google Safe Browsing API需要API密钥,​可以得到从[这里](https://console.developers.google.com/)。 -- 请注意:cURL扩展是必须的为了使用此功能。 - -##### “maximum_api_lookups” -- 最大数值API请求来执行每个扫描迭代。​额外API请求将增加的总要求完成时间每扫描迭代,​所以,​您可能想来规定一个限以加快全扫描过程。​当设置`0`,​没有最大数值将会应用的。​设置`10`作为默认。 - -##### “maximum_api_lookups_response” -- 该什么办如果最大数值API请求已超过?​False(假)=没做任何事(继续处理)【默认】;​True(真)=标志/受阻文件。 - -##### “cache_time” -- 多长时间(以秒为单位)应API结果被缓存?​默认是3600秒(1小时)。 - -#### “legal” (类别) -有关法律义务的配置。 - -*请参阅文档的“[法律信息](#SECTION11)”章节以获取更多有关法律义务的信息,以及它可以如何影响您的配置义务。* - -##### “pseudonymise_ip_addresses” -- 编写日志文件时使用假名的IP地址吗?​True(真)=使用假名【标准】;False(假)=不使用假名。 - -##### “privacy_policy” -- 要显示在任何生成的页面的页脚中的相关隐私政策的地址。​指定一个URL,或留空以禁用。 - -#### “template_data” (类别) -指令和变量为模板和主题。 - -模板数据涉及到HTML产量使用以生成“上传是否认”信息显示为用户当一个文件上传是受阻。​如果您使用个性化主题为phpMussel,​HTML产量资源是从`template_custom.html`文件,​和否则,​HTML产量资源是从`template.html`文件。​变量书面在这个配置文件部分是喂在HTML产量通过更换任何变量名包围在大括号发现在HTML产量使用相应变量数据。​为例子,​哪里`foo="bar"`,​任何发生的`

{foo}

`发现在HTML产量将成为`

bar

`。 - -##### “theme” -- 用于phpMussel的默认主题。 - -##### “magnification” -- *v1: “Magnification”* -- 字体放大。​标准 = 1。 - -##### “css_url” -- 模板文件为个性化主题使用外部CSS属性,​而模板文件为t标准主题使用内部CSS属性。​以指示phpMussel使用模板文件为个性化主题,​指定公共HTTP地址的您的个性化主题的CSS文件使用`css_url`变量。​如果您离开这个变量空白,​phpMussel将使用模板文件为默认主题。 - -#### “PHPMailer” (类别) -PHPMailer配置。 - -目前,phpMussel仅将PHPMailer用于前端双因素身份验证。​如果不使用前端,或者如果为前端不用双因素身份验证,则可以忽略这些指令。 - -##### “event_log” -- *v1: “EventLog”* -- 用于记录与PHPMailer相关的所有事件的文件。​指定一个文件名,​或留空以禁用。 - -##### “skip_auth_process” -- *v1: “SkipAuthProcess”* -- 将此指令设置为`true`会指示PHPMailer跳过通过SMTP发送电子邮件时通常会发生的正常身份验证过程。​应该避免这种情况,因为跳过此过程可能会将出站电子邮件暴露给MITM攻击,但在此过程阻止PHPMailer连接到SMTP服务器的情况下可能是必要的。 - -##### “enable_two_factor” -- *v1: “Enable2FA”* -- 该指令确定是否将2FA用于前端帐户。 - -##### “host” -- *v1: “Host”* -- 用于出站电子邮件的SMTP主机。 - -##### “port” -- *v1: “Port”* -- 用于出站电子邮件的端口号。​标准=587。 - -##### “smtp_secure” -- *v1: “SMTPSecure”* -- 通过SMTP发送电子邮件时使用的协议(TLS或SSL)。 - -##### “smtp_auth” -- *v1: “SMTPAuth”* -- 此指令确定是否对SMTP会话进行身份验证(通常应该保持不变)。 - -##### “username” -- *v1: “Username”* -- 通过SMTP发送电子邮件时使用的用户名。 - -##### “password” -- *v1: “Password”* -- 通过SMTP发送电子邮件时使用的密码。 - -##### “set_from_address” -- *v1: “setFromAddress”* -- 通过SMTP发送电子邮件时引用的发件人地址。 - -##### “set_from_name” -- *v1: “setFromName”* -- 通过SMTP发送电子邮件时引用的发件人姓名。 - -##### “add_reply_to_address” -- *v1: “addReplyToAddress”* -- 通过SMTP发送电子邮件时引用的回复地址。 - -##### “add_reply_to_name” -- *v1: “addReplyToName”* -- 通过SMTP发送电子邮件时引用的回复姓名。 - -#### “supplementary_cache_options” (类别) -补充缓存选项。 - -##### “prefix” -- 该值将附加到所有缓存条目的键的开头。​默认值为空。​当同一服务器上存在多个安装时,这对于将它们的缓存彼此分开非常有用。 - -##### “enable_apcu” -- 指定是否尝试使用APCu进行缓存。​标准 = False。 - -##### “enable_memcached” -- 指定是否尝试使用Memcached进行缓存。​标准 = False。 - -##### “enable_redis” -- 指定是否尝试使用Redis进行缓存。​标准 = False。 - -##### “enable_pdo” -- 指定是否尝试使用PDO进行缓存。​标准 = False。 - -##### “memcached_host” -- Memcached主机值。​标准 = “localhost”。 - -##### “memcached_port” -- Memcached端口值。​标准 = “11211”。 - -##### “redis_host” -- Redis主机值。​标准 = “localhost”。 - -##### “redis_port” -- Redis端口值。​标准 = “6379”。 - -##### “redis_timeout” -- Redis超时值。​标准 = “2.5”。 - -##### “pdo_dsn” -- PDO DSN值。​标准 = “`mysql:dbname=phpmussel;host=localhost;port=3306`”。 - -*也可以看看:​[“PDO DSN”是什么?如何能PDO与phpMussel一起使用?](#HOW_TO_USE_PDO)* - -##### “pdo_username” -- PDO用户名。 - -##### “pdo_password” -- PDO密码。 - ---- - - -### 8. 签名格式 - -*也可以看看:* -- *[什么是“签名”?](#WHAT_IS_A_SIGNATURE)* - -phpMussel签名文件前9个字节(`[x0-x8]`)是`phpMussel`。​它作为一个“魔术数字”【magic number】,将其标识为签名文件(这有助于防止phpMussel意外地尝试使用文件不是签名文件)。​下一个字节`[x9]`标识签名文件的类型。​这一点必须知道以便能够正确解释签名文件。​以下类型的签名文件被认可: - -类型 | 字节 | 说明 ----|---|--- -`General_Command_Detections` | `0?` | 为CSV(逗号分隔值)签名文件。​值(签名)是在文件中查找的十六进制编码字符串。​这里的签名没有任何名称或其他详细信息(只有要检测的字符串)。 -`Filename` | `1?` | 为文件名签名。 -`Hash` | `2?` | 为哈希签名。 -`Standard` | `3?` | 为与文件内容直接工作的签名文件。 -`Standard_RegEx` | `4?` | 为与文件内容直接工作的签名文件。​签名可以包含正则表达式。 -`Normalised` | `5?` | 为用于ANSI标准化文件内容的签名文件。 -`Normalised_RegEx` | `6?` | 为用于ANSI标准化文件内容的签名文件。​签名可以包含正则表达式。 -`HTML` | `7?` | 为用于HTML标准化文件内容的签名文件。 -`HTML_RegEx` | `8?` | 为用于HTML标准化文件内容的签名文件。​签名可以包含正则表达式。 -`PE_Extended` | `9?` | 为使用PE元数据的签名文件(但不PE部分元数据)。 -`PE_Sectional` | `A?` | 为使用PE部分元数据的签名文件。 -`Complex_Extended` | `B?` | 为使用各种规则的签名文件,基于由phpMussel生成的扩展元数据。 -`URL_Scanner` | `C?` | 为使用URL的签名文件。 - -下一个字节`[x10]`是一个换行符`[0A]`,并结束phpMussel签名文件头。 - -之后的每个非空行都是签名或规则。​每个签名或规则占用一行。​支持的签名格式如下所述。 - -#### *文件名签名* -所有文件名签名跟随格式: - -`NAME:FNRX` - -`NAME`是名援引为签名和`FNRX`是正则表达式匹配文件名(未编码)为。 - -#### *哈希签名* -所有哈希签名跟随格式: - -`HASH:FILESIZE:NAME` - -`HASH`是全文件的哈希(通常是MD5),​`FILESIZE`是总文件大小和`NAME`是名援引为签名。 - -#### *移植可执行【PE】部分签名* -所有移植可执行【PE】部分签名跟随格式: - -`SIZE:HASH:NAME` - -`HASH`是一个MD5哈希的一个部分的一个移植可执行【PE】文件,​`SIZE`是总大小的该部分和`NAME`是名援引为签名。 - -#### *移植可执行【PE】扩展签名* -所有移植可执行【PE】扩展签名跟随格式: - -`$VAR:HASH:SIZE:NAME` - -`$VAR`是移植可执行【PE】变量名匹配为,​`HASH`是一个MD5哈希的该变量,​`SIZE`是总大小的该变量和`NAME`是名援引为签名。 - -#### *复杂扩展签名* -复杂扩展签名是宁不同从其他可能phpMussel签名类型,​在某种意义上说,​什么他们匹配针对是指定通过这些签名他们自己和他们可以匹配针对多重标准。​多重标准是分隔通过【;】和匹配类型和匹配数据的每多重标准是分隔通过【:】以确保格式为这些签名往往看起来有点像: - -`$变量1:某些数据;$变量2:某些数据;签名等等` - -#### *一切其他* -所有其他签名跟随格式: - -`NAME:HEX:FROM:TO` - -`NAME`是名援引为签名和`HEX`是一个十六进制编码分割的文件意味被匹配通过有关签名。​`FROM`和`TO`是可选参数,​说明从哪里和向哪里在源数据匹配针对。 - -#### *正则表达式/REGEX* -任何形式的正则表达式了解和正确地处理通过PHP应还会正确地了解和处理通过phpMussel和它的签名。​然而,​我将建议采取极端谨慎当写作新正则表达式为基础的签名,​因为,​如果您不完全肯定什么您被做,​可以有很不规则和/或意外结果。​看一眼的phpMussel源代码如果您不完全肯定的上下文其中正则表达式语句被处理。​还,​记得,​所有语句(除外为文件名,​存档元数据和MD5语句)必须是十六进制编码(和除外为语句句法,​还,​当然)! - ---- - - -### 9. 已知的兼容问题 - -#### PHP和PCRE -- phpMussel需要PHP和PCRE以正确地执行和功能。​如果没有PHP,​或如果没有PCRE扩展的PHP,​phpMussel不会正确地执行和功能。​应该确保您的系统有PHP和PCRE安装和可用之前下载和安装phpMussel。 - -#### 杀毒软件兼容性 - -有时phpMussel和其他防病毒解决方案之间存在兼容性问题。​因此,大约每隔几个月,我对照Virus Total检查了最新版本的phpMussel代码库,为了看那里是否报告了任何问题。​报告了问题时,我会在文档中在此处列出报告的问题。 - -当我最近检查(2022年5月12日)时,没有任何问题的报告。 - -我不检查签名文件,文档或其他外围内容。​当其他防病毒解决方案检测到签名文件时,它们总是会引起一些误报(假阳性)。​因此,我强烈建议,如果您打算在已经存在另一种防病毒解决方案的计算机上安装phpMussel,将phpMussel签名文件列入白名单。 - ---- - - -### 10. 常见问题(FAQ) - -- [什么是“签名”?](#WHAT_IS_A_SIGNATURE) -- [什么是“假阳性”?](#WHAT_IS_A_FALSE_POSITIVE) -- [什么是签名更新频率?](#SIGNATURE_UPDATE_FREQUENCY) -- [我在使用phpMussel时遇到问题和我不知道该怎么办!​请帮忙!](#ENCOUNTERED_PROBLEM_WHAT_TO_DO) -- [我想使用phpMussel(在v2之前)与早于5.4.0的PHP版本;​您能帮我吗?](#MINIMUM_PHP_VERSION) -- [我想使用phpMussel(在v2期间)与早于7.2.0的PHP版本;​您能帮我吗?](#MINIMUM_PHP_VERSION_V2) -- [我可以使用单个phpMussel安装来保护多个域吗?](#PROTECT_MULTIPLE_DOMAINS) -- [我不想浪费时间安装这个和确保它在我的网站上功能正常;我可以雇用您这样做吗?](#PAY_YOU_TO_DO_IT) -- [我可以聘请您或这个项目的任何开发者私人工作吗?](#HIRE_FOR_PRIVATE_WORK) -- [我需要专家修改,​的定制,​等等;您能帮我吗?](#SPECIALIST_MODIFICATIONS) -- [我是开发人员,​网站设计师,​或程序员。​我可以接受还是提供与这个项目有关的工作?](#ACCEPT_OR_OFFER_WORK) -- [我想为这个项目做出贡献;我可以这样做吗?](#WANT_TO_CONTRIBUTE) -- [扫描时如何访问文件的具体细节?](#SCAN_DEBUGGING) -- [可以使用cron自动更新吗?](#CRON_TO_UPDATE_AUTOMATICALLY) -- [phpMussel可以扫描非ANSI名称的文件吗?](#SCAN_NON_ANSI) -- [黑名单 – 白名单 – 灰名单 – 他们是什么,我如何使用它们?](#BLACK_WHITE_GREY) -- [当我通过更新页面启用或禁用签名文件时,它会在配置中它们将按字母数字排序。​我可以改变他们排序的方式吗?](#CHANGE_COMPONENT_SORT_ORDER) -- [“PDO DSN”是什么?如何能PDO与phpMussel一起使用?](#HOW_TO_USE_PDO) -- [我的上传工具是异步的(例如,使用ajax,ajaj,json,等等)。当上传阻止时,我看不到任何特殊消息或警告。发生了什么?](#AJAX_AJAJ_JSON) -- [phpMussel可以检测EICAR吗?](#DETECT_EICAR) - -#### 什么是“签名”? - -在phpMussel的上下文中,“签名”是用于识别我们正在寻找的特定内容的数据,它通常采取一些非常小,不同,无害的一些更大和有害的东西的形式(例如,它可以识别病毒,木马,等等)。​也可以是文件校验和,哈希或其他类似的标识符。​通常包括一个标签和一些其他数据,以帮助提供额外的上下文,可以由phpMussel使用它来确定遇到我们正在寻找的最佳方法。 - -#### 什么是“假阳性”? - -术语“假阳性”(*或者:“假阳性错误”;“虚惊”*;英语:*false positive*; *false positive error*; *false alarm*),​很简单地描述,​和在一个广义上下文,​被用来当测试一个因子,​作为参考的测试结果,​当结果是阳性(即:因子被确定为“阳性”,​或“真”),​但预计将为(或者应该是)阴性(即:因子,​在现实中,​是“阴性”,​或“假”)。​一个“假阳性”可被认为是同样的“哭狼” (其中,​因子被测试是是否有狼靠近牛群,​因子是“假”由于该有没有狼靠近牛群,​和因子是报告为“阳性”由牧羊人通过叫喊“狼,​狼”),​或类似在医学检测情况,​当患者被诊断有一些疾病,​当在现实中,​他们没有疾病。 - -一些相关术语是“真阳性”,​“真阴性”和“假阴性”。​一个“真阳性”指的是当测试结果和真实因子状态都是“真”(或“阳性”),​和一个“真阴性”指的是当测试结果和真实因子状态都是“假”(或“阴性”);一个“真阳性”或“真阴性”被认为是一个“正确的推理”。​对立面“假阳性”是一个“假阴性”;一个“假阴性”指的是当测试结果是“阴性”(即:因子被确定为“阴性”,​或“假”),​但预计将为(或者应该是)阳性(即:因子,​在现实中,​是“阳性”,​或“真”)。 - -在phpMussel的上下文,​这些术语指的是phpMussel的签名和他们阻止的文件。​当phpMussel阻止一个文件由于恶劣的,​过时的,​或不正确的签名,​但不应该这样做,​或当它这样做为错误的原因,​我们将此事件作为一个“假阳性”。​当phpMussel未能阻止文件该应该已被阻止,​由于不可预见的威胁,​缺少签名或不足签名,​我们将此事件作为一个“检测错过”(同样的“假阴性”)。 - -这可以通过下表来概括: - -  | phpMussel不应该阻止文件 | phpMussel应该阻止文件 ----|---|--- -phpMussel不会阻止文件 | 真阴性(正确的推理) | 检测错过(同样的“假阴性”) -phpMussel会阻止文件 | __假阳性__ | 真阳性(正确的推理) - -#### 什么是签名更新频率? - -更新频率根据相关的签名文件而有所不同。​所有的phpMussel签名文件的维护者通常尽量保持他们的签名为最新,​但是因为我们所有人都有各种其他承诺,​和因为我们的生活超越了项目,​和因为我们不得到经济补偿/付款为我们的项目的努力,​无法保证精确的更新时间表。​通常,​签名被更新每当有足够的时间。​帮助总是感谢,​如果你愿意提供任何。 - -#### 我在使用phpMussel时遇到问题和我不知道该怎么办!​请帮忙! - -- 您使用软件的最新版本吗?​您使用签名文件的最新版本吗?​如果这两个问题的答案是不,​尝试首先更新一切,​然后检查问题是否仍然存在。​如果它仍然存在,​继续阅读。 -- 您检查过所有的文档吗?​如果没有做,​请这样做。​如果文档不能解决问题,​继续阅读。 -- 您检查过[issues页面](https://github.com/phpMussel/phpMussel/issues)吗?​检查是否已经提到了问题。​如果已经提到了,​请检查是否提供了任何建议,​想法或解决方案。​按照需要尝试解决问题。 -- 如果问题仍然存在,请通过在issues页面上创建新issue寻求帮助。 - -#### 我想使用phpMussel(在v2之前)与早于5.4.0的PHP版本;​您能帮我吗? - -不能。PHP >= 5.4.0是phpMussel < v2的最低要求。 - -#### 我想使用phpMussel(在v2期间)与早于7.2.0的PHP版本;​您能帮我吗? - -不能。PHP >= 7.2.0是phpMussel v2的最低要求。 - -*也可以看看:​[兼容性图表](https://maikuolan.github.io/Compatibility-Charts/)。* - -#### 我可以使用单个phpMussel安装来保护多个域吗? - -可以。​phpMussel安装未绑定到特定域,​因此可以用来保护多个域。​通常,​当phpMussel安装保护只一个域,​我们称之为“单域安装”,​和当phpMussel安装保护多个域和/或子域,​我们称之为“多域安装”。​如果您进行多域安装并需要使用不同的签名文件为不同的域,​或需要不同配置phpMussel为不同的域,​这可以做到。​加载配置文件后(`config.ini`),​phpMussel将寻找“配置覆盖文件”特定于所请求的域(`xn--cjs74vvlieukn40a.tld.config.ini`),​并如果发现,​由配置覆盖文件定义的任何配置值将用于执行实例而不是由配置文件定义的配置值。​配置覆盖文件与配置文件相同,​并通过您的决定,​可能包含phpMussel可用的所有配置指令,​或任何必需的部分当需要。​配置覆盖文件根据它们旨在的域来命名(所以,​例如,​如果您需要一个配置覆盖文件为域,​`https://www.some-domain.tld/`,​它的配置覆盖文件应该被命名`some-domain.tld.config.ini`,​和它应该放置在`vault`与配置文件,​`config.ini`)。​域名是从标题`HTTP_HOST`派生的;“www”被忽略。 - -#### 我不想浪费时间安装这个和确保它在我的网站上功能正常;我可以雇用您这样做吗? - -也许。​这是根据具体情况考虑的。​告诉我们您需要什么,​您提供什么,​和我们会告诉您是否可以帮忙。 - -#### 我可以聘请您或这个项目的任何开发者私人工作吗? - -*参考上面。​* - -#### 我需要专家修改,​的定制,​等等;您能帮我吗? - -*参考上面。​* - -#### 我是开发人员,​网站设计师,​或程序员。​我可以接受还是提供与这个项目有关的工作? - -您可以。​我们的许可证并不禁止这一点。 - -#### 我想为这个项目做出贡献;我可以这样做吗? - -您可以。​对项目的贡献是欢迎。​有关详细信息,​请参阅“CONTRIBUTING.md”。 - -#### 扫描时如何访问文件的具体细节? - -在启动扫描之前,​请分配一个数组以用于此目的。 - -在下面的例子中,​`$Foo` 是分配以用于此目的。​扫描 `/文件/路径/...` 后,​关于 `/文件/路径/...` 所包含的文件的信息将包含在 `$Foo` 中。 - -```PHP -可以使用cron自动更新吗? - -您可以。​前端有内置了API,外部脚本可以使用它与更新页面进行交互。​一个单独的脚本,“[Cronable](https://github.com/Maikuolan/Cronable)”,是可用,它可以由您的cron manager或cron scheduler程序使用于自动更新此和其他支持的包(此脚本提供自己的文档)。 - -#### phpMussel可以扫描非ANSI名称的文件吗? - -假设有一个您想扫描的目录。​在这个目录中,您有一些非ANSI名字的文件。 -- `Пример.txt` -- `一个例子.txt` -- `例です.txt` - -假设您使用CLI模式或phpMussel API进行扫描。 - -在某些系统上使用PHP < 7.1.0时,phpMussel在尝试扫描目录时不会看到这些文件,所以,将无法扫描这些文件。​您可能会看到与扫描空目录相同的结果: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 开始。 - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -另外,当使用PHP < 7.1.0时,单独扫描文件会产生如下结果: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 开始。 - > 检查 'X:/directory/Пример.txt' (FN: b831eb8f): - -> 无效的文件! - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -或者这些: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 开始。 - > X:/directory/??????.txt不是文件或文件夹。 - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -这是因为在PHP 7.1.0之前如何处理非ANSI文件名。​如果遇到此问题,解决方案是将PHP 7.1.0安装更新到7或更新版本。​在PHP >= 7.1.0中,非ANSI文件名处理得更好,并且phpMussel应该能够正确地扫描文件。 - -为了比较,尝试使用PHP >= 7.1.0扫描目录时的结果: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 开始。 - -> 检查 '\Пример.txt' (FN: b2ce2d31; FD: 27cbe813): - --> 没有任何问题发现。 - -> 检查 '\一个例子.txt' (FN: 50debed5; FD: 27cbe813): - --> 没有任何问题发现。 - -> 检查 '\例です.txt' (FN: ee20a2ae; FD: 27cbe813): - --> 没有任何问题发现。 - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -并尝试单独扫描文件: - -``` - Sun, 01 Apr 2018 22:27:41 +0800 开始。 - > 检查 'X:/directory/Пример.txt' (FN: b831eb8f; FD: 27cbe813): - -> 没有任何问题发现。 - Sun, 01 Apr 2018 22:27:41 +0800 完了。 -``` - -#### 黑名单 – 白名单 – 灰名单 – 他们是什么,我如何使用它们? - -这些术语在不同的上下文中表达不同的含义。​在phpMussel中,有三个使用这些术语的上下文:​文件大小响应,文件类型响应,和签名灰名单。 - -为了以最低的处理成本达到理想的效果,phpMussel在实际扫描文件之前可以检查一些简单的事情,如文件的大小,名称和扩展名。​例如;如果文件太大,或者其扩展名表示在我们的网站上我们不想要的文件类型,我们可以立即标记文件,并且不需要扫描它。 - -文件大小响应是phpMussel在文件超出指定限制时响应的方式。​没有涉及实际列表,但根据文件的大小,文件可能会在黑名单,白名单或灰名单中被有效考虑了。​存在两种不同的可选配置指令来分别指定限制和期望的响应。 - -文件类型响应是phpMussel在文件扩展名时响应的方式。​存在三种不同的可选配置指令,用于明确指定哪些扩展应在黑名单,白名单和灰名单中位于。​如果文件的扩展名分别与指定的扩展名匹配,则可以在黑名单,白名单或灰名单中该文件有效地考虑了。 - -在这两种上下文中,在白名单上意味着它不应该被扫描或标记;在黑名单上意味着它应该被标记(因此不需要扫描它);和在灰名单上意味着需要进一步的分析来确定是否我们应该标记它(即,它应该被扫描)。 - -签名灰名单是基本上应该忽略的签名列表(这在文档中已经简要地提到了)。​当灰名单上的签名被触发时,phpMussel继续通过其签名工作,并且对于在灰名单上的签名不要采取任何特殊行动。​没有签名黑名单,因为隐含的行为无论和触发签名的正常的行为是一样的,并且没有签名白名单,因为考虑到phpMussel的正常的工作方式以及它的已有的功能,隐含的行为不会有意义。 - -如果您需要解决由特定签名造成的问题,并且不想禁用或卸载整个签名文件,则签名灰名单很有用。 - -#### 当我通过更新页面启用或禁用签名文件时,它会在配置中它们将按字母数字排序。​我可以改变他们排序的方式吗? - -这个有可能。​如果您需要强制某些文件以特定顺序执行,您可以在列出配置指令的位置中的在他们的名字之前添加一些任意数据,并用冒号分隔。​当更新页面随后再次对文件进行排序时,这个添加的任意数据会影响排序顺序,因此导致它们按照您想要的顺序执行,并且不需要重命名它们。 - -例如,假设配置指令包含如下列出的文件: - -`file1.php,file2.php,file3.php,file4.php,file5.php` - -如果您想首先执行`file3.php`,您可以在文件名前添加`aaa:`或类似: - -`file1.php,file2.php,aaa:file3.php,file4.php,file5.php` - -然后,如果启用了新文件`file6.php`,当更新页面再次对它们进行排序时,它应该像这样结束: - -`aaa:file3.php,file1.php,file2.php,file4.php,file5.php,file6.php` - -当文件禁用时的情况是相同的。​相反,如果您希望文件最后执行,您可以在文件名前添加`zzz:`或类似。​在任何情况下,您都不需要重命名相关文件。 - -#### “PDO DSN”是什么?如何能PDO与phpMussel一起使用? - -“PDO” 是 “[PHP Data Objects](https://www.php.net/manual/zh/intro.pdo.php)” 的首字母缩写(它的意思是“PHP数据对象”)。​它为PHP提供了一个接口,使其能够连接到各种PHP应用程序通常使用的某些数据库系统。 - -“DSN” 是 “[data source name](https://en.wikipedia.org/wiki/Data_source_name)” 的首字母缩写(它的意思是“数据源名称”)。​“PDO DSN”向PDO描述了它应如何连接到数据库。 - -phpMussel可以将PDO用于缓存。​为了使其正常工作,您需要相应地配置phpMussel,从而启用PDO,需要为phpMussel创建一个新数据库以供使用(如果您尚未想到要供phpMussel使用的数据库),并需要按照以下结构在数据库中创建一个新表。 - -当数据库连接成功时,但是必要的表不存在,表自动创建将尝试。​但是,此行为尚未经过广泛测试,因此无法保证成功。 - -当然,这仅在您确实希望phpMussel使用PDO时适用。​如果您对phpMussel使用平面文件缓存(按照其默认配置)或提供的任何其他各种缓存选项感到足够满意,则无需费心设置数据库,数据库表,等等。 - -下面描述的结构使用“phpmussel”作为其数据库名称,但是您可以使用任何想要的数据库名称,只要在DSN配置中名称被复制。 - -``` -╔══════════════════════════════════════════════╗ -║ DATABASE "phpmussel" ║ -║ │╔═══════════════════════════════════════════╩═════╗ -║ └╫─TABLE "Cache" (UTF-8) ║ -║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣ -║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║ -║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║ -╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║ - ╚═════════════════════════════════════════════════╝ -``` - -phpMussel的`pdo_dsn`应配置如下。 - -``` -取决于所使用的数据库驱动程序...... -├─4d (警告:实验性,未经测试,不建议!) -│ │ -│ │ ╔═══════╗ -│ └─4D:host=localhost;charset=UTF-8 -│ ╚╤══════╝ -│ └要查找数据库的主机。 -├─cubrid -│ │ -│ │ ╔═══════╗ ╔═══╗ ╔═════╗ -│ └─cubrid:host=localhost;port=33000;dbname=example -│ ╚╤══════╝ ╚╤══╝ ╚╤════╝ -│ │ │ └要使用的数据库的名称。 -│ │ │ -│ │ └连接的主机端口号。 -│ │ -│ └要查找数据库的主机。 -├─dblib -│ │ -│ │ ╔═══╗ ╔═══════╗ ╔═════╗ -│ └─dblib:host=localhost;dbname=example -│ ╚╤══╝ ╚╤══════╝ ╚╤════╝ -│ │ │ └要使用的数据库的名称。 -│ │ │ -│ │ └要查找数据库的主机。 -│ │ -│ └可能的值: “mssql”, “sybase”, “dblib”。 -├─firebird -│ │ -│ │ ╔═══════════════════╗ -│ └─firebird:dbname=/path/to/database.fdb -│ ╚╤══════════════════╝ -│ ├可以是本地数据库文件的路径。 -│ │ -│ ├可以连接主机和端口号。 -│ │ -│ └如果要使用此功能,请参阅Firebird文档。 -├─ibm -│ │ -│ │ ╔═════╗ -│ └─ibm:DSN=example -│ ╚╤════╝ -│ └要连接的在目录中数据库。 -├─informix -│ │ -│ │ ╔═════╗ -│ └─informix:DSN=example -│ ╚╤════╝ -│ └要连接的在目录中数据库。 -├─mysql (最推荐!) -│ │ -│ │ ╔═════╗ ╔═══════╗ ╔══╗ -│ └─mysql:dbname=example;host=localhost;port=3306 -│ ╚╤════╝ ╚╤══════╝ ╚╤═╝ -│ │ │ └连接的主机端口号。 -│ │ │ -│ │ └要查找数据库的主机。 -│ │ -│ └要使用的数据库的名称。 -├─oci -│ │ -│ │ ╔═════╗ -│ └─oci:dbname=example -│ ╚╤════╝ -│ ├可以参考特定的在目录中数据库。 -│ │ -│ ├可以连接主机和端口号。 -│ │ -│ └如果要使用此功能,请参阅Oracle文档。 -├─odbc -│ │ -│ │ ╔═════╗ -│ └─odbc:example -│ ╚╤════╝ -│ ├可以参考特定的在目录中数据库。 -│ │ -│ ├可以连接主机和端口号。 -│ │ -│ └如果要使用此功能,请参阅ODBC/DB2文档。 -├─pgsql -│ │ -│ │ ╔═══════╗ ╔══╗ ╔═════╗ -│ └─pgsql:host=localhost;port=5432;dbname=example -│ ╚╤══════╝ ╚╤═╝ ╚╤════╝ -│ │ │ └要使用的数据库的名称。 -│ │ │ -│ │ └连接的主机端口号。 -│ │ -│ └要查找数据库的主机。 -├─sqlite -│ │ -│ │ ╔════════╗ -│ └─sqlite:example.db -│ ╚╤═══════╝ -│ └要使用的本地数据库文件的路径。 -└─sqlsrv - │ - │ ╔═══════╗ ╔══╗ ╔═════╗ - └─sqlsrv:Server=localhost,1521;Database=example - ╚╤══════╝ ╚╤═╝ ╚╤════╝ - │ │ └要使用的数据库的名称。 - │ │ - │ └连接的主机端口号。 - │ - └要查找数据库的主机。 -``` - -如果不确定如何构造DSN,请尝试先查看它是否按原样工作,而不进行任何更改。 - -请注意, `pdo_username` 和 `pdo_password` 应与您为数据库选择的用户名和密码相同。 - -#### 我的上传工具是异步的(例如,使用ajax,ajaj,json,等等)。当上传阻止时,我看不到任何特殊消息或警告。发生了什么? - -这很正常。​phpMussel的标准“上传是否认”页面作为HTML。​对于典型的同步请求应该足够了,但是如果您的上传工具需要一些不同的东西,可能还不够。​如果您的上传工具是异步的,或者希望异步提供上传状态,为了使phpMussel能够满足您的上传工具的需求,您可以尝试做一些事情。 - -1. 创建自定义输出模板以提供HTML以外的东西。 -2. 创建自定义插件以完全绕过标准的“上传是否认”页面并在上传被阻止时让上传处理程序执行其他操作(上传处理程序提供了一些插件挂钩,可能有用)。 -3. 完全禁用上传处理程序,而是只从您的上传工具中调用phpMussel API。 - -#### phpMussel可以检测EICAR吗? - -可以。​用于检测EICAR的签名包含在“phpMussel标准正则表达式签名文件”中(`phpmussel_regex.db`)。​只要安装并激活了该签名文件,phpMussel就应该能够检测到EICAR。​由于ClamAV数据库还包含许多专门用于检测EICAR的签名,因此ClamAV可以轻松检测EICAR,但是由于phpMussel仅利用了ClamAV提供的全部签名中的一部分,因此它们本身可能不足以使phpMussel检测EICAR。​检测它的能力还可能取决于您的确切配置。 - ---- - - -### 11. 法律信息 - -#### 11.0 章节前言 - -本文档章节描述了有关该软件包的使用和实施的可能法律考虑事项,并提供一些基本的相关信息。​这对于一些用户来说可能很重要,作为确保遵守其运营所在国家可能存在的任何法律要求的一种手段。​一些用户可能需要根据这些信息调整他们的网站政策。 - -首先,请认识到我(软件包作者)不是律师或合格的法律专业人员。​因此,我无法合法提供法律建议。​此外,在某些情况下,不同国家和地区的具体法律要求可能会有所不同。​这些不同的法律要求有时可能会相互矛盾​(例如:支持[隐私权](https://zh.wikipedia.org/wiki/%E9%9A%90%E7%A7%81%E6%9D%83)和[被遺忘權](https://zh.wikipedia.org/wiki/%E8%A2%AB%E9%81%BA%E5%BF%98%E6%AC%8A)的国家,与支持扩展数据保留的国家相比)。​还要考虑到对软件包的访问不限于特定的国家或辖区,因此,软件包用户群很可能在地理上多样化。​这些观点认为,我无法说明在所有方面对所有用户“符合法律”意味着什么。​不过,我希望这里的信息能够帮助您自己决定您必须做些什么为了在软件包的上下文中符合法律。​如果您对此处的信息有任何疑问或担忧,或者您需要从法律角度提供更多帮助和建议,我会建议咨询合格的法律专业人员。 - -#### 11.1 法律责任 - -此软件包不提供任何担保(这已由包许可证提及)。​这包括(但不限于)所有责任范围。​为了您的方便,该软件包已提供给您。​希望它会有用,它会为你带来一些好处。​但是,使用或实施该软件包是您自己的选择。​您不是被迫使用或实施该软件包,但是当您这样做时,您需要对该决定负责。​我,和其他软件包贡献者,对于您的决定的后果不承担法律责任,无论是直接的,间接的,暗示的,还是其他方式。 - -#### 11.2 第三方 - -取决于其确切的配置和实施,在某些情况下,该软件包可能与第三方进行通信和共享信息。​在某些情况下,某些辖区可能会将此信息定义为“[个人身份信息](https://zh.wikipedia.org/wiki/%E5%80%8B%E4%BA%BA%E5%8F%AF%E8%AD%98%E5%88%A5%E8%B3%87%E8%A8%8A)”(PII)。 - -这些信息如何被这些第三方使用,是受这些第三方制定的各种政策的约束,并且超出了本文档的范围。​但是,在所有这些情况下,与这些第三方共享信息可能被禁用。​在所有这些情况下,如果您选择启用它,则有责任研究您可能遇到的任何问题(如果您担心这些第三方的隐私,安全,和PII使用情况)。​如果存在任何疑问,或者您对PII方面的这些第三方的行为不满意,最好禁用与这些第三方分享的所有信息。 - -为了透明的目的,共享信息的类型,以及与谁共享,如下所述。 - -##### 11.2.0 网络字体 - -一些自定义主题,以及phpMussel前端的标准UI(“用户界面”),和“上传是否认”页面可能出于审美原因使用网络字体。​网络字体默认是禁用,但启用后,用户的浏览器和托管网络字体的服务之间会发生直接通信。​这可能涉及传递信息,例如用户的IP地址,用户代理,操作系统,以及请求可用的其他详细信息。​大部分这些网络字体都由[Google Fonts](https://fonts.google.com/)服务托管。 - -*相关配置指令:* -- `general` -> `disable_webfonts` - -##### 11.2.1 URL扫描程序 - -上文件上传中找到的URL可能会与Google安全浏览API共享,取决于软件包的具体配置方式。​Google安全浏览API的使用需要API密钥,因此默认情况下是禁用。 - -*相关配置指令:* -- `urlscanner` -> `google_api_key` - -##### 11.2.2 VIRUS TOTAL - -当phpMussel扫描文件上传时,这些文件的哈希值可能会与Virus Total API共享,具体取决于软件包的配置方式。​有计划在未来的某个时候能够共享整个文件,但目前该软件包不支持该功能。​Virus Total API的使用需要API密钥,因此默认情况下是禁用。 - -与Virus Total共享的信息(包括文件和相关文件元数据)也可能与其合作伙伴,关联公司以及其他各方共享用于研究目的。​这在他们的隐私政策中有更详细的描述。 - -*看到: [Privacy Policy – VirusTotal](https://support.virustotal.com/hc/en-us/articles/115002168385-Privacy-Policy).* - -*相关配置指令:* -- `virustotal` -> `vt_public_api_key` - -#### 11.3 日志记录 - -由于多种原因,日志记录是phpMussel的重要组成部分。​当没有日志记录时,可能难以诊断和假阳性,可能很难确定phpMussel在某些情况下的表现如何,而且可能很难确定其不足之处,以及可能需要更改哪些配置或签名,以使其继续按预期运行。​无论如何,一些用户可能不想要记录,并且它仍然是完全可选的。​在phpMussel中,默认情况下日志记录是禁用。​要启用它,必须相应地配置phpMussel。 - -另外,如果日志记录在法律上是允许的,并且在法律允许的范围内(例如,可记录的信息类型,多长时间,在什么情况下),可以变化,具体取决于管辖区域和phpMussel的实施上下文(例如,如果您是个人或公司实体经营,如果您在商业或非商业基础上运营,等等)。​因此,仔细阅读本节可能对您有用。 - -phpMussel可以执行多种类型的日志记录。​不同类型的日志记录涉及不同类型的信息,出于各种原因。 - -##### 11.3.0 扫描日志 - -当在程序包配置中启用时,phpMussel保存文件扫描日志。​此类日志记录有两种不同的格式: -- 人类可读的日志文件。 -- 序列化日志文件。 - -人类可读日志文件的条目通常看起来像这样(作为示例): - -``` -Mon, 21 May 2018 00:47:58 +0800 开始。 -> 检查'ascii_standard_testfile.txt' (FN: ce76ae7a; FD: 7b9bfed5): --> 检测phpMussel-Testfile.ASCII.Standard! -Mon, 21 May 2018 00:48:04 +0800 完了。 -``` - -扫描日志条目通常包括以下信息: -- 扫描文件的日期和时间。 -- 扫描的文件的名称。 -- CRC32b哈希的文件名和内容。 -- 文件中检测到的内容(如果检测到任何内容)。 - -*相关配置指令:* -- `general` -> `scan_log` -- `general` -> `scan_log_serialized` - -当这些指令保留为空时,此类日志记录将保持禁用状态。 - -##### 11.3.1 扫描杀死 - -在程序包配置中启用时,phpMussel会保留已阻止的上传日志。 - -“扫描杀死”日志文件的条目通常看起来像这样(作为示例): - -``` -日期: Mon, 21 May 2018 00:47:56 +0800 -IP地址: 127.0.0.1 -== 扫描结果(为什么标记) == -检测phpMussel-Testfile.ASCII.Standard (ascii_standard_testfile.txt)! -== 哈希签名重建 == -3ed8a00c6c498a96a44d56533806153c:666:ascii_standard_testfile.txt -隔离为“/vault/quarantine/0000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.qfu”。 -``` - -“扫描杀戮”条目通常包括以下信息: -- 上传被阻止的日期和时间。 -- 上传源自的IP地址。 -- 文件被阻止的原因(检测到的内容)。 -- 被阻止文件的名称。 -- 被阻止文件的MD5和大小。 -- 是否文件被隔离,以及内部名称是什么。 - -*相关配置指令:* -- `general` -> `scan_kills` - -##### 11.3.2 前端日志记录 - -此类日志记录涉及前端登录尝试,仅在用户尝试登录前端时才会发生(假设启用了前端访问)。 - -前端日志条目包含尝试登录的用户的IP地址,尝试发生的日期和时间以及的结果(登录成功或失败)。​前端日志条目通常看起来像这样(作为示例): - -``` -x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - 已登录。 -``` - -*相关配置指令:* -- `general` -> `frontend_log` - -##### 11.3.3 日志轮换 - -您可能希望在一段时间后清除日志,或者可能被要求依法执行(即,您在法律上允许保留日志的时间可能受法律限制)。​您可以通过在程序包配置指定的日志文件名中包含日期/时间标记(例如,`{yyyy}-{mm}-{dd}.log`),​然后启用日志轮换来实现此目的(日志轮换允许您在超出指定限制时对日志文件执行某些操作)。 - -例如:如果法律要求我在30天后删除日志,我可以在我的日志文件的名称中指定`{dd}.log`(`{dd}`代表天),将`log_rotation_limit`的值设置为30,并将`log_rotation_action`的值设置为`Delete`。 - -相反,如果您需要长时间保留日志,你可以选择完全不使用日志轮换,或者你可以将`log_rotation_action`的值设置为`Archive`,以压缩日志文件,从而减少它们占用的磁盘空间总量。 - -*相关配置指令:* -- `general` -> `log_rotation_limit` -- `general` -> `log_rotation_action` - -##### 11.3.4 日志截断 - -如果这是您想要做的事情,也可以在超过特定大小时截断个别日志文件。 - -*相关配置指令:* -- `general` -> `truncate` - -##### 11.3.5 IP地址“PSEUDONYMISATION” - -首先,如果您不熟悉这个术语,“pseudonymisation”是指处理个人数据,使其不能在没有补充信息的情况下被识别为属于任何特定的“数据主体”,并规定这些补充信息分开保存,采取技术和组织措施以确保个人数据不能被识别给任何自然人。 - -以下资源可以帮助更详细地解释它: -- [[trust-hub.com] What is pseudonymisation?](https://www.trust-hub.com/news/what-is-pseudonymisation/) -- [[Wikipedia] Pseudonymization](https://en.wikipedia.org/wiki/Pseudonymization) - -在某些情况下,您可能在法律上要求对收集,处理,或存储的任何PII进行“pseudonymise”或“anonymise”。​虽然这个概念已经存在了相当长的一段时间,但GDPR/DSGVO提到,并特别鼓励“pseudonymisation”。 - -当记录它们时,phpMussel可以对IP地址进行pseudonymise,如果这是您想做的事情。​当这个情况发生时,IPv4地址的最后八位字节,以及IPv6地址的第二部分之后的所有内容,将由“x”表示(有效地将IPv4地址四舍五入到它的第24个子网因素的初始地址,和将IPv6地址四舍五入到它的第32个子网因素的初始地址)。 - -*相关配置指令:* -- `legal` -> `pseudonymise_ip_addresses` - -##### 11.3.6 统计 - -phpMussel可选择跟踪统计信息,例如自特定时间以来扫描和阻止的文件总数。​默认情况下此功能是禁用,但可以通过程序包配置启用此功能。​所跟踪的信息类型不应视为PII。 - -*相关配置指令:* -- `general` -> `statistics` - -##### 11.3.7 加密 - -phpMussel不[加密](https://zh.wikipedia.org/wiki/%E5%8A%A0%E5%AF%86)其缓存或任何日志信息。​可能会在将来引入缓存和日志加密,但目前没有任何具体的计划。​如果您担心未经授权的第三方获取可能包含PII或敏感信息(如缓存或日志)的phpMussel部分的访问权限,我建议不要将phpMussel安装在可公开访问的位置(例如,在标准`public_html`或等效目录之外【可用于大多数标准网络服务器】安装phpMussel),​也我建议对安装目录强制执行适当的限制权限(特别是对于vault目录)。​如果这还不足以解决您的疑虑,应该配置phpMussel为不会首先收集或记录引起您关注的信息类型(例如,通过禁用日志记录)。 - -#### 11.4 COOKIE - -当用户成功登录前端时,phpMussel设置cookie以便能够在后续请求中的记住用户(即,cookie用于向登录会话验证用户身份)。​在登录页面上,cookie警告显着显示,警告用户如果他们参与相关操作将设置cookie。 Cookie不会在代码库中的任何其他位置设置。 - -*相关配置指令:* -- `general` -> `disable_frontend` - -#### 11.5 市场营销和广告 - -phpMussel不收集或处理任何信息用于营销或广告目的,既不销售也不从任何收集或记录的信息中获利。​phpMussel不是商业企业,也不涉及任何商业利益,因此做这些事情没有任何意义。​自项目开始以来就一直如此,今天仍然如此。​此外,做这些事情会对整个项目的精神和预期目的产生反作用,并且只要我继续维护项目,永远不会发生。 - -#### 11.6 隐私政策 - -在某些情况下,您可能需要依法在您网站的所有页面和部分上清楚地显示您的隐私政策链接。​这可能为了确保用户充分了解您的隐私惯例,收集的个人身份信息类型以及您打算如何使用它的是很重要。​为了能够在phpMussel的“上传是否认”页面上包含这样的链接,提供了配置指令来指定隐私策略的URL。 - -*相关配置指令:* -- `legal` -> `privacy_policy` - -#### 11.7 GDPR/DSGVO - -“通用数据保护条例”(GDPR)是欧盟法规,自2018年5月25日起生效。​该法规的主要目标是向欧盟公民和居民提供有关其个人数据的控制权,并统一欧盟内有关隐私和个人数据的法规。 - -该法规包含有关处理任何欧盟“数据主体”(任何已识别或可识别的自然人)的“[个人身份信息](https://zh.wikipedia.org/wiki/%E5%80%8B%E4%BA%BA%E5%8F%AF%E8%AD%98%E5%88%A5%E8%B3%87%E8%A8%8A)”(PII)的具体规定。​为了符合条例,“企业”(按照法规的定义),和任何相关的系统和流程必须默认实现“隐私设计”,​必须使用尽可能高的隐私设置,​必须对任何存储或处理的信息实施必要的保护措施(数据的 pseudonymisation 或完整 anonymisation ),​必须明确无误地声明他们收集的数据类型,​他们如何处理数据,​出于何种原因,​他们保留多长时间,​以及他们是否与任何第三方分享这些数据,​与第三方共享的数据类型,​为什么,​等等。 - -只有按照条例有合法依据才能处理数据。​一般而言,这意味着为了在合法基础上处理数据主体的数据,必须遵守法律义务,或者仅在从数据主体获得明确,明智,明确的同意之后才进行处理。 - -因为条例的各个方面可能会及时演变,并为了避免过时信息的传播,从权威来源中学习可能会更好的,而不是简单地在包文档中包含相关信息(这个信息可能最终会过时)。 - -一些推荐的资源用于了解更多信息: -- [关于欧盟GDPR隐私合规,中国数字营销人不得不知的9大问题](http://www.adexchanger.cn/top_news/28813.html) -- [史上最严的隐私条例出台,2018年开始执行](https://zhuanlan.zhihu.com/p/20865602) -- [《欧盟数据保护条例》对中国企业的影响 —- 以阿里巴巴集团为例](https://spiegeler.com/%E3%80%8A%E6%AC%A7%E7%9B%9F%E6%95%B0%E6%8D%AE%E4%BF%9D%E6%8A%A4%E6%9D%A1%E4%BE%8B%E3%80%8B%E5%AF%B9%E4%B8%AD%E5%9B%BD%E4%BC%81%E4%B8%9A%E7%9A%84%E5%BD%B1%E5%93%8D-%E4%BB%A5%E9%98%BF%E9%87%8C/) -- [歐盟個人資料保護法 GDPR 即將上路!與電商賣家息息相關的 Google Analytics 資料保留政策,你瞭解了嗎?](https://shopline.hk/blog/google-analytics-gdpr/) -- [歐盟一般資料保護規範](https://zh.wikipedia.org/wiki/%E6%AD%90%E7%9B%9F%E4%B8%80%E8%88%AC%E8%B3%87%E6%96%99%E4%BF%9D%E8%AD%B7%E8%A6%8F%E7%AF%84) -- [REGULATION (EU) 2016/679 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex:32016R0679) - ---- - - -最后更新:2022年5月12日。