Author Topic: Swift-Gallery  (Read 1139 times)

Offline dbs

  • Betatester
  • **
  • Posts: 7920
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Swift-Gallery
« Reply #50 on: March 13, 2019, 09:50:21 AM »
Quote
Es gibt aber noch ein dringliches Anliegen.
Hat man das (egal ob altes oder neues ) Modul und noch keine Gallerie installiert ,  werden bei Eingabe von z.B. http://localhost/4-seite.php?gallery_id=1 die Dateien in root (localhost/) gelistet. Sowas meldet kein Scanner

Hatte ich auch schon mal auf Seite 1 erwähnt:
Quote
Habe in der Adresszeile mal eine gallery_id eingegeben, die es nicht gibt. Da zeigt er statt einer Galerie die URL zum WB upgrade-script.

edit: jacobi hatte dafür ja einen Lösungsansatz glaube. Wenn ID nicht vorhanden, schicke zur ersten vorhandenen o.ä..
« Last Edit: March 13, 2019, 10:07:52 AM by dbs »

Offline evaki

  • Posts: 2652
Re: Swift-Gallery
« Reply #51 on: March 13, 2019, 11:02:20 AM »
Falls das im Zusammenhang mit der XSS/SQL inject.-Prävention stand, gucke ich mir das nochmal an.
Unter diesem Aspekt hatte ich es zu diesem Zeitpunkt nicht gesehen.

ps. Jetzt hamwer hier bei uns auch 'ne Bezeichnung für das Codeschnippeln gefunden:
"Betreutes Basteln"

MfG. Evaki
Einmal Pizza Quattro Stagioni bitte, aber ohne Herbst.

Offline jacobi22

  • Posts: 5836
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Swift-Gallery
« Reply #52 on: March 13, 2019, 11:15:17 AM »
ich verstehe zwar den Sinn dieser Aktion hier nicht mehr, aber egal

Quote
Hat man das (egal ob altes oder neues ) Modul und noch keine Gallerie installiert ,  werden bei Eingabe von z.B. http://localhost/4-seite.php?gallery_id=1 die Dateien in root (localhost/) gelistet

Zur Erklärung (sämtlicher Code basiert auf vers 0.7.2
view php

Code: [Select]
$get_content = $database->query("SELECT path,name,description FROM ".TABLE_PREFIX."mod_swift WHERE gallery_id = '".$_REQUEST['gallery_id']."'");
$this_gallery=$get_content->fetchRow();
$gallery_id=$_REQUEST['gallery_id'];
$gallery='/'.$this_gallery['path'];

$gallery wäre der Pfad. Wurde er gesetzt, steht mindestens /media drin, ansonsten mindestens ein / - damit in keinem Fall leer und dieser Code hier wäre wirkungslos

Code: [Select]
if (!empty($gallery)) {
 echo '';
}
 else {
$gallery = ' ';
}

ein paar Zeilen tiefer
Code: [Select]
$gallery_path=WB_PATH.$gallery;
$gallery ist nun leer bzw ein /, es bleibt also das Rootverzeichnis über und die nachfolgende Abfrage ist ebenfalls gültig, da der Pfad zum Root ja existiert

Code: [Select]
if( is_dir( $gallery_path ) ) {
wenn du das verhindern willst, gäbe es zahlreiche Möglichkeiten, eine wäre z.b. diese Zeile hier als Ergebnis aus obiger Abfrage (immernoch mit REQUEST  :-o )

Code: [Select]
$gallery_id=$_REQUEST['gallery_id'];Verwendest du hier statt der übergebenen ID die aus dem Abfrageergebnis, könnte man die weiteren Dinge an diese ID koppeln, z.b. Abfragen, ob ein numerischer Wert und ob er größer Null ist

Eine andere Möglichkeit wäre es, alle weiteren Anfragen an das Ergebnis der Zählung etwas weiter oben zu koppeln, dann kommst du aber in die gleiche Falle bei einer ungültigen ID, also wenn wohl Galerien angelegt wurden, die übermittelte ID aber nicht dabei ist

bei mir läuft der Spass so

Code: [Select]
$sql = 'SELECT * FROM `'.TABLE_PREFIX.'mod_swift` '
                .  'WHERE  `section_id` = '.$iSectionId.' '
                .  'AND  `gallery_id` = '.$iGalleryId.' '
                .  'AND  `active` = 1 '
                .  '';

            if (($oGalleryItem = $oDb->query($sql))) {
                $iLastGalleryId = 0;
                while($aGalleryItem = $oGalleryItem->fetchRow(MYSQLI_ASSOC)) {

der Wichtige Punkt ist die 3. Zeile von unten - auf "deutsch": es geht nur weiter im Code, wenn obige Abfrage ein gültiges Ergebnis liefert. Innerhalb dieses If erfolgt meine komplette Output-Generierung. Wäre das Ergebnis hier ein false (also nix), wird ein leerer Array übergeben - ist somit die sicherste Methode

Probleme sind da, um sie zu lösen, nicht, um nach Ausreden zu suchen.

Offline evaki

  • Posts: 2652
Re: Swift-Gallery
« Reply #53 on: March 13, 2019, 12:04:52 PM »
Quote
ich verstehe zwar den Sinn dieser Aktion hier nicht mehr, aber egal
Jetzt sind wir genau an dem Punkt wo wir wiederholt waren.
Da wirkst Du nur noch demotivierend auf Menschen, die sich mit WB und Code beschäftigen wollen.
Ich selbst mach das nicht zur persönlichen Freude, wie bekannt, sondern weil ich entsprechende Anfragen bekam.
Das war von meiner Seite das letzte Engagement.
Anfragen und Antworten reiche ich ab sofort nur noch ans Forum weiter, und ansonsten halte ich mich raus. Möglich auch, daß sich jemand aus der Gruppe einen Account holt.
MfG. Evaki
Einmal Pizza Quattro Stagioni bitte, aber ohne Herbst.

Offline evaki

  • Posts: 2652
Re: Swift-Gallery
« Reply #54 on: March 13, 2019, 12:30:45 PM »
Ganz vergessen. "Natürlich trotzdem einen großen Dank für die Erläuterungen"  (Y)
Soweit ich erinnere, war
Code: [Select]
if (!empty($gallery)) {
 echo '';
}
 else {
$gallery = ' ';
}
nur dazu gedacht, einer der ersten php-Warnungen zu beseitigen, also zu sonst nix. Zu diesem Zeitpunkt dachte noch niemand an den folgenden Rattenschwanz.

MfG. Evaki
Einmal Pizza Quattro Stagioni bitte, aber ohne Herbst.

Offline jacobi22

  • Posts: 5836
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Swift-Gallery
« Reply #55 on: March 13, 2019, 01:36:38 PM »
ach Evaki

Punkt 1 - es ist völlig ausreichend, wenn du weißt, warum du das machst - ich muß es nicht verstehen

Punkt 2 - auch, wenn ich dir privat auf Grund unserer diversen früheren Dispute eher aus dem Wege gehen würde, es wurden in vernünftiger Art diverse Fragen gestellt und ich habe versucht, diese zu beantworten, zu erklären und mein Wissen zu teilen - nicht nur für dich, sondern für alle, die irgendwo am Code schrauben. Mein heutiges Wissen kommt ja überwiegend auch aus Foren wie stackoverflow usw

Punkt 3 - im Normalfall sollte sich doch jeder über eine neu aufgesetzte Version freuen. Ich habe vor ein paar Tagen mitgeteilt, das die neue Version fertig ist und bei ein paar Leuten zum Test ist. Es wurden Fehler gemeldet, es wurde korrigiert und wieder getestet. Es wurden kleine Installationen upgedated und auch komplexe auf Testseiten und in Public-Projekten. Bisher waren es nur kleine Sachen, die entdeckt wurden, eine falsche CSS-Klasse, ein versehentlich auskommentierter Link und heute, nach dem 4.Tag mal ein "echtes" Problem - eine erste angelegte Galerie wurde nicht automatisch zur Default_Gallery, na gut, gibt es eine neue Version - kein Beinbruch
Da gibt es also Aussichten auf eine neue Modulversion, eine, die auf absehbare Zeit funktionssicher ist, eine, die auch den heutigen Sicherheitsanforder ungen entspricht. Wie angekündigt, wird das Modul in der Frontenddarstellung nicht vom alten in den Nuller-Versionen abweichen, alte Einstellungen werden übernommen. Ein Besucher sieht keinen Unterschied in der Ausgabe. Dazu kommt, das ich mit den neueren WB-Versionen ein für openSouce-CMS sehr sicheres System habe, warum sollte ich mit diversen Alt-Modulen nun wieder Tür und Tor öffnen, wenn da etwas Neueres, Sicheres in Aussicht steht?  Wie gesagt, ich würde es schon gern verstehen, warum man dann auf etwas Altes setzt, dem man schon ansieht, aus welcher Zeitepoche es kommt. Von tatsächlichem Aufwand, der nötig ist, um das Modul von Ausgangsversion 0.6 auf den innerhalb des CMS mittlerweile üblichen sicherheits-technischen und auch Code-technischen Standard zu heben, wären mit vers 0.7.2 (ich sag mal) vielleicht 30% geschafft. Es ist ja nicht nur die view.php, die nach außen abgesichert werden muß. Die meisten Angriffe kommen ja durch Backend-User, dort ist so gut wie keine Absicherung vorhanden, war es nie und ist in vielen Modulen aus dieser Zeit zumindest ähnlich.

Das eigentlich Gefährliche ist dann, das Forumsbesucher den neuesten Thread sehen - oh - ein secureFix für die swiftgallery, installier ich sofort und hab wieder Ruhe für 10 Jahre. Sicherlich sind es im Vergleich zu Vers 0.6 schon ein paar Schritte vorwärts, aber wir kennen doch die Updatemüdigkeit. Ein paar Beiträge weiter oben in der Forumsliste wundert sich jemand, das eine WB 2.8.3 1611 nun nicht mehr läuft und selbst das Update auf 2.8.3 SP4 brachte keine Verbesserung. Ich weiß, er hat über 10.000 Seiten in diesem Projekt und ich verstehe die Ängste, aber ist es nicht schlimmer, wenn gerade solch Projekt dann auf Schlag nicht mehr benutzbar ist? Grundsätzlich kann ich da nur den Kopf schütteln, schließlich haben viele der User, die sich heute wegen Problemen in ihrer alten WB-Version gemeldet haben, bewußt oder unbewußt mit ihren Postings am neuen, sicheren und modernerem WB mitgearbeitet.

Du hast dich hier (wie auch bei diversen anderen Modulen) sehr engagiert und ich weiß ja auch aus deinen Schilderungen in der Vergangenheit, das in eurem Anwenderkreis Bedenken bestehen zu Upgrades, aber wenn du mal einen Schritt zurück trittst und die Arbeiten an den Versionen 0.6 und 0.7 nicht als Autor, sondern als potentieller User betrachtest, wäre dann nicht eine neu aufgesetzte Version, in der auch die Sicherheit passt, die bessere Lösung?
Gerade bei eurem Anwenderkreis gibt es doch ein, wie ich annehme, großes Potential für Upgrades von Modulen oder System und wenn da Bedarf ist oder jemand Angst hat, solch Upgrade durchzuführen, darfst du meine EMailadresse gern weiter geben.

P.S.: früher gab es einen geschlossenen Bereich für solche Diskussionen, nicht-öffentlich. Mir ist schon bewußt, das auch meine Beanstandungen Ängste hervorrufen, wenn man Angriffsmöglichkeit en aufzeigt

Quote
Natürlich trotzdem einen großen Dank für die Erläuterungen

gern geschehen und auch gerne wieder
Probleme sind da, um sie zu lösen, nicht, um nach Ausreden zu suchen.

Offline evaki

  • Posts: 2652
Re: Swift-Gallery
« Reply #56 on: March 13, 2019, 02:33:04 PM »
Quote
wäre dann nicht eine neu aufgesetzte Version, in der auch die Sicherheit passt, die bessere Lösung?
Das ist sie, unbenommen!
Hier gehts aber um etwas anderes, nämlich einen pädagogischen Nebeneffekt.
Auch wenn nicht nur aus IT'ler-Sicht diese Bastelei vollkommen ineffizient ist, hier geht's um Annäherung.
In der Beschäftigung mit auftretenden Problemen (Ergeignisse), wenn diese z.B. - wohlgemerkt - in kleinen bearbeitbaren Blöcken und in der Gesamtlogik zuortenbar daherkommen, ist die Merkfähigkeit für eine vorausschaubare bzw. kalkulierbare Zeit erhöht. Über die Zeit läppert's sich... Falls jemand sich dann für weitergehendes interessiert, ist er bestens gerüstet, auch wenn's keine berufliche Entscheidung mit sich bringen mag. 

Unsere Laien haben daher schon öfter Fragen aufgeworfen, auf die sie ohne diese Erfahrungen nie gekommen wären. Die sind eigentlich nur Nutzer/Schreiber/Fotografen usw., haben aber öfter die Erfahrung machen müssen, daß nicht nur jeder Schei.. golden glänzt, sondern es nützlich sein kann genauer hinzuschauen. Das sollte ihnen nicht genommen werden. Könnte ja auch sein, daß sich jemand für WB-Entwicklung interessiert. Das brauchste nicht, gibt bald neu, ist da nicht so der richtige Ansatz in diesem Zusammenhang :? 

MfG. Evaki

Einmal Pizza Quattro Stagioni bitte, aber ohne Herbst.

Offline jacobi22

  • Posts: 5836
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Swift-Gallery
« Reply #57 on: March 13, 2019, 02:35:45 PM »
Das ist die Erklärung und nun verstehe ich es auch

Dankeschön!  (Y)
Probleme sind da, um sie zu lösen, nicht, um nach Ausreden zu suchen.

Offline evaki

  • Posts: 2652
Re: Swift-Gallery
« Reply #58 on: March 13, 2019, 02:45:24 PM »
Ein schöner Heise-Artikel zum Thema unterschiedlicher Kulturen und Herangehensweise in der Arbeitswelt, wenn auch auf berufliche Ebene und Firmenstruktur bezogen.
Das gleiche Thema existiert auch in der Arbeitskultur (Projekte) an Hochschulen, speziell dort wo sich Teams bilden. Kann man wahrscheinlich überall dort fortführen, wo Spezialisten nicht nur beruflich miteinander kooperieren müssen. - So zum Mars fliegen un so z.B.
MfG. Evaki
Einmal Pizza Quattro Stagioni bitte, aber ohne Herbst.

 

postern-length