CMS selber Programmieren?
bearbeitet von ursus contionabundo> Jeder kann eine Webseite mit einem Formular erstellen, das auf deine Kommentarseite verweist. Das Formular kann komplett mit hidden-Fields befüllt sein und der Absenden-Button könnte wie ein harmloser Link aussehen.
Na gut.
Habe mich entschlossen, statt an `$_POST['GoTo']` herumzukorrigieren, die (vermeintliche) URL auf den korrekten Beginn zu prüfen und dann auf genau die Zeichen, die htmlspecialchars(string, ENT_QUOTES) ersetzen würde. (In den echten URLs können diese Zeichen nicht vorkommen)
~~~php
$GoToError = false;
if (! 0 === strpos( $_POST['GoTo'] , $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] ) ) {
$GoToError = true;
} else {
foreach ( [ '"', '\'', '<', '>' ] as $badChar ) {
if ( false !== strpos( $_POST['GoTo'], $badChar ) ) {
$GoToError = true;
}
}
}
if ( $GoToError ) {
http_response_code(418);
echo "<h1>Nice try.</h1>";
exit;
}
~~~
Da eine Reparatur nicht sinnvoll ist (htmlspecialchars würde z.B. immer noch eine Weiterleitung zu fremden Ressourcen erlauben) schicke ich den Besucher aber in die "Nice try" – Wüste. Ich überlege noch ob und wie ich das logge.
CMS selber Programmieren?
bearbeitet von ursus contionabundo> Jeder kann eine Webseite mit einem Formular erstellen, das auf deine Kommentarseite verweist. Das Formular kann komplett mit hidden-Fields befüllt sein und der Absenden-Button könnte wie ein harmloser Link aussehen.
Na gut.
Habe mich entschlossen, statt an `$_POST['GoTo']` herumzukorrigieren, die (vermeintliche) URL auf den korrekten Beginn zu prüfen und dann auf genau die Zeichen, die htmlspecialchars(string, ENT_QUOTES) ersetzen würde. (In den echten URLs können diese Zeichen nicht vorkommen)
~~~php
$GoToError = false;
if (! 0 === strpos( $_POST['GoTo'] , $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] ) ) {
$GoToError = true;
}
foreach ( [ '"', '\'', '<', '>' ] as $badChar ) {
if ( false !== strpos( $_POST['GoTo'], $badChar ) ) {
$GoToError = true;
}
}
if ( $GoToError ) {
http_response_code(418);
echo "<h1>Nice try.</h1>";
exit;
}
~~~
Da eine Reparatur nicht sinnvoll ist (htmlspecialchars würde z.B. immer noch eine Weiterleitung zu fremden Ressourcen erlauben) schicke ich den Besucher aber in die "Nice try" – Wüste. Ich überlege noch ob und wie ich das logge.
CMS selber Programmieren?
bearbeitet von ursus contionabundo> Jeder kann eine Webseite mit einem Formular erstellen, das auf deine Kommentarseite verweist. Das Formular kann komplett mit hidden-Fields befüllt sein und der Absenden-Button könnte wie ein harmloser Link aussehen.
Na gut.
Habe mich entschlossen, statt an `$_POST['GoTo']` herumzukorrigieren, die (vermeintliche) URL auf den korrekten Beginn zu prüfen und dann auf genau die Zeichen, die htmlspecialchars(string, ENT_QUOTES) ersetzen würde. (In den echten URLs können diese Zeichen nicht vorkommen)
~~~php
$GoToError = false;
if (! 0 === strpos( $_POST['GoTo'] , $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] ) ) {
$GoToError = true;
}
foreach ( [ '"', '\'', '<', '>' ] as $badChar ) {
if ( false !== strpos( $_POST['GoTo'], $badChar ) ) {
$GoToError = true;
}
}
if ( $GoToError ) {
http_response_code(418);
echo "<h1>Nice try.</h1>";
exit;
?>
~~~
Da eine Reparatur nicht sinnvoll ist (htmlspecialchars würde z.B. immer noch eine Weiterleitung zu fremden Ressourcen erlauben) schicke ich den Besucher aber in die "Nice try" – Wüste. Ich überlege noch ob und wie ich das logge.
CMS selber Programmieren?
bearbeitet von ursus contionabundo> Jeder kann eine Webseite mit einem Formular erstellen, das auf deine Kommentarseite verweist. Das Formular kann komplett mit hidden-Fields befüllt sein und der Absenden-Button könnte wie ein harmloser Link aussehen.
Na gut.
Habe mich entschlossen, statt an `$_POST['GoTo']` herumzukorrigieren, die (vermeintliche) URL auf den korrekten Beginn zu prüfen und dann auf genau die Zeichen, die htmlspecialchars(string, ENT_QUOTES) ersetzen würde. (In den echten URLs können diese Zeichen nicht vorkommen)
~~~php
$GoToError = false;
if (! 0 === strpos( $_POST['GoTo'] , $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] ) ) {
$GoToError = true;
}
foreach ( [ '"', '\'', '<', '>' ] as $badChar ) {
if ( false !== strpos( $_POST['GoTo'], $badChar ) ) {
$GoToError = true;
}
}
if ( $GoToError ) {
http_response_code(418);
echo "<h1>Nice try.</h1>";
exit;
?>
~~~
Da eine Reparatur nicht sinnvoll ist (htmlspecialchars würde z.B. immer noch eine Weiterleitung zu fremden Ressourcen erlauben) schicke ich den Besucher aber in die "Nice try" – Wüste. Ich überlege noch ob und wie ich das logge.
CMS selber Programmieren?
bearbeitet von ursus contionabundo> Jeder kann eine Webseite mit einem Formular erstellen, das auf deine Kommentarseite verweist. Das Formular kann komplett mit hidden-Fields befüllt sein und der Absenden-Button könnte wie ein harmloser Link aussehen.
Na gut.
Habe mich entschlossen, statt in `$_POST['GoTo']` herumzukorrigieren, die (vermeintliche) URL auf den korrekten Beginn zu prüfen und dann auf genau die Zeichen, die htmlspecialchars(string, ENT_QUOTES) ersetzen würde. (In den echten URLs können diese Zeichen nicht vorkommen)
~~~php
$GoToError = false;
if (! 0 === strpos( $_POST['GoTo'] , $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] ) ) {
$GoToError = true;
}
foreach ( [ '"', '\'', '<', '>' ] as $badChar ) {
if ( false !== strpos( $_POST['GoTo'], $badChar ) ) {
$GoToError = true;
}
}
if ( $GoToError ) {
http_response_code(418);
echo "<h1>Nice try.</h1>";
exit;
?>
~~~
Da eine Reparatur nicht sinnvoll ist (htmlspecialchars würde z.B. immer noch eine Weiterleitung zu fremden Ressourcen erlauben) schicke ich den Besucher aber in die "Nice try" – Wüste. Ich überlege noch ob und wie ich das logge.
CMS selber Programmieren?
bearbeitet von ursus contionabundo> Jeder kann eine Webseite mit einem Formular erstellen, das auf deine Kommentarseite verweist. Das Formular kann komplett mit hidden-Fields befüllt sein und der Absenden-Button könnte wie ein harmloser Link aussehen.
Na gut.
Habe mich entschlossen, statt in `$_POST['GoTo']` herumzukorrigieren, die (vermeintliche) URL auf den korrekten Beginn zu prüfen und dann auf genau die Zeichen, die htmlspecialchars(string, ENT_QUOTES) ersetzen würde. (In den echten URLs können diese Zeichen nicht vorkommen)
~~~php
$GoToError = false;
if (! 0 === strpos( $_POST['GoTo'] , $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] ) ) {
$GoToError = true;
}
foreach ( [ '"', '\'', '<', '>' ] as $badChar ) {
if ( false !== strpos( $_POST['GoTo'], $badChar ) ) {
$GoToError = true;
}
}
if ( $GoToError ) {
http_response_code(418);
echo "<h1>Nice try.</h1>";
exit;
?>
~~~
da eine Reparatur nicht sinnvoll ist schicke ich den Besucher aber in die "Nice try" – Wüste. Ich überlege noch ob und wie ich das logge.
CMS selber Programmieren?
bearbeitet von ursus contionabundo> Jeder kann eine Webseite mit einem Formular erstellen, das auf deine Kommentarseite verweist. Das Formular kann komplett mit hidden-Fields befüllt sein und der Absenden-Button könnte wie ein harmloser Link aussehen.
Na gut.
Habe mich entschlossen, statt darin herumzukorrigieren, die (vermeintliche) URL auf den korrekten Beginn zu prüfen und dann auf genau die Zeichen, die htmlspecialchars(string, ENT_QUOTES) ersetzen würde. (In den echten URLs können diese Zeichen nicht vorkommen)
~~~php
$GoToError = false;
if (! 0 === strpos( $_POST['GoTo'] , $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] ) ) {
$GoToError = true;
}
foreach ( [ '"', '\'', '<', '>' ] as $badChar ) {
if ( false !== strpos( $_POST['GoTo'], $badChar ) ) {
$GoToError = true;
}
}
if ( $GoToError ) {
http_response_code(418);
echo "<h1>Nice try.</h1>";
exit;
?>
~~~
da eine Reparatur nicht sinnvoll ist schicke ich den Besucher aber in die "Nice try" – Wüste. Ich überlege noch ob und wie ich das logge.
CMS selber Programmieren?
bearbeitet von ursus contionabundo> Jeder kann eine Webseite mit einem Formular erstellen, das auf deine Kommentarseite verweist. Das Formular kann komplett mit hidden-Fields befüllt sein und der Absenden-Button könnte wie ein harmloser Link aussehen.
Na gut.
Habe mich entschlossen, statt darin herumzukorrigieren, die (vermeintliche) URL auf den korrekten Beginn zu prüfen und dann auf genau die Zeichen, die htmlspecialchars(string, ENT_QUOTES) ersetzen würde. (In den echten URLs können diese Zeichen nicht vorkommen)
~~~php
$GoToError = false;
if (! 0 === strpos( $_POST['GoTo'] , $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] ) ) {
$GoToError = true;
}
foreach ( [ '"', '\'', '<', '>' ] as $badChar ) {
if ( false !== strpos( $_POST['GoTo'], $badChar ) ) {
$GoToError = true;
}
}
if ( $GoToError ) {
http_response_code(418);
echo "<h1>Nice try.</h1>";
exit;
?>
~~~
da eine Reparatur nicht sinnvoll ist schicke ich den Besucher aber in die "Nice try" – Wüste. Ich überlege noch ob und wie ich das logge.