DAU User Config-file – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self DAU User Config-file Sat, 01 Dec 18 11:54:23 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737526#m1737526 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737526#m1737526 <p>hallo</p> <p>Schaut euch mal dieses Konfig File an. Da lachen doch die Hühner…</p> <pre><code class="block language-perl"><span class="token comment"># for localhost</span> <span class="token variable">$PASSWORD</span> <span class="token operator">=</span> <span class="token string">"773af4ce1783ad48d447cf55ecc509340a43fc37213c6686f37f88ebb22469147b1c68ca178cde6292e3524b0f5aabf165b1a4d0da606519e640653e4a350216"</span><span class="token punctuation">;</span> <span class="token variable">@LIMIT_FILETYPE</span> <span class="token operator">=</span> <span class="token string">qw( html svg txt css js )</span><span class="token punctuation">;</span> <span class="token variable">@LIMIT_DIR</span> <span class="token operator">=</span> <span class="token string">qw( /pub /images /css /js )</span><span class="token punctuation">;</span> <span class="token variable">@LIMIT_WRITE_DIR</span> <span class="token operator">=</span> <span class="token string">qw( /pub /images /js /css )</span><span class="token punctuation">;</span> <span class="token variable">$ROOT_DIR</span> <span class="token operator">=</span> <span class="token string">".."</span><span class="token punctuation">;</span> <span class="token variable">$HTTP_BASE_PATH</span> <span class="token operator">=</span> <span class="token string">"/html"</span><span class="token punctuation">;</span> <span class="token variable">$REDIRECT</span> <span class="token operator">=</span> <span class="token string">'http://localhost/html/editor/kissedit.html'</span><span class="token punctuation">;</span> <span class="token variable">$FILESYSENCODING</span> <span class="token operator">=</span> <span class="token string">"CP1252"</span><span class="token punctuation">;</span> <span class="token comment">#betrifft Dateinamen auf modernen Windows</span> <span class="token comment">#$FILESYSENCODING = "iso-8859-1"; #betrifft Dateinamen auf UNIXoiden</span> </code></pre> <p>Das ist ein pm, das einfach so eingebunden wird.</p> <pre><code class="block language-perl"><span class="token keyword">require</span> <span class="token string">"kissedit_config.pm"</span><span class="token punctuation">;</span> </code></pre> <p>Hey but it works on my computer</p> <p>Also gings nur um mich, könnt ich das ja stehen lassen.</p> <p>Aber ich erwarte, dass User von unbekannter technischer Intelligenz diese Konfiguration nun ja konfigurieren.</p> <p>Und da sind wir bei der Frage, was ist</p> <ul> <li>das DAU konformste INIFILE Format</li> <li>mit nur moderatem technischem Aufwand.</li> </ul> <div class="signature">-- <br> <a href="https://beat-stoecklin.ch/pub/index.html" rel="nofollow noopener noreferrer">https://beat-stoecklin.ch/pub/index.html</a> </div> DAU User Config-file Sat, 01 Dec 18 12:04:02 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737528#m1737528 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737528#m1737528 <p>Tach!</p> <blockquote> <p>Aber ich erwarte, dass User von unbekannter technischer Intelligenz diese Konfiguration nun ja konfigurieren.</p> </blockquote> <p>Das erwarte ich nicht. Ein paar Kenntnisse sollte ein Betreiber komplexer Systeme schon mitbringen.</p> <blockquote> <p>Und da sind wir bei der Frage, was ist</p> <ul> <li>das DAU konformste INIFILE Format</li> <li>mit nur moderatem technischem Aufwand.</li> </ul> </blockquote> <p>Ich würde das nicht so sehr am Format festmachen, sondern an der allgemeinen Lesbarkeit. Für mich spielt weniger eine Rolle, ob da die einigermaßen einfache INI-Syntax oder das Anlegen von ein paar Variablen/Arrays einer Programmiersprache in der Datei steht. Das System muss erkennbar sein, wie die Werte hinzuzufügen oder zu ändern sind. Kommentare und Beispiele sind dazu sehr wichtig.</p> <p>dedlfix.</p> DAU User Config-file (Update) Sat, 01 Dec 18 12:58:40 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737534#m1737534 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737534#m1737534 <pre><code class="block language-perl"><span class="token comment"># for localhost</span> <span class="token variable">$PASSWORD</span> <span class="token operator">=</span> <span class="token string">"773af4ce1 ... 653e4a350216"</span><span class="token punctuation">;</span> <span class="token variable">@LIMIT_FILETYPE</span> <span class="token operator">=</span> <span class="token string">qw( html svg txt css js )</span><span class="token punctuation">;</span> <span class="token variable">@LIMIT_DIR</span> <span class="token operator">=</span> <span class="token string">qw( /pub /images /css /js )</span><span class="token punctuation">;</span> <span class="token variable">@LIMIT_WRITE_DIR</span> <span class="token operator">=</span> <span class="token string">qw( /pub /images /js /css )</span><span class="token punctuation">;</span> <span class="token variable">$ROOT_DIR</span> <span class="token operator">=</span> <span class="token string">".."</span><span class="token punctuation">;</span> <span class="token variable">$HTTP_BASE_PATH</span> <span class="token operator">=</span> <span class="token string">"/html"</span><span class="token punctuation">;</span> <span class="token variable">$REDIRECT</span> <span class="token operator">=</span> <span class="token string">'http://localhost/html/editor/kissedit.html'</span><span class="token punctuation">;</span> <span class="token variable">$FILESYSENCODING</span> <span class="token operator">=</span> <span class="token string">"CP1252"</span><span class="token punctuation">;</span> <span class="token comment">#betrifft Dateinamen auf modernen Windows</span> <span class="token comment">#$FILESYSENCODING = "iso-8859-1"; #betrifft Dateinamen auf UNIXoiden</span> </code></pre> <p>Hm. Klar. Perl in alter "Schönheit".</p> <blockquote> <p>Aber ich erwarte, dass User von unbekannter technischer Intelligenz diese Konfiguration nun ja konfigurieren.</p> </blockquote> <p>Das gute alte ini-Format. Muss eben eine Routine her, welche die ini liest, und in die "kissedit_config.pm" übersetzt. Die kann und sollte dann auch Fehler abfangen.</p> <p>Irgendwo hab ich was von Browser gelesen. Ist da ein Grund, den Benutzer kein HTML-Formular ausfüllen zu lassen? Oder geht es hier quasi um den Setup, also um die Einstellungen des Verwalters einer Webanwendung, die lokal erzeugt und dann via ftps, scp oder dergleichen auf den Server übertragen werden - dann hielte ich obiges für tragbar.</p> <p><strong>Sonstige Kritik:</strong></p> <blockquote> <pre><code class="block language-perl"><span class="token variable">$FILESYSENCODING</span> <span class="token operator">=</span> <span class="token string">"iso-8859-1"</span><span class="token punctuation">;</span> <span class="token comment">#betrifft Dateinamen auf UNIXoiden</span> </code></pre> </blockquote> <p>Ich bin mir nicht sicher, was damit gemeint ist. Aber bei allem, was im Ergebnis meiner Überlegungen in Frage kommt, <a href="https://forum.selfhtml.org/self/2018/oct/26/perl-filesystem-encoding-erkennen/1735187#m1735187" rel="noopener noreferrer">würde ich auf halbwegs aktuellen Systemen "utf-8" eintragen</a>.</p> <blockquote> <pre><code class="block language-perl"><span class="token variable">$PASSWORD</span> <span class="token operator">=</span> <span class="token string">"773af4ce1 ... 653e4a350216"</span><span class="token punctuation">;</span> </code></pre> </blockquote> <p>Hehe. Das sieht nicht gut aus. <a href="https://metacpan.org/pod/Digest::Bcrypt" rel="nofollow noopener noreferrer">Perl kann bcrypt</a>. Ich schreib gern was, dann kann Perl auch <code>password_hash()</code>, <code>password_verify()</code> und <code>password_needs_rehash()</code>.</p> DAU User Config-file Sat, 01 Dec 18 17:35:28 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737541#m1737541 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737541#m1737541 <p>Hi,</p> <p>eine Konfigurationsdatei muss unabhängig von der Programmiersprache sein. Eine .ini liefert E/A/V (Entity Attribute Value) und auch das lässt sich tiefer schachteln. <code>a=v</code> oder <code>x:y</code>reicht ja vielleicht auch schon, das lässt sich prima parsen (gerade eben mit Perl). Und auch JSON gänge, aber ich will hier keine Empfehlung abgeben. Außer den Hinweis noch, daß solche textbasierten Dateichen u.U. Flaschenhälser sein können, insbesondere wenn es viele sind oder in den MB Bereich hineinwachsen.</p> <p>Abhelfe schafft da nur ein zweckmäßiges Deployment.</p> <p>MfG</p> DAU User Config-file Sun, 02 Dec 18 09:49:44 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737562#m1737562 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737562#m1737562 <p>Hallo Beat,</p> <p>wenn du eine DAU-sichere Configdatei willst, halte den DAU vom Config fern. Schreib ein Script oder Programm, das die Wünsche des Users im Dialog ermittelt und die Configdatei erstellt.</p> <p>Gruß<br> Jürgen</p> DAU User Config-file Sat, 01 Dec 18 12:09:44 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737529#m1737529 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737529#m1737529 <p>hallo</p> <blockquote> <p>Tach!</p> <blockquote> <p>Aber ich erwarte, dass User von unbekannter technischer Intelligenz diese Konfiguration nun ja konfigurieren.</p> </blockquote> <p>Das erwarte ich nicht. Ein paar Kenntnisse sollte ein Betreiber komplexer Systeme schon mitbringen.</p> <blockquote> <p>Und da sind wir bei der Frage, was ist</p> <ul> <li>das DAU konformste INIFILE Format</li> <li>mit nur moderatem technischem Aufwand.</li> </ul> </blockquote> <p>Ich würde das nicht so sehr am Format festmachen, sondern an der allgemeinen Lesbarkeit. Für mich spielt weniger eine Rolle, ob da die einigermaßen einfache INI-Syntax oder das Anlegen von ein paar Variablen/Arrays einer Programmiersprache in der Datei steht. Das System muss erkennbar sein, wie die Werte hinzuzufügen oder zu ändern sind. Kommentare und Beispiele sind dazu sehr wichtig.</p> </blockquote> <p>Aber du musst doch zugeben, dass es ein Unterschied ist</p> <ul> <li>Ob eine Konfigurationsanweisung nicht verstanden/interpretiert wird.</li> <li>Oder ob sie zu einem Fehler führt, der nach lästigen Folgehandlungen ruft, wie etwa error.txt zu konsultieren.</li> </ul> <div class="signature">-- <br> <a href="https://beat-stoecklin.ch/pub/index.html" rel="nofollow noopener noreferrer">https://beat-stoecklin.ch/pub/index.html</a> </div> DAU User Config-file Sun, 02 Dec 18 07:46:56 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737556#m1737556 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737556#m1737556 <blockquote> <p>oder das Anlegen von ein paar Variablen/Arrays einer Programmiersprache in der Datei steht</p> </blockquote> <p>Genau das ist ein Sicherheitsproblem: So lässt sich nämlich jeder beliebige Code einschleusen.</p> <p>MfG</p> DAU User Config-file Sat, 01 Dec 18 12:16:11 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737530#m1737530 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737530#m1737530 <p>Tach!</p> <blockquote> <p>Aber du musst doch zugeben, dass es ein Unterschied ist</p> <ul> <li>Ob eine Konfigurationsanweisung nicht verstanden/interpretiert wird.</li> <li>Oder ob sie zu einem Fehler führt, der nach lästigen Folgehandlungen ruft, wie etwa error.txt zu konsultieren.</li> </ul> </blockquote> <p>Nö, muss ich nicht. Ich wüsste nicht, was das kleinere Übel wäre, eine Änderung, die keine Auswirkung zeigt oder ein Fehler, der als Folge der Änderung deutlich zu sehen ist, und damit zeigt, dass die Änderung <em>so</em> nicht richtig war. Die eigentliche Frage ist, wie einfach man an Hilfe kommt, wie das eigentlich gewollte korrekt zu konfigurieren ist.</p> <p>dedlfix.</p> DAU User Config-file Sat, 01 Dec 18 12:22:11 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737531#m1737531 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737531#m1737531 <p>hallo</p> <blockquote> <p>Tach!</p> <blockquote> <p>Aber du musst doch zugeben, dass es ein Unterschied ist</p> <ul> <li>Ob eine Konfigurationsanweisung nicht verstanden/interpretiert wird.</li> <li>Oder ob sie zu einem Fehler führt, der nach lästigen Folgehandlungen ruft, wie etwa error.txt zu konsultieren.</li> </ul> </blockquote> <p>Nö, muss ich nicht. Ich wüsste nicht, was das kleinere Übel wäre, eine Änderung, die keine Auswirkung zeigt oder ein Fehler, der als Folge der Änderung deutlich zu sehen ist, und damit zeigt, dass die Änderung <em>so</em> nicht richtig war. Die eigentliche Frage ist, wie einfach man an Hilfe kommt, wie das eigentlich gewollte korrekt zu konfigurieren ist.</p> </blockquote> <p>Vorgesehen (derzeit implementiert) ist, dass ein Aufruf ohne irgend ein action Paramter die Anleitung zur Konfiguration ausgibt. Dabei werden derzeit geltende Werte mit angezeigt. Der user hat also Kenntnis darüber, ob seine Angaben interpretiert wurden. Insbesondere wird ein neuer Paswort-Hash aufgrund eines übermittelten Passwort Strings ausgegeben.</p> <p>Wenn ich aber in der derzeitigen .pm einen Syntaxfehler erzeuge, bekommt der User im Browser nur einen 500er.</p> <p>vielleicht sollte ich das mit einem try .. catch um das require mindestens abfangen.</p> <div class="signature">-- <br> <a href="https://beat-stoecklin.ch/pub/index.html" rel="nofollow noopener noreferrer">https://beat-stoecklin.ch/pub/index.html</a> </div> DAU User Config-file Sat, 01 Dec 18 13:18:27 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737536#m1737536 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737536#m1737536 <p>hallo</p> <blockquote> <pre><code class="block language-perl"><span class="token comment"># for localhost</span> <span class="token variable">$PASSWORD</span> <span class="token operator">=</span> <span class="token string">"773af4ce1783ad48d447cf55ecc509340a43fc37213c6686f37f88ebb22469147b1c68ca178cde6292e3524b0f5aabf165b1a4d0da606519e640653e4a350216"</span><span class="token punctuation">;</span> <span class="token variable">@LIMIT_FILETYPE</span> <span class="token operator">=</span> <span class="token string">qw( html svg txt css js )</span><span class="token punctuation">;</span> <span class="token variable">@LIMIT_DIR</span> <span class="token operator">=</span> <span class="token string">qw( /pub /images /css /js )</span><span class="token punctuation">;</span> <span class="token variable">@LIMIT_WRITE_DIR</span> <span class="token operator">=</span> <span class="token string">qw( /pub /images /js /css )</span><span class="token punctuation">;</span> <span class="token variable">$ROOT_DIR</span> <span class="token operator">=</span> <span class="token string">".."</span><span class="token punctuation">;</span> <span class="token variable">$HTTP_BASE_PATH</span> <span class="token operator">=</span> <span class="token string">"/html"</span><span class="token punctuation">;</span> <span class="token variable">$REDIRECT</span> <span class="token operator">=</span> <span class="token string">'http://localhost/html/editor/kissedit.html'</span><span class="token punctuation">;</span> <span class="token variable">$FILESYSENCODING</span> <span class="token operator">=</span> <span class="token string">"CP1252"</span><span class="token punctuation">;</span> <span class="token comment">#betrifft Dateinamen auf modernen Windows</span> <span class="token comment">#$FILESYSENCODING = "iso-8859-1"; #betrifft Dateinamen auf UNIXoiden</span> </code></pre> <p>Hm. Klar. Perl in alter "Schönheit".</p> </blockquote> <p>Abgesehen von our( ... ) Deklarationen im Hauptscrypt.</p> <blockquote> <blockquote> <p>Aber ich erwarte, dass User von unbekannter technischer Intelligenz diese Konfiguration nun ja konfigurieren.</p> </blockquote> <p>ini-Format. Muss eben eine Routine her, welche die ini liest, und in die "kissedit_config.pm" übersetzt.</p> </blockquote> <p>Wäre zu evaluieren.</p> <blockquote> <p>Irgendwo hab ich was von Browser gelesen. Ist da ein Grund, den Benutzer kein HTML-Formular ausfüllen zu lassen? Geht es hier quasi um den Setup, also um die Einstellungen des Verwalters einer Webanwendung, dann halte ich es für tragbar.</p> </blockquote> <p>Ich glaube du magst chicken-egg probleme. Nein, für diese Konfig darf's kein Webinterface geben. Der Browser gibt lediglich die wirksame konfiguration aus zwecks Überprüfung.</p> <blockquote> <p><strong>Sonstige Kritik:</strong></p> <blockquote> <pre><code class="block language-perl"><span class="token variable">$FILESYSENCODING</span> <span class="token operator">=</span> "iso<span class="token operator">-</span><span class="token number">8859</span><span class="token operator">-</span><span class="token number">1</span> </code></pre> </blockquote> <p>Ich bin mir nicht sicher, was damit gemeint ist. Aber bei allem, was im Ergebnis meiner Überlegungen in Frage kommt, würde ich auf halbwegs aktuellen Systemen "utf-8" eintragen.</p> </blockquote> <p>Da gibts einen langen thread dazu <a href="https://forum.selfhtml.org/self/2018/oct/26/perl-filesystem-encoding-erkennen/1735181#m1735181" rel="noopener noreferrer">https://forum.selfhtml.org/self/2018/oct/26/perl-filesystem-encoding-erkennen/1735181#m1735181</a></p> <blockquote> <blockquote> <pre><code class="block language-perl"><span class="token variable">$PASSWORD</span> <span class="token operator">=</span> <span class="token string">"773af4ce1 ... 653e4a350216"</span><span class="token punctuation">;</span> </code></pre> </blockquote> <p>Hehe. Das sieht nicht gut aus. <a href="https://metacpan.org/pod/Digest::Bcrypt" rel="nofollow noopener noreferrer">Perl kann bcrypt</a>. Ich schreib gern was, dann kann Perl auch <code>password_hash()</code>, <code>password_verify()</code> und <code>password_needs_rehash()</code>.</p> </blockquote> <p>lies $PASSHASH sha2 gesalzen.</p> <div class="signature">-- <br> <a href="https://beat-stoecklin.ch/pub/index.html" rel="nofollow noopener noreferrer">https://beat-stoecklin.ch/pub/index.html</a> </div> DAU User Config-file (Update) Sun, 02 Dec 18 08:12:22 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737559#m1737559 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737559#m1737559 <blockquote> <pre><code class="block language-perl"><span class="token comment"># for localhost</span> <span class="token variable">$PASSWORD</span> <span class="token operator">=</span> <span class="token string">"773af4ce1 ... 653e4a350216"</span><span class="token punctuation">;</span> <span class="token variable">@LIMIT_FILETYPE</span> <span class="token operator">=</span> <span class="token string">qw( html svg txt css js )</span><span class="token punctuation">;</span> <span class="token variable">@LIMIT_DIR</span> <span class="token operator">=</span> <span class="token string">qw( /pub /images /css /js )</span><span class="token punctuation">;</span> <span class="token variable">@LIMIT_WRITE_DIR</span> <span class="token operator">=</span> <span class="token string">qw( /pub /images /js /css )</span><span class="token punctuation">;</span> <span class="token variable">$ROOT_DIR</span> <span class="token operator">=</span> <span class="token string">".."</span><span class="token punctuation">;</span> <span class="token variable">$HTTP_BASE_PATH</span> <span class="token operator">=</span> <span class="token string">"/html"</span><span class="token punctuation">;</span> <span class="token variable">$REDIRECT</span> <span class="token operator">=</span> <span class="token string">'http://localhost/html/editor/kissedit.html'</span><span class="token punctuation">;</span> <span class="token variable">$FILESYSENCODING</span> <span class="token operator">=</span> <span class="token string">"CP1252"</span><span class="token punctuation">;</span> <span class="token comment">#betrifft Dateinamen auf modernen Windows</span> <span class="token comment">#$FILESYSENCODING = "iso-8859-1"; #betrifft Dateinamen auf UNIXoiden</span> </code></pre> <p>Hm. Klar. Perl in alter "Schönheit".</p> </blockquote> <p>Es ist alles Andere als schön: Denn es müllt den aktuellen Namespace mit globalen Variablen zu. Wenn man es scho so machen will, dann besser so, daß die mit <code>do</code> oder <code>require</code> eingebundene Datei eine Referenz auf einen Hash liefert:</p> <pre><code class="block language-perl"><span class="token punctuation">{</span> vname <span class="token operator">=></span> <span class="token string">'Mikosch'</span><span class="token punctuation">,</span> name <span class="token operator">=></span> <span class="token string">'Theodorakikus'</span><span class="token punctuation">,</span> <span class="token comment"># usw..</span> <span class="token punctuation">}</span> </code></pre> <p>und so kann man alles zusammen auch besser prüfen. MfG</p> Huhn-Ei-Problem - die Lösung Sat, 01 Dec 18 13:27:36 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737537#m1737537 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737537#m1737537 <blockquote> <p>Ich glaube du magst chicken-egg probleme.</p> </blockquote> <p>Ich kenne die Lösung. Wenn man das Huhn-Ei-Problem ein bis zwei Milliarden Jahre lang zurück itieriert und dabei die Veränderungen der DNS be(ob)achtet steht da: Vor dem Urschleim gab es nur tote Materie. Die andere Lösung unter stärkerer Begrenzung auf "Huhn" und Beachtung der Erbgutveränderung durch den Zeugungsakt ist ebenfalls eindeutig: Das Ei war zuerst da. Es wurde nämlich durch ein Tier gelegt, auf welches die engere Definition von "Huhn" nicht zutrifft.</p> <p>Charles Darwin (1809 - 1889) hat das Huhn-Ei-Problem also schon vor rund 150 Jahren gelöst.</p> DAU User Config-file Sun, 02 Dec 18 08:02:33 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737557#m1737557 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737557#m1737557 <p>hallo</p> <blockquote> <blockquote> <p>oder das Anlegen von ein paar Variablen/Arrays einer Programmiersprache in der Datei steht</p> </blockquote> <p>Genau das ist ein Sicherheitsproblem: So lässt sich nämlich jeder beliebige Code einschleusen.</p> </blockquote> <p>Wenn 'einschleussen' möglich ist, kann aber bei einem INI-File auch einfach das PASSWORD_HASH auf einen Wert gestellt werden, der übernahme möglich macht. Der Angreifer kann sich dann im weiteren den Editor_wirkbereich auf auf .pl und .pm Dateien ausdehnen, und Scripte direkt via Editor schreiben.</p> <p>Wir wollen primär erreichen, das unbedarfte User keine Fehler erzeugen, die zu esotorischen Fehlern führen.</p> <p>Sicherheit erreichen wir dann dadurch, dass die Files auf readonly gestellt werden.</p> <div class="signature">-- <br> <a href="https://beat-stoecklin.ch/pub/index.html" rel="nofollow noopener noreferrer">https://beat-stoecklin.ch/pub/index.html</a> </div> DAU User Config-file Sun, 02 Dec 18 08:08:10 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737558#m1737558 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737558#m1737558 <p>Tach!</p> <blockquote> <blockquote> <p>oder das Anlegen von ein paar Variablen/Arrays einer Programmiersprache in der Datei steht</p> </blockquote> <p>Genau das ist ein Sicherheitsproblem: So lässt sich nämlich jeder beliebige Code einschleusen.</p> </blockquote> <p>Wir reden hier von interpretierenden Sprachen, bei denen der Code des Projekts in lesbarer Form vorliegt. Wer in die Konfigurationsdatei Code einfügen kann, kann das auch in jede beliebige andere Datei des Projekts. Das Problem besteht nicht darin, dass man Code in diese Datei einfügen könnte, sondern wenn Nicht-Administratoren an irgendeiner beliebigen Stelle des gesamten Projektcodes Manipulationen vornehmen können.</p> <p>dedlfix.</p> DAU User Config-file Sun, 02 Dec 18 08:23:30 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737560#m1737560 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737560#m1737560 <p>Nun, <code>require</code>, <code>use</code> oder <code>do</code> kompilieren. Dateien die so eingebunden werden, sind als Public Schnittstelle völlig ungeeignet, denn damit wird auch Schadcode kompiliert!</p> <p>So wirst Du doch Deinen Benutzern nicht erlauben, daß sie ihren eigenen Code in Deine Anwendung einbauen dürfen!?</p> <p>Grausige Vorstellung. Tu es nicht.</p> DAU User Config-file Sun, 02 Dec 18 09:53:17 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737563#m1737563 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737563#m1737563 <p>hallo</p> <blockquote> <p>Hallo Beat,</p> <p>wenn du eine DAU-sichere Configdatei willst, halte den DAU vom Config fern. Schreib ein Script oder Programm, das die Wünsche des Users im Dialog ermittelt und die Configdatei erstellt.</p> </blockquote> <p>OK, dann brauchen wir eine Konfiguration zu jenem Admin Script! ;)))</p> <p>Mein Vorschlag für eine sichere Config:</p> <pre><code class="block">SET_PASSWORD_HASH 773af4ce1783ad48d447cf55ecc509340a43fc37213c6686f37f88ebb22469147b1c68ca178cde6292e3524b0f5aabf165b1a4d0da606519e640653e4a350216 SET_ROOT_DIR .. ADD_FILETYPE html ADD_FILETYPE svg ADD_FILETYPE txt ADD_FILETYPE js ADD_DIR /pub ADD_DIR /images ADD_DIR /css ADD_DIR /js ADD_WRITE_DIR /pub SET_HTTP_BASE_PATH /html SET_REDIRECT http://localhost/html/editor/kissedit.html SET_FILESYSENCODING CP1252 </code></pre> <div class="signature">-- <br> <a href="https://beat-stoecklin.ch/pub/index.html" rel="nofollow noopener noreferrer">https://beat-stoecklin.ch/pub/index.html</a> </div> DAU User Config-file Sun, 02 Dec 18 10:23:51 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737565#m1737565 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737565#m1737565 <p>Hallo Beat,</p> <p>und wie reagiert dein System auf falsche Eingaben?</p> <p>ADD_FILETYPE cpp</p> <p>Woher kennt der DAU deine Syntax?</p> <p>Gruß<br> Jürgen</p> DAU User Config-file Sun, 02 Dec 18 10:27:08 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737566#m1737566 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737566#m1737566 <p>hallo</p> <blockquote> <p>Hallo Beat,</p> <p>und wie reagiert dein System auf falsche Eingaben?</p> </blockquote> <pre><code class="block">open(my $c, "<", $CONFIG_FILE ) or die $!; while(<$c>){ $_ =~ m{^SET_PASSWORD_HASH \s+ (\S+) }x and $PASSWORD_HASH = $1 and next; $_ =~ m{^SET_ROOT_DIR \s+ (\S+) }x and $ROOT_DIR = $1 and next; $_ =~ m{^SET_HTTP_BASE_PATH \s+ (\S+) }x and $HTTP_BASE_PATH = $1 and next; $_ =~ m{^SET_REDIRECT \s+ (\S+) }x and $REDIRECT = $1 and next; $_ =~ m{^SET_FILESYSENCODING \s+ (\S+) }x and $FILESYSENCODING = $1 and next; $_ =~ m{^ADD_FILETYPE \s+ (\S+) }x and push( @LIMIT_FILETYPE, $1) and next; $_ =~ m{^ADD_DIR \s+ (\S+) }x and push( @LIMIT_DIR, $1) and next; $_ =~ m{^ADD_WRITE_DIR \s+ (\S+) }x and push( @LIMIT_WRITE_DIR, $1) and next; } close $c; </code></pre> <p>Nicht registrierte Parameter werden ignoriert. Wenn unsinnige Direktories angegeben werden, wird das an anderer Stelle zu Fehlern führen.</p> <blockquote> <p>ADD_FILETYPE cpp</p> <p>Woher kennt der DAU deine Syntax?</p> </blockquote> <p>Die wird dokumentiert, wenn man kissedit.pl ohne action Parameter aufruft.</p> <div class="signature">-- <br> <a href="https://beat-stoecklin.ch/pub/index.html" rel="nofollow noopener noreferrer">https://beat-stoecklin.ch/pub/index.html</a> </div> DAU User Config-file Sun, 02 Dec 18 10:37:17 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737567#m1737567 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737567#m1737567 <p>hallo</p> <blockquote> <blockquote> <p>ADD_FILETYPE cpp</p> <p>Woher kennt der DAU deine Syntax?</p> </blockquote> <p>Die wird dokumentiert, wenn man kissedit.pl ohne action Parameter aufruft.</p> </blockquote> <p>Da kannst Du auch gleich ein Konfigurations-Editor-Backend für den Browser anbieten. Mach ein schönes Formular mit Erklärungen zu jedem Eingabefeld und alles wird gut.</p> <p>MfG</p> DAU User Config-file Sun, 02 Dec 18 10:53:15 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737570#m1737570 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737570#m1737570 <p>hallo</p> <blockquote> <p>hallo</p> <blockquote> <blockquote> <p>ADD_FILETYPE cpp</p> <p>Woher kennt der DAU deine Syntax?</p> </blockquote> <p>Die wird dokumentiert, wenn man kissedit.pl ohne action Parameter aufruft.</p> </blockquote> <p>Da kannst Du auch gleich ein Konfigurations-Editor-Backend für den Browser anbieten. Mach ein schönes Formular mit Erklärungen zu jedem Eingabefeld und alles wird gut.</p> </blockquote> <p>Gut, und wie schreibe ich die Configuration zu diesem Konfigurationseditor?</p> <p>Tststs... Warum nur tappt ihr alle in die gleiche irrige Annahme, die Lösung sei noch mehr Webformulare?</p> <div class="signature">-- <br> <a href="https://beat-stoecklin.ch/pub/index.html" rel="nofollow noopener noreferrer">https://beat-stoecklin.ch/pub/index.html</a> </div> DAU User Config-file Sun, 02 Dec 18 11:05:16 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737572#m1737572 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737572#m1737572 <p>hallo</p> <blockquote> <p>Gut, und wie schreibe ich die Configuration zu diesem Konfigurationseditor?</p> </blockquote> <p>Auf CPAN gibt es ungezählte Module für Konfigurationsdateien. Z.B. <code>Config::Tiny</code></p> <p>Was Deine Anwendung betrifft, überlege Dir eine Policy hinsichtlich public und admin Bereichen (Realms). Diese Policy kann bis in die Konfiguration hineinreichen derart, daß es Parameter gibt die nur administrative festgelegt sind und Parameter die ein Benutzer festlegen bzw. ändern darf.</p> <p>MfG</p> DAU User Config-file Sun, 02 Dec 18 11:14:20 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737577#m1737577 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737577#m1737577 <p>Hallo Beat,</p> <blockquote> <p>Gut, und wie schreibe ich die Configuration zu diesem Konfigurationseditor?</p> </blockquote> <p>egal, die ist nur für dich.</p> <blockquote> <p>Tststs... Warum nur tappt ihr alle in die gleiche irrige Annahme, die Lösung sei noch mehr Webformulare?</p> </blockquote> <p>Warum tappst du in die irrige Annahme, eine DAU-sichere Configdatei hinzukriegen? Der DAU vergisst, die Config-Datei nach dem Editieren hochzuladen.</p> <p>Vielleicht musst du auch mal festlegen, was für dich ein DAU ist.</p> <p>Gruß<br> Jürgen</p> DAU User Config-file Sun, 02 Dec 18 11:08:51 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737574#m1737574 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737574#m1737574 <p>hallo</p> <blockquote> <p>Auf CPAN gibt es ungezählte Module für Konfigurationsdateien. Z.B. <code>Config::Tiny</code></p> </blockquote> <p>Sag mir lieber, was schlecht ist an der letzten Version.</p> <blockquote> <p>Was Deine Anwendung betrifft, überlege Dir eine Policy hinsichtlich public und admin Bereichen (Realms). Diese Policy kann bis in die Konfiguration hineinreichen derart, daß es Parameter gibt die nur administrative festgelegt sind und Parameter die ein Benutzer festlegen bzw. ändern darf.</p> </blockquote> <p>Die Policy ist einfach: Entweder das Passwort ist richtig oder falsch. Ein Admin zeichnet sich auch dadurch aus, dass er einen FTP Zugang oder andere Filetransfer-Möglichkeiten hat, die ich nicht kennen muss.</p> <div class="signature">-- <br> <a href="https://beat-stoecklin.ch/pub/index.html" rel="nofollow noopener noreferrer">https://beat-stoecklin.ch/pub/index.html</a> </div> DAU User Config-file Sun, 02 Dec 18 11:13:44 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737576#m1737576 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737576#m1737576 <p>hallo</p> <blockquote> <blockquote> <p>Auf CPAN gibt es ungezählte Module für Konfigurationsdateien. Z.B. <code>Config::Tiny</code></p> </blockquote> <p>Sag mir lieber, was schlecht ist an der letzten Version.</p> </blockquote> <p>Finde es selbst heraus.</p> DAU User Config-file Sun, 02 Dec 18 11:22:49 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737579#m1737579 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737579#m1737579 <p>hallo</p> <blockquote> <p>Hallo Beat,</p> <blockquote> <p>Gut, und wie schreibe ich die Configuration zu diesem Konfigurationseditor?</p> </blockquote> <p>egal, die ist nur für dich.</p> </blockquote> <p>Wenns nur um mich ginge, bliebe ich bei der Perl-Modul Variante.</p> <blockquote> <blockquote> <p>Tststs... Warum nur tappt ihr alle in die gleiche irrige Annahme, die Lösung sei noch mehr Webformulare?</p> </blockquote> <p>Warum tappst du in die irrige Annahme, eine DAU-sichere Configdatei hinzukriegen? Der DAU vergisst, die Config-Datei nach dem Editieren hochzuladen.</p> </blockquote> <p>Von einem DAU, der seine Webseite betreibt, erwarte ich, dass er Dinge wie Editor und FTP versteht.</p> <p>Ich erwarte nicht dass er Perl-Syntax versteht.</p> <p>Das ist der Unterschied</p> <div class="signature">-- <br> <a href="https://beat-stoecklin.ch/pub/index.html" rel="nofollow noopener noreferrer">https://beat-stoecklin.ch/pub/index.html</a> </div> DAU User Config-file Sun, 02 Dec 18 11:32:35 Z https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737581#m1737581 https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737581#m1737581 <blockquote> <p>Ich erwarte nicht dass er Perl-Syntax versteht.</p> </blockquote> <p>Was Du immer erwarten kannst und auch erwarten solltest, ist der Fakt, daß ein DAU alles kaputtmachen kann -- Mit oder ohne Perl-Syntax Kenntissen. Davon musst Du ausgehen!</p> <p>MfG</p>