Куча говна / Говнокод #28646 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
<script type="text/javascript">
	var reformalOptions = {
		project_id: 9409,
		show_tab: false,
		project_host: "govnokod.reformal.ru"
	};

	(function() {
		var script = document.createElement('script');
		script.type = 'text/javascript'; script.async = true;
		script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'media.reformal.ru/widgets/v3/reformal.js';
		document.getElementsByTagName('head')[0].appendChild(script);
	})();
</script>
--------------------------------------------------------------------------------
Request:

GET http://media.reformal.ru/widgets/v3/reformal.js
Referer: http://govnokod.ru/
--------------------------------------------------------------------------------
Response:

307 Temporary Redirect
Location: http://r.rrzb.ru/?reg=11&orig=http%3A%2F%2Fmedia.reformal.ru%2Fwidgets%2Fv3%2Freformal.js
--------------------------------------------------------------------------------

С каких-то там пор, у недобросовестных провайдеров повелось добавлять на страницу без https свои шуры-муры и рекламные финтифлюшки, но сейчас, некоторые более хитрые провайдеры, пошли ещё дальше.

Смотрят, значит, они на http страничку, или просто ловят запросы js по http, видят подключаемый javascript и вуаля - подменяют заголовок ответа на 307 Location с новым скриптом со своим содержимым.

Можете сами посмотреть, если у кого такой вот провайдер, например.
На этом сайте, по http://govnokod.ru, так и происходит.

Как с этим бороться?

Например добавлением атрибута "integrity":
<script src="http://media.reformal.ru/widgets/v3/reformal.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4 YfRvH+8abtTE1Pi6jizo"></script>

Но у этого способа, сами понимаете, существуют определённые сложности.

Второй способ - это добавить к адресу любой get параметр:
<script src="http://media.reformal.ru/widgets/v3/reformal.js?rand=random"></script>

Конечно, это вообще не спасёт от подмены через 307 Location, но провайдер по своей методике такие URL пока не трогает.

Запостил: istem istem, (Updated )

Комментарии (5) RSS

      • то есть это рубрика вредные советы? сделай как в посте, получи осетинский приз?
        Ответить
  • Не спрашивайте зачем, но мне очень нужно написать симулятор ослика на Delphi с осетинской локализацией
    Ответить
  • В чем разница между волонтёром и баландёром?
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8