Warum sind alle generated pictures ausführbar (0755)?

Moinsen,
ich stoße gerade per Zufall darauf, dass scheinbar seit langem alle generated pictures immer ausführbar gespeichert werden, also mit den Rechten 0755! Das steht ja auch so in der Funktion makeReadable in /core/utils/oxpicgenerator, aber kann mir mal einer erklären, warum? Ist doch ziemlicher Quatsch, ein Bild auszuführen, also braucht man diese Rechte nie (potentielles security-leck), sondern maximal 0644, wenn PHP per fcgid läuft, was allmählich Standard sein dürfte. D.h. man muss in den allermeisten Fällen gar nichts ändern.
Auch liest sich die Logik von makeReadable etwas lustig:


        $blChmodState = false;
        if (file_exists($sTarget) && is_readable($sTarget)) {
            $blChmodState = @chmod($sTarget, 0755);
            if (defined('OXID_PHP_UNIT')) {
                @chmod($sTarget, 0777);
            }
        }

        return $blChmodState ? $sTarget : false;

Es wird also zuerst geprüft, obs bereits readable ist, und nur dann(!) wird es falsch geändert auf executable. Also ist mind. der Funtionsname irreführend, aber ich denke mal, da wurde irgend etwas mal “zu gut” gemeint, und ist letztlich ein Bug, oder? Könnte ich notfalls auch eintragen… :wink:

beste Grüße

Hallo Mitmacher,

das kommt mir auch sehr seltsam vor. Würdest Du das mal im Bugtracker verewigen? Ich verschiebe solange mal diesen Thread hier nach “Bugverdacht” :wink:

Gruß

Hi Marco,
danke fürs Verschieben, macht wohl mehr Sinn, stimmt! :slight_smile:
Und ich habe es gerade mal eingetragen:
https://bugs.oxid-esales.com/view.php?id=6151