2012-04-23 5 views
0

내 서버에 자바 스크립트가 있습니다. 방문자에게 Google 웹 로그 분석에서 사용하는 방식으로 서버에 배치 할 수있는 자바 스크립트 코드를 제공하고 싶습니다. 예를 들면 다음과 같습니다.크로스 사이트 스크립팅

<script type="text/javascript" src="http://www.somedomain.com/script/script.js?id=2001102"></script> 

나는 이드를 잡아야하는 시점까지 모든 것을 처리했습니다. 나는 그것을 위해 무엇을 사용해야할지 모르겠습니다.

나는 모두 같이 location.href와 location.search을 시도하지만 나에게 스크립트가 script.js에서하지 "script.js? ID = XSOMEIDX"

을 임베디드되는 파일의 URL + PARAM을 제공 I 이 다음?

function requestContent() { 
var script = document.createElement("script"); 
script.src = "http://www.somedomain.com/script/xss_script.php?id="I WANT TO INPUT ID HERE+"&url="+location.href; 
document.getElementsByTagName("head")[0].appendChild(script); 

}

상관 없음 내가 ID = XSOMEIDX을 가지고 xss_script.php ID에 넣을 수있는 방법을 =?

미리 감사드립니다.

+0

내가 같으면 포함하도록 사람들을 질문을 할 수있어이 방법 'xss_script.php' 스크립트를 호출하면, 대부분의 사람들은 당신이 시도하고있는 종류의 해킹이라고 생각할 것입니다. – Dunhamzzz

+0

대신'script.js'를 PHP 페이지로 만들 수 있습니까? – mellamokb

+0

@Dunhamzzz 그래, 그게 설명 목적으로 사용 된 것입니다. – Hugo

답변

0

특정 속성으로 외부 스크립트 태그를 설정하는 방법은 어떻습니까? 현대적인 브라우저에서

<script data-my-script="my_value" type="text/javascript" src="http://www.somedomain.com/script/script.js?id=2001102"></script> 

당신이 다음

var scripts = document.querySelectorAll("script[src][data-my-script]"); 
$.each(scripts, function(i, script) { console.log(script.src); }); 

을하고 노드 목록을 반복 할 수 있습니다 ...

가 참고 : querySelectorAll는 크로스 브라우저를 참고 작동하지 않습니다 : querySelectorAll 배열을 반환 와 같은 객체

1

URL 재 작성을 사용하여 id = XSOMEIDX를 가져 와서 xss_script.php에 넣을 수 있습니까? id =

을 하 고 모드 재 작성 규칙은 다음과 같이 보일 것이다 :

RewriteRule ^/scripts/([a-zA-Z0-0]+)/script.js$ /scripts/script.php?id=$1 

단순히 'yoursite.com/scripts/{id}/scripts.js

+0

나는 이것이 단순하고 나를 위해 일한다고 생각한다. – Hugo

+0

빨리 후속 조치. ? 내가이 같은 일을하고 싶었 : 한다 RewriteEngine 에있는 RewriteRule^XSS/script.js ID = ([A-ZA-Z0-0] +) $의 XSS/script.php이란 아이디 = $ 1 [L] 그러나 그게 작동하지 ... 그러나, 내가 그것을 당신의 방식으로 시도 할 때 ... 나는 오히려 가능하다면 .js? id = 구문을 사용합니다. – Hugo

관련 문제