Updated privacy policy, Fixed many issues, started working on other parts of the website

Update .dockerignore, .gitignore, and 27 more files...
This commit is contained in:
2022-03-18 21:03:00 +01:00
parent 2288eb64d0
commit a04c63e8bb
29 changed files with 30832 additions and 35 deletions

69
commons/listing.php Normal file
View File

@@ -0,0 +1,69 @@
<?php
// Making sure the file is included.
if(basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"])) {
header('HTTP/1.1 403 Forbidden');
die();
}
// Classes
class ListingFile {
public string $fileName;
public int $fileSize;
public string $absolutePath;
function __construct($fileName, $fileSize, $absolutePath) {
$this->fileName = $fileName;
$this->fileSize = $fileSize;
$this->absolutePath = $absolutePath;
}
}
class ListingContainer {
public string $relativePath;
public array $subDirectories;
public array $files;
function __construct($relativePath) {
$this->relativePath = $relativePath;
$this->subDirectories = array();
$this->files = array();
}
}
// Functions.
function getDirectoryContent(string $dirPath, array $filteringRegexes, int $recursiveBudget, bool $validatePermission): ListingContainer {
$returnedData = new ListingContainer("./");
if($recursiveBudget == 0) {
return $returnedData;
}
if($validatePermission) {
if(!file_exists($dirPath . DIRECTORY_SEPARATOR . ".allow_listing")) {
$returnedData->files[] = new ListingFile(
"Directory listing isn't allowed !",
-1,
realpath($dirPath . DIRECTORY_SEPARATOR . ".allow_listing")
);
return $returnedData;
}
}
foreach (scandir($dirPath) as $key => $value) {
$path = realpath($dirPath . DIRECTORY_SEPARATOR . $value);
if(is_file($path)) {
$returnedData->files[] = new ListingFile(basename($path), filesize($path), realpath($path));
} elseif($value != "." && $value != "..") {
$returnedData->subDirectories[] = getDirectoryContent(
$path,
$filteringRegexes,
$recursiveBudget - 1,
false
);
}
}
return $returnedData;
}
?>

View File

@@ -53,6 +53,11 @@ if(!isset($SIDEBAR_ID)) {
<span class="sidebar-icon"><i class="fab fa-docker"></i></span>
<?php print(localize("programming.docker.title")); ?>
</a>
<div class="sidebar-divider"></div>
<a id="sbl-projects-downloads" href="https://files.nibblepoker.lu/" class="sidebar-link sidebar-link-with-icon">
<span class="sidebar-icon"><i class="fad fa-download"></i></span>
<?php print(localize("programming.downloads.title")); ?>
</a>
</div>
<div class="sidebar-divider"></div>
<a id="sbl-links" href="<?php print(l10n_url_abs('/links/')); ?>" class="sidebar-link sidebar-link-with-icon<?php if($SIDEBAR_ID=="links"){echo(" active");} ?>">

View File

@@ -16,6 +16,7 @@
"programming.others.title": "Others",
"programming.docker.title": "Docker",
"programming.apps.title": "Applications",
"programming.downloads.title": "Downloads",
"programming.tutorials.title": "Tutorials",
"programming.tools.title": "Tools",
"electronics.title": "Electronics",
@@ -48,6 +49,42 @@
"privacy.complaint.title": "How to contact the appropriate authorities ?",
"privacy.complaint.text.1": "Should you wish to report a complaint or if you feel that our privacy policy has not addressed your concern in a satisfactory manner, you may contact your national Data Protection Authority (DPA).",
"privacy.complaint.text.2": "More information on this procedure can be found on the following websites:",
"privacy.v2.data.title": "Data collection",
"privacy.v2.data.intro.1": "This websites only collects data through generic access logs in order to detect and block bad actors from accessing this website.",
"privacy.v2.data.intro.2": "None of the data collected is used for any other purpose,it is never shared with any other third-party and is never use in any sort of analytics.",
"privacy.v2.data.private.1": "Here is the list of private data being collected:",
"privacy.v2.data.private_list.1": "IP address forwarded to us by <i>CloudFlare</i>",
"privacy.v2.data.private_list.2": "Browser's User-Agent",
"privacy.v2.data.non_private.1": "And here is the list of non-private data being collected:",
"privacy.v2.data.non_private_list.1": "Requested resource' URI",
"privacy.v2.data.non_private_list.2": "Date and time",
"privacy.v2.data.end.1": "Once the data has been logged in the access logs, it is automatically retrieved and processed by a locally-hosted application every 30 seconds and then deleted from said logs.",
"privacy.v2.data.end.2": "This application compares this information against a list of known threat sources, targets and behaviours and if a match is found, the private information is anonymized and stored for 7 days pending a manual review.",
"privacy.v2.data.end.3": "Once that 7 day period has elapsed, or once the report has been reviewed, all the relevant data is automatically deleted.",
"privacy.v2.data.end.4": "If your request wasn't flagged as potentially malicious, every data collected from it is thrown out instantly.",
"privacy.v2.data.end.5": "This process should normally never be triggered for regular traffic since most of the triggering actions are ones that should not be possible to accomplish through normal browsing.",
"privacy.v2.data.end.6": "However, this process isn't infallible and there is always an off chance that false positives may happen.",
"privacy.v2.update.intro.1": "The content of this privacy policy was originally written on the 4th of December 2021 and was last updated on the 18th of March 2022.",
"privacy.v2.update.history.1.date": "2021/12/04",
"privacy.v2.update.history.1.desc.1": "Original version",
"privacy.v2.update.history.2.date": "2022/03/18",
"privacy.v2.update.history.2.desc.1": "Changed section on data collection to reflect new policy.",
"privacy.v2.update.history.2.desc.2": "Added mention about CloudFlare and linked to their privacy policy.",
"privacy.v2.update.history.2.desc.3": "Improved the <i>\"Changes to our privacy policy\"</i> section.",
"privacy.v2.update.end.2": "In the event of a change to our privacy policy, you will be informed explicitly, and a copy of previous versions of the policy will be available through this page.",
"privacy.v2.third.title": "Third Parties",
"privacy.v2.third.intro.1": "Our websites uses some services provided by <i>CloudFlare</i> in order to prevent bad actors from accessing this website via their <i>\"Web Application Firewall\"</i>, as well as for caching purpose in order to improve your browsing experience.",
"privacy.v2.third.intro.2": "None of the data that may be gathered by <i>CloudFlare</i> is ever used.",
"privacy.v2.third.intro.3": "If you'd wish to consult their privacy policy, you can do so on their <i>\"Trust Hub\"</i> at the following URLs:",
"privacy.v2.cookies.title": "Cookies",
"privacy.v2.cookies.intro.1": "Our websites doesn't use nor store any cookies in your browser.",
"privacy.v2.cookies.intro.2": "In the unlikely event one is present, we recommend you check CloudFlare's privacy policy on their <i>\"Trust Hub\"</i> at the following URLs:",
"privacy.v2.cookies.intro.3": "This can be caused by malicious traffic coming from your network, or when you visit some private and restricted subdomains.",
"error.common.details.title": "Error details",
"error.4xx.title": "HTTP Client Error",
"error.4xx.text": "${error.4xx.text}",
@@ -75,9 +112,15 @@
"content.search.count.multiple": "results",
"about.biography.title": "Who am I ?",
"about.philosophy.title": "Projects philosophy",
"about.skills.title": "Skills",
"about.work.title": "Professional experiences",
"about.education.title": "TODO:SchoolAndEducation"
"about.education.title": "TODO:SchoolAndEducation",
"downloads.title": "Downloads",
"downloads.description": "$downloads.description",
"downloads.title.header": "Downloads",
"downloads.intro.title": "Directory listing of: <i>/files/</i>"
},
"fr": {
"home.title.nav": "Accueil",
@@ -95,6 +138,7 @@
"programming.others.title": "Autres",
"programming.docker.title": "Docker",
"programming.apps.title": "Applications",
"programming.downloads.title": "Téléchargements",
"programming.tutorials.title": "Tutoriels",
"programming.tools.title": "Outils",
"electronics.title": "Électronique",
@@ -127,6 +171,42 @@
"privacy.complaint.title": "Comment contacter les autorités compétentes ?",
"privacy.complaint.text.1": "Dans l'éventualité où vous souhaiteriez déposer une plainte pour une quelconque raison en rapport avec notre politique de confidentialité, veuillez vous adresser à l'autorité nationale de protection des données (DPA).",
"privacy.complaint.text.2": "Les informations concernant cette procédure peuvent être trouvées sur les sites internet suivants:",
"privacy.v2.data.title": "Collecte de données",
"privacy.v2.data.intro.1": "Ce site web collecte des données au travers des journaux d'évènements afin de détecter et bloquer de potentiels acteurs malveillants.",
"privacy.v2.data.intro.2": "Les données collectées ne sont en aucun cas utilisées pour une quelconque autre raison.",
"privacy.v2.data.private.1": "Voici la liste des données personelles collectées:",
"privacy.v2.data.private_list.1": "L'addresse IP source détéctée par <i>CloudFlare</i>",
"privacy.v2.data.private_list.2": "Le \"User-Agent\" de votre navigateur internet",
"privacy.v2.data.non_private.1": "Et voici la liste des données non-personelles collectées:",
"privacy.v2.data.non_private_list.1": "L'URI de la ressource demandée",
"privacy.v2.data.non_private_list.2": "La date et l'heure",
"privacy.v2.data.end.1": "Les données présentes dans les journaux d'évènements sont extraites et retirées pour être traitées par une application qui tourne en local toute les 30 secondes.",
"privacy.v2.data.end.2": "L'application en question utilise et compare ces informations avec une liste d'acteurs malveillants et comportement suspects connus.<br>Si une correspondance est détectée, les informations privées sont anonymisées et sont stockées pendant 7 jours en attendant qu'un examen manuel soit effectué.",
"privacy.v2.data.end.3": "Après cette période de 7 jours, ou après qu'un examen ait été effectué, les données sont automatiquement supprimées.",
"privacy.v2.data.end.4": "Toute information concernant une requête non suspecte est automatiquement supprimée.",
"privacy.v2.data.end.5": "Ce processus n'est normalement jamais utilisé sur des requêtes provenant d'un trafic légitime dû au fait qu'il isole principalement les actions et requêtes qui ne devraient pas être possible sur ce site.",
"privacy.v2.data.end.6": "Cependant, ce processus n'est pas infaillible et il est toujours possible qu'une requête soit isolée par erreur.",
"privacy.v2.update.intro.1": "Le contenu de notre politique de confidentialité a été originalement écrit et le 4 décembre 2021 modifié pour la dernière fois le 18 mars 2022.",
"privacy.v2.update.history.1.date": "2021/12/04",
"privacy.v2.update.history.1.desc.1": "Version originale",
"privacy.v2.update.history.2.date": "2022/03/18",
"privacy.v2.update.history.2.desc.1": "Mise-à-jour de la section sur la collection des données.",
"privacy.v2.update.history.2.desc.2": "Ajout d'une mention de CloudFlare et ajout de liens vers leur politique de confidentialité.",
"privacy.v2.update.history.2.desc.3": "Amélioration de la section <i>\"Changements à notre politique de confidentialité\"</i>.",
"privacy.v2.update.end.2": "En cas de changement, vous serez clairement informé et une copie des anciennes versions de notre politique sera disponible au travers de cette page.",
"privacy.v2.third.title": "Organismes tiers",
"privacy.v2.third.intro.1": "Ce site web utilise les services proposés par <i>CloudFlare</i> afin d'empêcher des acteurs malveillants d'y accéder grâce au <i>\"web application Firewall\"</i>, ainsi que pour améliorer l'expérience des personnes le visitant grâce à leur CDN.",
"privacy.v2.third.intro.2": "Aucune des données collectées et stockées par <i>CloudFlare</i> n'est utilisé.",
"privacy.v2.third.intro.3": "Si vous souhaitez consulter leur politique de confidentialité, vous pouvez le faire sur leur <i>\"Trust Hub\"</i> en utilisant les liens ci-dessous:",
"privacy.v2.cookies.title": "Cookies de navigation",
"privacy.v2.cookies.intro.1": "Ce site web n'utilise pas, et ne stocke aucun cookies dans votre navigateur internet.",
"privacy.v2.cookies.intro.2": "Dans l'éventualité où l'un serait présent, nous vous recommandons de consulter le <i>\"Trust Hub\"</i> de <i>CloudFlare</i> via les liens suivants pour plus d'informations:",
"privacy.v2.cookies.intro.3": "Ce genre de situation peut être causée par le fait que du trafic suspect provient de votre navigateur internet, ou lors d'une visite sur un de nos sous-domaines privés.",
"error.common.details.title": "Détails de l'erreur",
"error.4xx.title": "Erreur du client HTTP",
"error.4xx.text": "${error.4xx.text}",
@@ -154,6 +234,7 @@
"content.search.count.multiple": "résultats",
"about.biography.title": "Qui suis-je ?",
"about.philosophy.title": "Philosophie des projets",
"about.skills.title": "Compétences",
"about.work.title": "Parcours professionnel",
"about.education.title": "Éducation"