Хидер

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: 234
With us: 4 yaers 11 months

Post #2by Sumanai » 02.06.2013, 02:53

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

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

Post #4by factotum » 04.06.2013, 17:57

Sumanai, если не ошибаюсь, строка для пользователей IE с Chrome Frame. Не знаю, насколько много таких, чтобы думать об этом.
Если "улучшение" стало "граблями" - Вы его переросли
factotum
Topic author, Гуру
Location: Люксембург
Reputation: 234
With us: 4 yaers 11 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: 1516
With us: 4 yaers 2 months

Post #6by VEG » 04.06.2013, 21:06

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

Post #7by Sumanai » 04.06.2013, 21:20

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

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

Post #11by Xisp » 18.06.2013, 23:32

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

Куда предлагаете вставлять этот код? Туда же, где и X-UA-Compatible, то есть для php файлов? Этого же должно быть достаточно.
Xisp
Бывалый
Reputation: 9
With us: 3 yaers 11 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: 234
With us: 4 yaers 11 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: 1516
With us: 4 yaers 2 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: 26
Location: Армянск
Reputation: 322
With us: 4 yaers

Post #16by Sumanai » 22.09.2016, 00:04

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

Post #17by HD321kbps » 22.09.2016, 00:32

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

Post #18by Sumanai » 22.09.2016, 05:20

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


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

Quick reply


Enter the code exactly as it appears. All letters are case insensitive.
Confirmation code
:hi: :smile: :wink: :twisted: :sad: :evil: :smoke: :eh: :eek: :fie: :silenced: :razz: :oops: :help: :spy: :insane: :biggrin: :toothless: :ill: :nervious: :weirdface: :pray: :clap: :think: :boxing: :cyclop: :rambo: :zombie: :cry: View more smilies

   

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



cron