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

unnötiges rex_escape melden #383

Open
staabm opened this issue Mar 8, 2023 · 5 comments
Open

unnötiges rex_escape melden #383

staabm opened this issue Mar 8, 2023 · 5 comments
Labels
enhancement New feature or request

Comments

@staabm
Copy link
Member

staabm commented Mar 8, 2023

Feature description / Feature Beschreibung
rex_escape($id) wenn $id ein nativer int ist, soll einen error erzeugen, wenn strikt-rules aktiviert sind.

wenn $id den int via phpdoc bekommt, aber nicht

@gharlan
Copy link
Member

gharlan commented Mar 8, 2023

Wie ist es hier?

function foo(int|string $value) {
    echo rex_escape($value);
}

Wenn int Teil eines Unions ist, der Einfachheit halber vielleicht rex_escape dann schon erlauben?
Oder soll man echo is_int($value) ? $value : rex_escape($value); schreiben?

@staabm
Copy link
Member Author

staabm commented Mar 8, 2023

In deinem beispiel würd ich keinen error werfen.. es geht ja nicht um sicherheit o.ä. Sondern rein um lesbarkeit

@gharlan
Copy link
Member

gharlan commented Mar 8, 2023

is_int($value) ? $value : rex_escape($value) ist vermutlich performanter, weil is_int ja eine der optimierten internen Funktionen ist, und somit der Function-Call wegfällt.
Aber halt zu Lasten der Lesbarkeit. Daher würde ich es da auch bei rex_escape($value) belassen.

@staabm
Copy link
Member Author

staabm commented Mar 8, 2023

bei escaping von klassen-konstanten die keine quotes enthalten, könnte man generell auch auf escaping verzichten
(normale globale konstanten sind bzgl. konkretem wert auf schwierig zu ermitteln, da sie ggf. in IF conditions unterschiedlich defined werden)

@gharlan
Copy link
Member

gharlan commented Mar 8, 2023

bei escaping von klassen-konstanten die keine quotes enthalten, könnte man generell auch auf escaping verzichten

Nicht nur Quotes. < und > zum Beispiel auch.
Wobei es bei den Konstanten dann auch nicht um Security geht, aber halt darum, die gewünschte Ausgabe innerhalb von HTML zu erhalten.

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

No branches or pull requests

2 participants