tag:forum.selfhtml.org,2005:/selfDAU User Config-file – SELFHTML-Forum2018-12-02T11:32:35Zhttps://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737526#m1737526beatovichhttps://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html2018-12-01T11:54:23Z2018-12-01T11:54:23ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737528#m1737528dedlfix2018-12-01T12:04:02Z2018-12-01T12:04:02ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737534#m1737534ursus contionabundo2018-12-01T12:58:40Z2018-12-01T13:14:49ZDAU User Config-file (Update)<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737541#m1737541pl2018-12-01T17:35:28Z2018-12-01T17:35:28ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737562#m1737562JürgenBhttps://www.j-berkemeier.de2018-12-02T09:49:44Z2018-12-02T09:49:44ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737529#m1737529beatovichhttps://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html2018-12-01T12:09:44Z2018-12-01T12:09:44ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737556#m1737556pl2018-12-02T07:46:56Z2018-12-02T07:46:56ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737530#m1737530dedlfix2018-12-01T12:16:11Z2018-12-01T12:16:11ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737531#m1737531beatovichhttps://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html2018-12-01T12:22:11Z2018-12-01T12:25:06ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737536#m1737536beatovichhttps://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html2018-12-01T13:18:27Z2018-12-01T13:20:30ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737559#m1737559pl2018-12-02T08:12:22Z2018-12-02T08:12:22ZDAU User Config-file (Update)<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737537#m1737537ursus contionabundo2018-12-01T13:27:36Z2018-12-01T13:43:29ZHuhn-Ei-Problem - die Lösung<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737557#m1737557beatovichhttps://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html2018-12-02T08:02:33Z2018-12-02T08:02:33ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737558#m1737558dedlfix2018-12-02T08:08:10Z2018-12-02T08:08:10ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737560#m1737560pl2018-12-02T08:23:30Z2018-12-02T08:28:23ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737563#m1737563beatovichhttps://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html2018-12-02T09:53:17Z2018-12-02T09:53:17ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737565#m1737565JürgenBhttps://www.j-berkemeier.de2018-12-02T10:23:51Z2018-12-02T10:25:09ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737566#m1737566beatovichhttps://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html2018-12-02T10:27:08Z2018-12-02T10:31:41ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737567#m1737567pl2018-12-02T10:37:17Z2018-12-02T10:37:17ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737570#m1737570beatovichhttps://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html2018-12-02T10:53:15Z2018-12-02T10:53:15ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737572#m1737572pl2018-12-02T11:05:16Z2018-12-02T11:05:16ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737577#m1737577JürgenBhttps://www.j-berkemeier.de2018-12-02T11:14:20Z2018-12-02T11:14:20ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737574#m1737574beatovichhttps://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html2018-12-02T11:08:51Z2018-12-02T11:08:51ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737576#m1737576pl2018-12-02T11:13:44Z2018-12-02T11:13:44ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737579#m1737579beatovichhttps://beat-stoecklin.ch/pub/musik-gitarrenunterricht-laufental.html2018-12-02T11:22:49Z2018-12-02T11:22:49ZDAU User Config-file<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>
https://forum.selfhtml.org/self/2018/dec/1/dau-user-config-file/1737581#m1737581pl2018-12-02T11:32:35Z2018-12-02T11:32:35ZDAU User Config-file<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>