Безопасно ли использовать флаг mod_rewrite B? - PullRequest
0 голосов
/ 11 августа 2010

Согласно багтрекеру Apache, флаг B был исправлен в версии 2.2.9 https://issues.apache.org/bugzilla/show_bug.cgi?id=45529

Насколько безопасно использовать этот флаг B? Если я включу его в следующую версию нашего программного обеспечения, могу ли я быть уверен, что большинство хостингов будет нормально работать с этим?

1 Ответ

0 голосов
/ 11 августа 2010

Когда оценивается RewriteRule, URL не экранируется, т. Е. Escape-последовательности %XX, где X - шестнадцатеричный символ, преобразуются в фактический символ.

B гарантирует, что в переписанном URL-адресе обратные ссылки будут экранированы как тогда, когда они были первоначально экранированы, так и когда их не было. Это особенно важно в строках запросов, которые допускают меньше символов в своих данных, чем часть пути URL (кроме ?).

В этой ошибке B не удалось экранировать некоторые символы, т. Е. Он вел себя так, как будто флаг B не был указан. Таким образом, несмотря на то, что флаг B был ошибочным, это было не хуже, чем не использовать его.

Вы можете обойти это, передавая данные ваших сценариев через PATH_INFO вместо строк запроса, но это требует изменений в сценариях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...