Nach Umszug von Strato auf 1und1 funzt Dirlist nicht mehr, beides bereits WB2.12

dbs

Eigentlich war immer ein anderer gut für sowas.
Die 0.24dev als Grundlage könntest du aber hier reinstellen. Vielleicht erbarmt sich jemand es zu vollenden.
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

evaki

Nö.
Gibts tatsächlich sonst niemanden, der das Ding für strict tauglich machen könnte?

Mal abgesehen von der Tatsache, daß ich -noch- nicht einschätzen kann, ob ich persönlich das noch hinkriege (bin leider nicht streßtauglich, es gab aber schon konkrete Hinweise per  PM  (Y) , wäre also schon drin ), stellt es sich vom Gefühl her eher als ein Zeitproblem dar. Habe tatsächlich auch noch eine Leben neben der WB-Selbsthilfegruppe, manchmal "Sandkasten" genannt. Wenns nur einer aus dieser Gruppe wäre, der das Ding nutzen würde, läge schon etwas auf dem Tisch.

Aber vielleicht hat dbs ja noch was in der Schublade  :-D Für derartige Überraschungen ist er -mit Verlaub- immer mal gut.
MfG. Evaki
p.s. Bin wahrscheinlich ab Montag erstmal wech, da auf Reisen.

Craxx

Craxx;)

Craxx

Craxx;)

evaki

Keine Ahnung was die letzte war, sollte aber unter "non-strict" weiterhin laufen..
Bin schon bei der 0.24dev, was heißen soll, daß ich soweit mache wie ich kann, und dann muß der ein oder andere möglicherweise noch nachlegen. Da ich in der Woche nur häppchenweise gucke und mache, kanns dauern. Scheint ja ok zu sein, bei Dir läufts und andere haben sich noch nicht gemeldet.
MfG. Evaki

Craxx

Craxx;)

dbs

[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

evaki

Ich packs immer noch nicht beiseite, sondern schau immer mal rein, wenns die Zeit erlaubt.
Gibt ja auch noch anneres. Essen muß man auch mal un so.
Das hat natürlich wieder zu neuen Erkenntnissen geführt.
DV kann man durchaus zustimmen (sinngemäß: teilweise neu programmieren), wenn man erkennt, daß -hier nur ein Beispiel genannt- der Parser das Form (htt) schluckt, aber das Form deshalb nicht mit php gegen CSFR (post) abgesichert werden kann. Ajax geht ja in diesem Fall der Sortierung nicht. 

Einige Fehlermeldungen scheinen jetzt abgestellt.

Aber die Installation unter MySql-strict stellt mich aktuell schon wieder vor neue Probleme.
Gibts bei der Erzeugung der Tabelle "BLOB/TEXT column can't have a default value"
und man korrigiert das, indem man DEFAULT rausschmeißt, hat man sich ein neues Problem eingehandelt "[sql_addEntry()] Field 'xxx' doesn't have a default value".  Da kommt Freude auf  :roll:
Als Laie ist mir dann nicht klar, ob der Code besch... ist oder ich mal wieder bei nem Denkfehler hängen geblieben bin. Jedenfalls find ichs beknackt, daß hier für jederlei Furz 'ne Funktion geschrieben wurde. Das Zeugs funktioniert wie festgenagelt. Vielleicht bin ich ja auch nur zu doof...

Fürn Programmierer ist das alles wohl leicht zu durchschauen, aber ich -heul -nee nee  :-D
Vielleicht löst jemand das Problem mit 'nem Tip auf, möglicherweise 'nen Denkfehler.
Boah macht dat Spaß...

MfG. Evaki


dbs

Deine Meldungen bekomme ich auch, wenn kein Verzeichnis gewählt und dann abgespeichert wurde.
+ Meine Meldung. Aber, wenn das nur ein Einzelfall ist, kann man das ignorieren.
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

evaki

Bisher hatte ich immer mit Inhalt auf logs geschaut.
Nun, nach Entfernung des Inhalts, habe ich zwar immer noch nicht (wahrscheinlich erst wenn ich mal neu starte) Deine Notiz, dafür aber
Fri, 08 Jun 2018 18:27:32 +0000 [E_NOTICE] \modules\dirlist\class.dirlist.php:[361] from \modules\dirlist\modify.php:[45] dirlist->dlgModify "Undefined index: section_id"
Fri, 08 Jun 2018 18:27:32 +0000 [E_NOTICE] \modules\dirlist\class.dirlist.php:[361] from \modules\dirlist\modify.php:[45] dirlist->dlgModify "Undefined index: exclude"
Fri, 08 Jun 2018 18:27:32 +0000 [E_NOTICE] \modules\dirlist\class.dirlist.php:[361] from \modules\dirlist\modify.php:[45] dirlist->dlgModify "Undefined index: extensions""

Ich glaube, daß ich noch eine Weile "Spaß" haben werde. Wer hätte das gedacht  8-)

Wenn ich recht erinnere, hatten vor langer Zeit einige Module (eben die "alten") diese Art von Macke, also ohne Inhalt Fehlermeldungen. Hatste dann was inititiert, waren se wech.

Wenn man das nicht neu programmieren will, aufs Weglegen hatte DV ja schon hingewiesen, wird man -erst recht ich, der von nix was weiß- als Folge da wohl Kompromisse eingehen müssen, und sogar können, weil keine Funktionen eingeschränkt werden. Aber noch gehts ja um Fehlersuche.
Und nicht zu vergessen, es läuft ja noch. Ist ja kein Totalausfall.

MfG. Evaki

dbs

Schon nach Anlegen des Abschnittes und dann bei jedem weiteren Aufruf, egal ob ein Verzeichnis gewählt wurde oder nicht.
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

evaki

Dasch'ja'n Ding.
Diese Meldung krieg ich einfach nicht, trotz dev und error... -1 + config debug_true
egal wie oft ich in die Tasten haue.

Bekommst Du die mit schon eingebundenen Inhalt, oder wenn "noch nix drin" ist?
MfG. Evaki

dbs

QuoteLäuft und funktioniert das alles bei Dir dbs? Also auch weiterhin die Sortierung?
Und ohne Fehlermeldung?
Die Frage hattest später nachgeschoben, deshalb total übersehen von mir.
Sortierungen und Ausschlüsse funktionieren tadellos bei mir.
Frontend verursacht keine Meldungen.
Nur Backend erzeugt bei jedem Aufruf:
[E_NOTICE] /modules/dirlist/class_dirlist.php:[444] from /modules/dirlist/modify.php:[45] dirlist->dlgModify "Uninitialized string offset: -1

Ich würde aus der frontend.css die Zeile 17 mit background und color rausnehmen oder nur color: #000 stehen lassen. Denn weiß (Schrift) auf grau (Button) lässt sich schwer lesen.
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

evaki

Liegt schon wieder korrigiert und optimiert vor (v23e)
Aber wie einige Kommentare vorher schon erläutert, gehts erst mal um Sicherheit, auch wenn die klitzekleine Lücke für Spitzmäuse bisher (in all den Versionen vorher) noch nicht gefährdend in Erscheinung trat. Danach halt noch "die anderen Sachen".  <ironie>Hab ja sonst nix um die Ohren</ironie)
Oft klappt das hier auch mit alten Modulen prima, wenns Unterstützung gibt, und man Biß hat. Man sollte aber wissen, daß es auch viele hoffnungslose Fälle gibt
MfG. Evaki

Craxx

RESPEKT, klasse!!!
Es tut sich was, freue mich, weil so ein Modul echt für viele Anwendungsbereiche klasse ist. Danke schon mal dafür :-D
Craxx;)

evaki

Na gut, dann eben nochmal von vorne, damit der "Autoloader" Zucker in den Hintern kriegt.
Versuche ja nur aus vorhandenem Code noch was zu machen.
Hätte, hätte Fahrradkette, hätte ich das naturlich nicht auf diese Weise gelöst.

Ist halt doof, wenn man kein Programmierer ist, sondern nur Code-Bastler und nur das nötigste dazu liest.
Aber schön positiv denken, man hat was dazu gelernt und das Essen schmeckte heute trotzdem noch.

MfG. Evaki

DarkViper

Quote from: evaki on June 07, 2018, 05:50:57 PM
Nachtrag: Hab mal die von DV genommen, doch:
There was an uncatched exception
syntax error, unexpected 'unset' (T_UNSET)
in line (121) of (\modules\dirlist\class_parser.php):

in Zeile 120 fehlt nur eine schließende Klammer. ;)  :oops:
sollte so sein:

    
public function delete($key)
    {
        if (
array_key_exists($key$this->data)) {
            unset(
$this->data[$key]);
        }
    }


Quote from: evaki on June 07, 2018, 05:50:57 PM
Zu beachten ist vielleicht, daß v23c die aktuelle ist, und dort alle class-Dateien nun mit Unterstrich statt Punkt versehen sind. Das war eine Möglichkeit mir viel Code-Gewusel zu ersparen.
War ned gaanz so gut , die Idee.. ;)
Die meisten Autoloader suchen in der Reihenfolge:   Klasse.php  >  class.Klasse.php  also erst ohne, dann mit Präfix 'class.'.
Soweit ich jetzt informiert bin, ist Dietmar dabei, immer weiter auf Nutzung des Autoloaders umzustellen, so dass endlich das ganze include, include_once, require, require_once  Gemantsche verschwindet. Und da ist es eben sinnvoll, wenn bei Änderungen gleich die Standards dafür eingehalten werden....   gibt nachher weniger Arbeit.

[url=http://www.youtube.com/watch?v=tmzDAz6ZvFQ]Der blaue Planet[/url] - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen[br]
[i]"You have to take the men as they are... but you can not leave them like that !" :-P [/i]
[i]Das tägliche Stoßgebet: [b]Oh Herr, wirf Hirn vom Himmel ![/b][/i]

evaki

Die nächste Testversion wäre jetzt schon fertig, wenn nicht, wie geahnt, noch ein Sicherheitaspekt hinzu käme. Die Suite meldet (Possible) CSRF auf dem niedrigsten Level.

[Possible] Cross-site Request Forgery (low)

Form Name(s)
btn_file_6
btn_size_6
btn_date

Die befinden sich in modules/dirlist/htt/frontend.htt

Abhilfe
#Senden Sie in jedem HTTP-Request zusätzliche Informationen, anhand derer festgestellt werden kann, ob der Request von einer autorisierten Quelle stammt. Dieser "Validierungstoken" sollte für Angreifer, die noch keinen Zugriff auf das Benutzerkonto haben, schwer zu erraten sein. Wenn einem Request ein Validierungstoken fehlt oder der Token nicht dem erwarteten Wert entspricht, sollte der Server den Request ablehnen.


#Wenn Sie ein Formular in einer Ajax-Anfrage posten, können benutzerdefinierte HTTP-Header verwendet werden, um CSRF zu verhindern, da der Browser verhindert, dass Sites benutzerdefinierte HTTP-Header an eine andere Site senden, aber es Sites erlaubt, benutzerdefinierte HTTP-Header mit XMLHttpRequest an sich selbst zu senden.

For native XMLHttpRequest (XHR) object in JavaScript;
xhr = new XMLHttpRequest();
xhr.setRequestHeader('custom-header', 'value');

For JQuery, if you want to add a custom header (or set of headers) to
a. individual request
$.ajax({
    url: 'foo/bar',
    headers: { 'x-my-custom-header': 'some value' }
});

b. every request
$.ajaxSetup({
    headers: { 'x-my-custom-header': 'some value' }
});
OR
$.ajaxSetup({
    beforeSend: function(xhr) {
        xhr.setRequestHeader('x-my-custom-header', 'some value');
    }
});
Übersetzt mit www.DeepL.com/Translator


Kommt hier ein "Validierungstoken" zum Zuge?

Frage: "Wer kanns und machts, welche Lösung auch immer?"

Oder gehörts in die Tonne (false positive)?

MfG. Evaki

evaki

Dat mit 'PAD' hab isch jesehen.
Das Bild (screenshot) ist bei mir nicht mehr zu sehen.

Bei mir siehts so aus:
function encodeSpecialChars(&$value) {
  $value = preg_replace("/ä/","&auml;",$value);
  $value = preg_replace("/Ä/","&Auml;",$value);
  $value = preg_replace("/ö/","&ouml;",$value);
  $value = preg_replace("/Ö/","&Ouml;",$value);
  $value = preg_replace("/ü/","&uuml;",$value);
  $value = preg_replace("/Ü/","&Uuml;",$value);
  $value = preg_replace("/ß/","&szlig;",$value);
  $value = preg_replace("/€/","&euro;",$value);
    return $value;
  }

  function decodeSpecialChars(&$value) {
    $value = preg_replace("/&auml;/","ä",$value);
    $value = preg_replace("/&Auml;/","Ä",$value);
    $value = preg_replace("/&ouml;/","ö",$value);
    $value = preg_replace("/&Ouml;/","Ö",$value);
    $value = preg_replace("/&uuml;/","ü",$value);
    $value = preg_replace("/&Uuml;/","Ü",$value);
    $value = preg_replace("/&szlig;/","ß",$value);
    $value = preg_replace("/&euro;/","€",$value);
    return $value;
  }

Dateiformat: unix, utf-8, html (utf-8 ohne BOM)

Nachtrag: Hab mal die von DV genommen, doch:
There was an uncatched exception
syntax error, unexpected 'unset' (T_UNSET)
in line (121) of (\modules\dirlist\class_parser.php):


Zu beachten ist vielleicht, daß v23c die aktuelle ist, und dort alle class-Dateien nun mit Unterstrich statt Punkt versehen sind. Das war eine Möglichkeit mir viel Code-Gewusel zu ersparen.

Werde nun erstmal die v23c mit dem Code von "dbs" versehen, und schauen...
Läuft und funktioniert das alles bei Dir dbs? Also auch weiterhin die Sortierung?
Und ohne Fehlermeldung?

Statt dann alles für sql-strict usw. aufzubereiten, würde ich dann vorher noch gerne 'nen Test auf Sicherheit machen. Ich erinnere, daß mit Media, Download und Sortierung ja auch schon ein anderer Kandidat Probleme in Sachen Sicherheit hatte. Also, besser is.
MfG. Evaki

DarkViper

öhm...  von der Sorte Schleifen ham mer die letzten 2-3 Jahre genügend 'umgebaut ;)
so sieht übrigens bei mir eine Originaldatei aus, wenn ich sie lade:

wird als ISO-8859-1 erkannt...  und der utf8-Code für das €-Zeichen dazwischen wird als Fehler angezeigt.
[url=http://www.youtube.com/watch?v=tmzDAz6ZvFQ]Der blaue Planet[/url] - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen[br]
[i]"You have to take the men as they are... but you can not leave them like that !" :-P [/i]
[i]Das tägliche Stoßgebet: [b]Oh Herr, wirf Hirn vom Himmel ![/b][/i]

dbs

Leider ist der Link zur Lösung verloren, aber kam durch Googlesuche zu stackoverflow und sah ziemlich identisch aus.
Sollte passen und wenn Manu nix sagt, passt es. :-)
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

evaki

@DV Wie geil is das denn  (Y)
Kann man ja weiterbauen -die Welt geht ja noch nicht unter

>>Es sind übrigens auch fast alle Dateien noch Windooflike
Ja, ich weiß. Wenns halbwegs fertig ist, werden die alle übern Editor autom auf utf8/Lin gesetzt
Im Moment läufts wie gehabt unter php-embedded-server/win, damit kein Server die Tests behindert.

evaki

Werde es einfügen?
Warum war das so einfach? Hab ich den Wald nicht mehr gesehen? -heul
MfG. Evaki
p.s. Gibts irgendwo ne Erläuterung zu dem Teil? (Netz oder so)

DarkViper

Ich hab mir den Parser mal 'kurz' vorgenommen....
Da war noch eine ganze Reihe mehr Probleme drin als nur das $html.

so mehrere &$this->  aufrufe... was seit (glaub) 5.3 falsch ist.. (in PHP-4 hat das noch gepasst)
noch ein paar ByRef-Aufrufe..  etc.etc..

Es sind übrigens auch fast alle Dateien noch Windooflike...
Also noch umstellen auf utf-8, 4 Leerstellen anstatt Tabs und LF am Zeilenende anstatt CRLF

ach ja.. das auch noch:  Wenn man durchgehend utf-8 benutzt, wird die ganze html-entity-Schieberei auch noch überflüssig
[url=http://www.youtube.com/watch?v=tmzDAz6ZvFQ]Der blaue Planet[/url] - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen[br]
[i]"You have to take the men as they are... but you can not leave them like that !" :-P [/i]
[i]Das tägliche Stoßgebet: [b]Oh Herr, wirf Hirn vom Himmel ![/b][/i]

dbs

Lösung für each()
class_dirlist.php Zeile 532 (auskommentiert und darunter neu eingefügt)
    // while (list($key,$val) = each($media_dirs)) {
      foreach ($media_dirs as $key => $val) {


QuoteKannste Dein/e System/Konfiguration angeben? Vielleicht krieg ichs ja dann auch zu sehen
PHP7.2.6
utf8mb4
mysql5.7
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]