Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shop templates are not protected from direct access #198

Open
cmb69 opened this issue Oct 28, 2017 · 7 comments
Open

Shop templates are not protected from direct access #198

cmb69 opened this issue Oct 28, 2017 · 7 comments
Labels
Milestone

Comments

@cmb69
Copy link
Member

cmb69 commented Oct 28, 2017

All shop templates (in templates/ as well as theme/) can be directly accessed via HTTP(S). Since the templates contain PHP code, this is actually a information leakage vulnerability.

The clean solution would be to rename the file extension from .tpl to .php, and to add a leading line preventing direct access. This would, however, constitute a minor BC break (custom templates in theme/ would have to be adapted accordingly). So an alternative work-around could be to ship respective .htaccess files, and to explicitly document that the folders have to be protected by other means, if the server does not support respective .htaccess files. Adding a respective system check would also appropriate in this case.

I would prefer renaming the file extensions, though, and to prominently document the resulting BC break, and how to handle it.

@cmb69 cmb69 added the bug label Oct 28, 2017
@cmb69 cmb69 added this to the 1.1 milestone Oct 28, 2017
@frase-git
Copy link
Collaborator

Ich verstehe deine Überlegungen.
Dennoch neige ich eher zur .htaccess-Lösung.
Ich denke, die tpl-Endung zeigt schön, um was es sich handelt.
Möglicherweise gibt es auch Proteste.

Wie gesagt, das ist nur eine "Neigung" meinerseits. Ich lasse mich gerne überstimmen.

@cmb69
Copy link
Member Author

cmb69 commented Oct 28, 2017

Dennoch neige ich eher zur .htaccess-Lösung.

Die hat halt zwei Nachteile:

  • sie muss aktuell gehalten werden, was schnell übersehen wird (vgl. cmsimple-xh/cmsimple-xh@7e05467)
  • bei Servern, die .htaccess nicht unterstützen, muss der User anderweitig nachbessern, was wohl leider oft übersehen wird

Mit einer System-Prüfung kann beides deutlich entschärft werden, aber etwas wie XH_isAccessProtected ist leider nicht unproblematisch.

Ich denke, die tpl-Endung zeigt schön, um was es sich handelt.

Die sauberste Lösung wäre wohl .phtml, aber das wird wohl zumindest auf manchen Servern nicht als PHP interpretiert, so dass es nicht wirklich hülfe – jedenfalls nicht, solange nicht der Core (und ggf. reqcheck.php entsprechende Prüfungen durchführt und Probleme meldet.

@frase-git
Copy link
Collaborator

Ich vertraue darauf, dass du das besser einschätzen kannst.
Ich lasse mich gerne überstimmen.

@cmb69
Copy link
Member Author

cmb69 commented Oct 28, 2017

Wie denken andere darüber?

@XHalbert
Copy link
Collaborator

rename the file extension from .tpl to .php, and to add a leading line preventing direct access

wären es nur diese Änderungen oder käme noch mehr hinzu?
(Ich habe bereits einige tpl meinen Bedürfnissen angepasst)

Ich denke, die tpl-Endung zeigt schön, um was es sich handelt

solange die Dateien im template-Ordner bleiben wäre das wohl immer noch übersichtlich oder?
Vllt. könnten die auch beispiel.tpl.php heißen?

Ich vertraue darauf, dass du das besser einschätzen kannst.

ich auch

@cmb69
Copy link
Member Author

cmb69 commented Oct 30, 2017

wären es nur diese Änderungen oder käme noch mehr hinzu?

Zumindest bezüglich dieses Problems wären das die einzigen Änderungen. Irgendwann später mal würde ich die Templates umarbeiten wollen, aber das hat Zeit.

Vllt. könnten die auch beispiel.tpl.php heißen?

Gegen .tpl.php hätte ich nichts einzuwenden.

@frase-git
Copy link
Collaborator

i a net

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants