Hallo
Die Pfade kann ich auf ihre Existenz prüfen, aber ob mir hypothetisch jemand, der die INI manipuliert hat, einen anderen Pfad unterjubelt, natürlich nicht.
Es ist Zweck einer Konfigurationsdatei, manipuliert zu werden, "manipuliert" im neutralen Sinne.
Erwünscht ist die Manipulation aber eben nur, wenn jemand Einstellungen vornimmt, die nachher nicht verändert werden, solange sie gültig sind/sein sollen. Um beim Beispiel der Pfade zu bleiben, werden die in der INI angegebenen Pfade bisher auf ihre Existenz geprüft und das Programm mit einer Meldung im Log gleich wieder beendet, wenn sie nicht existieren.
Möchtest du nicht, dass ein Wert manipuliert, lies: geändert wird, dann hat er in dieser Konfigurationsdatei nichts zu suchen (vielleicht in einer anderen, zweiten, die durch das Dateisystem vor unberechtigtem Zugriff geschützt wird; es gibt für viele Programme systemweite Einstellungen und solche des Benutzers). Hat nichts mit PHP, Python oder Webservern zu tun.
An dieser Stelle gleichen die Anforderungen also denen auf einem Webserver.
Dass von Benutzern eingegebene Werte, auch via Datei, immer innerhalb eines Bereichs fallen müssen, alleine schon, weil Benutzer auch mal Fehler machen, hast du ja bereits selbst erwähnt und ist auch keine Besonderheit. Anders gesagt: Ob dein Skript brav in seinem Arbeitsverzeichnis wurschtelt oder gerade sich selbst ausgibt, mitsamt den MySQL-Zugangsdaten, hast du hoffentlich bereits bei deinem (hypothetischen) in PHP geschriebenen Download-Formular geprüft.
Die Knochenarbeit beim Einlesen von .ini-Dateien kannst du https://docs.python.org/3/library/configparser.html überlassen.
Das tu ich schon.
[Tips und Tricks]
Ohne mich jetzt wiederholen zu wollen: Das sind allgemeine Fragen des sicheren Umgangs mit Benutzereingaben. Dass du unter dem Stichwort Python dazu nichts finden konntest, liegt vielleicht einfach daran, dass es nichts mit Python zu tun hat. Du wirst vielleich eher fündig, wenn du dich auf den speziellen Anwendungsfall konzentrierst, bei den Pfadangaben beispielsweise den Konventionen unter Windows (Rechte, Organisation des Dateisystems, speziell Benutzerverzeichnisse, %USERPROFILE% usw.).
Das ist durchaus möglich. :-)
Tschö, Auge
Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview