Хидер

Board index phpBBex 1.x Предложения и пожелания

Description: В phpBBex 1.x чего-то не хватает? Напишите об этом здесь, и мы постараемся исправиться.
Forum rules: Одна тема — один запрос новой возможности. Обязательно формируйте внятный заголовок, максимально отражающий суть вашей идеи. Также приведите примеры, где предлагаемая вами возможность будет актуальна.
Moderator: Поддержка

Post #1by factotum » 26.04.2013, 08:28

строка <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" /> имеет спорные моменты с валидатором.

Есть предложение реализовать с помощью Апача:
Code: Select all
<IfModule mod_headers.c>
   Header set X-UA-Compatible "IE=Edge,chrome=1"
   <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webm|webp|woff|xml|xpi)$">
      Header unset X-UA-Compatible
   </FilesMatch>
</IfModule>

Или избирательно:
Code: Select all
<IfModule mod_headers.c>
   <FilesMatch "\.(php|html)$">
      Header set X-UA-Compatible "IE=Edge,chrome=1"
   </FilesMatch>
</IfModule>
Если "улучшение" стало "граблями" - Вы его переросли
factotum
Topic author, Гуру
Location: Люксембург
Reputation: 232
With us: 5 years 5 months

Post #2by Sumanai » 02.06.2013, 02:53

factotum wrote:Или избирательно:

Если сделать условие, чтобы добавлялось только для ИЕ (по юзерагенту), будет вообще отлично!
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1589
With us: 4 yaers 7 months

Post #3by Sumanai » 03.06.2013, 17:18

Сам спросил, сам и сделал. Но я не уверен, так что прошу проверить на корректность. Вот:
В файлах php, выдающих содержимое пользователю (index.php, viewforum.php и т.д.) найти " // Output page " и добавить после
Code: Select all
$browser = (!empty($_SERVER['HTTP_USER_AGENT'])) ? htmlspecialchars((string) $_SERVER['HTTP_USER_AGENT']) : '';
if (preg_match ("/MSIE/",  $browser))
{
header('X-UA-Compatible: IE=Edge,chrome=1');
Соответственно из шаблона невалидную строчку удалить.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1589
With us: 4 yaers 7 months

Post #4by factotum » 04.06.2013, 17:57

Sumanai, если не ошибаюсь, строка для пользователей IE с Chrome Frame. Не знаю, насколько много таких, чтобы думать об этом.
Если "улучшение" стало "граблями" - Вы его переросли
factotum
Topic author, Гуру
Location: Люксембург
Reputation: 232
With us: 5 years 5 months

Post #5by Sumanai » 04.06.2013, 18:07

factotum wrote:Sumanai, если не ошибаюсь, строка для пользователей IE с Chrome Frame.

Первая часть IE=Edge для всех пользователей ИЕ, чтобы он не переходил в режим совместимости со старыми версиями (попутно выдавая сообщение о просмотре в режиме совместимости), так что вполне актуально.

Added after 4 minutes 11 seconds:
Вот, посмотрел, у Chrome Frame при загрузке флеймов вот такой юзерагент
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; chromeframe/11.0.660.0) AppleWebKit/534.18 (KHTML, like Gecko) Chrome/11.0.660.0 Safari/534.18
При загрузке обычных страниц в юзерагенте присутствует MSIE.
Так что надо добавить chromeframe в строку определения браузера, а лучше ИЕ посылать "X-UA-Compatible: IE=Edge", а Chrome Frame "X-UA-Compatible: IE=Edge,chrome=1"
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1589
With us: 4 yaers 7 months

Post #6by VEG » 04.06.2013, 21:06

На самом деле бессмысленно так переживать по поводу валидации. Однако, перенёс этот флаг из HTML в заголовки HTTP. Изменение в репозитории.
С наилучшими пожеланиями, Евгений
VEG M
Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 5 months

Post #7by Sumanai » 04.06.2013, 21:20

VEG wrote:Однако, перенёс этот флаг из HTML в заголовки HTTP.

Так и знал, что где- то можно это добавить централизованно.
Отправку по условию юзерагента, как я понял, вы посчитали лишней?
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1589
With us: 4 yaers 7 months

Post #8by VEG » 04.06.2013, 21:35

Любые проверки UserAgent — ненадёжный код. Например, после выхода IE11 компания Microsoft планирует заменить подстроку MSIE на просто IE — в результате ваш код перестанет работать. Также не исключены ситуации, когда пользователь использует какую-то обёртку над IE, которая подменяет UserAgent. Меньше кода, меньше потенциальных проблем, всего несколько лишних байт в ответе.

Если бы, например, Chrome и новая Opera почистили бы свой UserAgent от хлама, то экономия трафика в байтах была бы в несколько раз больше, чем занимает этот небольшой заголовок :)

Added after 2 minutes 35 seconds:
На самом деле в старом решении с хранением этого флага в HTML было одно преимущество: после сохранения страницы на диск он сохранялся бы. Но это слишком редкий вариант использования, да и ещё в паре с IE, поэтому я и не сопротивлялся особо с переносом этого флага в HTTP заголовки.
С наилучшими пожеланиями, Евгений
VEG M
Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 5 months

Post #9by Sumanai » 04.06.2013, 21:44

VEG wrote:Любые проверки UserAgent — ненадёжный код.

Действительно. Принимаю.

VEG wrote:Если бы, например, Chrome и новая Opera почистили бы свой UserAgent от хлама, то экономия трафика в байтах была бы в несколько раз больше, чем занимает этот небольшой заголовок :)

Ну да, я выложил UserAgent IE с Chrome Frame- едва в строку поместилось))
Ну и 31 байт сэкономили на обёртке <meta http-equiv= /> :toothless:
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1589
With us: 4 yaers 7 months

Post #10by factotum » 18.06.2013, 22:04

можно уделить внимание iFrame Injection:
X-Content-Type-Options:nosniff
X-Frame-Options:SAMEORIGIN
X-XSS-Protection:1; mode=block
Если "улучшение" стало "граблями" - Вы его переросли
factotum
Topic author, Гуру
Location: Люксембург
Reputation: 232
With us: 5 years 5 months

Post #11by Xisp » 18.06.2013, 23:32

factotum wrote:можно уделить внимание iFrame Injection:

Куда предлагаете вставлять этот код? Туда же, где и X-UA-Compatible, то есть для php файлов? Этого же должно быть достаточно.
Xisp
Бывалый
Reputation: 9
With us: 4 yaers 5 months

Post #12by factotum » 19.06.2013, 10:04

Xisp wrote:Туда же, где и X-UA-Compatible
да
Code: Select all
header("X-Content-Type-Options:nosniff");
header("X-Frame-Options:SAMEORIGIN");
header("X-XSS-Protection:1; mode=block");
header("X-UA-Compatible:IE=Edge,chrome=1");
Если "улучшение" стало "граблями" - Вы его переросли
factotum
Topic author, Гуру
Location: Люксембург
Reputation: 232
With us: 5 years 5 months

Post #13by ChupOK » 31.10.2013, 22:52

Не усложняйте себе задачу.
Внутри <head> вставьте:
<!--[if lt IE 9]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
И все.
ChupOK
Гость

Post #14by Sumanai » 31.10.2013, 23:38

Поздно, уже давно поменяли.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1589
With us: 4 yaers 7 months

Post #15by HD321kbps » 21.09.2016, 23:23

ChupOK wrote:Внутри <head> вставьте:
<!--[if lt IE 9]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
И все.
Sumanai wrote:Поздно, уже давно поменяли.

А в phpBBex 2.0.4 нет)
HD321kbps M
Гуру
Avatar
Age: 27
Location: Армянск
Reputation: 350
With us: 4 yaers 6 months

Post #16by Sumanai » 22.09.2016, 00:04

На месте всё, заголовок отдаётся в заголовках, а не html коде, как предлагал ChupOK.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1589
With us: 4 yaers 7 months

Post #17by HD321kbps » 22.09.2016, 00:32

Имел ввиду с условием комментарием <!--[if lt IE 9]> для валидности. Или нефига не поменяется?
HD321kbps M
Гуру
Avatar
Age: 27
Location: Армянск
Reputation: 350
With us: 4 yaers 6 months

Post #18by Sumanai » 22.09.2016, 05:20

Действительно, что он там забыл...
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1589
With us: 4 yaers 7 months


Return to Предложения и пожелания



cron