Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как при попадании на сайт открыть пользователю сразу 5 окон (5 URL's)? (https://javascript.ru/forum/dom-window/80607-kak-pri-popadanii-na-sajjt-otkryt-polzovatelyu-srazu-5-okon-5-url%27s.html)

mik888em 06.07.2020 17:02

Интересная идея, тогда должны открываться во фрейме эти 5 сайтов и передаваться с них куки в мой браузер

https://alpha.com
https://betta.com
https://gamma.com
https://lambda.com
https://delta.com


а так же после открытия этих сайтов во фрейме и присваивание куков, должен происходить редирект на https://google.com

Я использовал второй способ из предложенного вами метода по ссылке с хабра https://habr.com/ru/post/112077/

Но где-то допустил ошибку в коде.


Суть метода:
в iframe создаётся форма, action которой ведёт на нужную страницу текущего домена
форма отправляется посредством JavaScript

И этот метод работает: скрипт, расположенный по адресу action'а формы(и последующие вызываемые скрипты), успешно установит cookies.

При этом не имеет значения тот факт, будет ли отправлена форма методом GET или POST.

Пример реализации с использованием jQuery:


<script type="text/javascript">
$(function(){
	$('body').append('<form id="cookiesHackForm" action="http://example.com/" method="get"></form>');
	$('#cookiesHackForm').submit();
});
</script>


Достоинства:
+ не требует действий от пользователя

Недостатки:
— требуется JavaScript
— требуется пустая страница только лишь для редиректа



<!DOCTYPE html>
<html>
 <head>
 <meta name="robots" content="noindex">
 <!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V51JXCRKXR"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-V51JXCRKXR');
</script>

  <meta charset="utf-8" />
  <title>redmap.site</title>
  <!--[if IE]>
   <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  <![endif]-->
  <style>

.clesidra_img {
    height: 900px;
    position: relative;
}
.clesidra_img img {
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
  }
   
  </style>


<script type="text/javascript">

$(function(){
	$('body').append('<form id="cookiesHackForm" action="https://google.com" method="get"></form>');
	$('#cookiesHackForm').submit();
});
</script>

<script type="text/javascript">


 

</script>

  
 </head>
 <body bgcolor="#D4D3D3" background="clesidra.jpg">
<p>
</p>

<iframe src="https://alpha.com" width="600" height="500" frameborder="0"></iframe>
<iframe src="https://betta.com" width="600" height="500" frameborder="0"></iframe>
<iframe src="https://gamma.com" width="600" height="500" frameborder="0"></iframe>
<iframe src="https://lambda.com" width="600" height="500" frameborder="0"></iframe>
<iframe src="https://delta.com" width="600" height="500" frameborder="0"></iframe>

<div class="clesidra_img">
<img src="data:image/gif;base64,R0lGODlh.......СОКРАТИЛ ТУТ ВЕСЬ КОД BASE64 ИЗОБРАЖЕНИЯ  КОТОРОЕ ОТОБРАЖАЕТСЯ НА СТРАНИЦЕ ДОМЕНА  ДО РЕДИРЕКТА НА google.com : ) .......TlJWflWAAA7" 
   width="550" height="343" alt="base64 test">
</div>

 </body>

</html>

laimas 06.07.2020 17:13

Я не могу понять, если вы делаете некий инструмент для себя, то почему не поступить проще - разрешить прием кук в настройках браузера или использовать браузер, в котором они по умолчанию разрешены, Firefox?

mik888em 06.07.2020 18:22

если нужно было бы сделать для кого то, ото заказал бы у фрилансеров. А делаю для себя, тк это академический вопрос -мне интересно как это работает,поэтому и задрачиваюсь сам во всем разбираюсь))) сорри за оффтоп

mik888em 07.07.2020 18:20

Цитата:

Сообщение от laimas (Сообщение 526816)
Я не могу понять, если вы делаете некий инструмент для себя, то почему не поступить проще - разрешить прием кук в настройках браузера или использовать браузер, в котором они по умолчанию разрешены, Firefox?

Есть идеи что я не так сделал? Не работает способ номер2


Часовой пояс GMT +3, время: 23:03.