Можно ли передать Ява скрипту переменные куки?

12
V
На сайте с 13.01.2006
Offline
110
1379

к примеру я вставляю в хтмл на домене domen.ru такую строку

<script src="http://site.ru/script.php"></script>

которая вызывает скрипт script.php на site.ru

мне нужно получить определенные переменные куки посетителя который вызывает этот скрипт... Возможно ли это?

V
На сайте с 13.01.2006
Offline
110
#1

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

R
На сайте с 04.11.2005
Offline
113
#2

php скрипт таким макаром запустить нельзя. только если выводом является javascript.

значения куки исхитриться узнать можно: document.cookie

имя домена тоже можно узнать, есть несколько способов

V
На сайте с 13.01.2006
Offline
110
#3

php скрипт таким макаром запустить можно! Проверено!

R
На сайте с 04.11.2005
Offline
113
#4

vitalchita,

блажен, кто верует....

nickspring
На сайте с 29.03.2006
Offline
228
#5

vitalchita, только если вызывать так

<script src="http://site.ru/script.php?c=document.cookie&p=location.host"></script>

Kolyaj
На сайте с 28.03.2006
Offline
69
#6

Имя домена, который вызвал скрипт таким образом (именно через подключение в виде script или link или img ...) можно узнать из реферера.

Куки браузер в таких случаях не передает. Вариант

nickspring:
<script src="http://site.ru/script.php?c=document.cookie&p=location.host"></script>

тоже не прокатывает, т.к. в этом случае переменная $_GET['c'] будет равна строке "document.cookie". Если принципиально вызывать именно через элемент "SCRIPT", то можно так:


var s = document.createElement('SCRIPT');
s.type = 'text/javascript';
s.src = 'script.php?cookie=' + document.cookie;
document.getElementsByTagName('BODY')[0].appendChild(s);

Если же элемент "SCRIPT" не принципиален, то можно сделать проще


var im = new Image();
im.src = 'script.php?cookie=' + document.cookie;
nickspring
На сайте с 29.03.2006
Offline
228
#7

Kolyaj, сорри, точно.. там через javascript document.cookie писать нужно. Вы все верно написали.

V
На сайте с 13.01.2006
Offline
110
#8

Чет попробовал, нифига не выходит. Может кто полность написать код вызова через Javascript и код обработки на PHP?

Kolyaj
На сайте с 28.03.2006
Offline
69
#9

Файл test.htm


<html>
<head>
<title>Тестирование</title>
<script type="text/javascript" src="test.php"></script>
</head>
<body>
Тестирование.
</body>
</html>

Файл test.php


<?
if (array_key_exists("c", $_GET))
echo "alert('Мне передали куки: {$_GET['c']}');";
else {
echo "var s = document.createElement('SCRIPT');";
echo "s.type = 'text/javascript';";
echo "s.src = 'test.php?c=' + document.cookie;";
echo "document.getElementsByTagName('HEAD')[0].appendChild(s);";

}
?>
V
На сайте с 13.01.2006
Offline
110
#10

Ура... Заработала!!!

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий