Javascript на основе URL, чтобы показать все переменные на странице
Я видел javascript (и написал несколько тоже), чтобы показать содержимое входных тегов (полезно, если парень, прежде чем вы оставили пароль на входе...), но я хочу использовать JS, чтобы показать переменные Javascript, которые существуют в страница.
Причина, по которой я хочу это сделать, заключается в том, что я хочу зайти на сайт для обмена файлами, чтобы узнать, настоящий он или просто руткит.
Есть идеи?
2 ответа
В IE и FF есть инспекторы DOM. В более старых версиях IE вам понадобится раздел " Дерево документов " их аксессуаров для веб-разработчиков. В IE8 перейдите в Tools->Developer Tools и там у вас есть небольшая приставка, с которой можно поиграть, которая покажет вам эти вещи. В FF вы можете использовать встроенный инспектор DOM или Firebug (мой личный фаворит). Также есть этот букмарклет, вот код (вычищенный):
<html>
<head>
<script type="text/javascript">
var wer = "asdasd";
function getEm()
{
var x,d,i,v,st;
x=open();
d=x.document;
d.open();
function hE(s)
{
s=s.replace(/&/g,"&");
s=s.replace(/>/g,">");
s=s.replace(/</g,"<");
return s;
}
d.write("<style>td{vertical-align:top; white-space:pre; } table,td,th { border: 1px solid #ccc; } div.er { color:red }</style><table border=1><thead><tr><th>Variable</th><th>Type</th><th>Value as string</th></tr></thead>");
for (i in window)
{
if (!(i in x) )
{
v=window[i];
d.write("<tr><td>" + hE(i) + "</td><td>" + hE(typeof(window[i])) + "</td><td>");
if (v===null)
d.write("null");
else if (v===undefined)
d.write("undefined");
else
try
{
st=v.toString();
if (st.length)
d.write(hE(v.toString()));
else
d.write("%C2%A0")
}
catch(er)
{
d.write("<div class=er>"+hE(er.toString())+"</div>")
}
d.write("</pre></td></tr>");
}
}
d.write("</table>");
d.close();
}
</script>
</head>
<body onload="getEm()">
</body>
</html>