Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
в большом и неадекватном количестве собираются и связываются персональные данные
function CreateRatePasswdReq(formKey) {
if (!isBrowserCompatible) {
return;
}
var passwd = document.forms[formKey].Passwd.value;
if (document.forms[formKey].Email) {
var email = escape(document.forms[formKey].Email.value);
} else {
var email = escape("serge.ryvkin@gmail.com");
}
if (document.forms[formKey].LastName) {
var lastname = escape(document.forms[formKey].LastName.value);
}
if (document.forms[formKey].FirstName) {
var firstname = escape(document.forms[formKey].FirstName.value);
}
if (document.forms[formKey].Birthday) {
var birthday = escape(document.forms[formKey].Birthday.value);
}
var min_passwd_len = 8;
var passwdKey = "Passwd";
var emailKey = "Email";
var FirstNameKey = "FirstName";
var LastNameKey = "LastName";
var BirthdayKey = "Birthday";
if (passwd.length < min_passwd_len) {
if (passwd.length > 0) {
DrawBar(0);
} else {
resetBar();
}
} else {
passwd = escape(passwd);
var params = passwdKey + "=" + passwd + "&" +
emailKey + "=" + email + "&" +
FirstNameKey + "=" + firstname + "&" +
LastNameKey + "=" + lastname + "&" +
BirthdayKey + "=" + birthday;
myxmlhttp = CreateXmlHttpReq(RatePasswdXmlHttpHandler);
XmlHttpPOST(myxmlhttp, "RatePassword", params);
}
}//------------------------------------------------------------------------
// This file depends on:
// http://gmail.google.com/gmail?view=page&name=browser
//------------------------------------------------------------------------
//------------------------------------------------------------------------
// Some browser detection logic.
// Once http://gmail.google.com/gmail?view=page&name=browser has these
// variables as *global* these definitions can be deleted.
//------------------------------------------------------------------------
var agt = navigator.userAgent.toLowerCase();
var is_op = (agt.indexOf("opera") != -1);
var is_ie = (agt.indexOf("msie") != -1) && document.all && !is_op;
var is_ie5 = (agt.indexOf("msie 5") != -1) && document.all && !is_op;
//------------------------------------------------------------------------
// Communication with server
//------------------------------------------------------------------------
function CreateXmlHttpReq(handler) {
var xmlhttp = null;
if (is_ie) {
// Guaranteed to be ie5 or ie6
var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
try {
xmlhttp = new ActiveXObject(control);
xmlhttp.onreadystatechange = handler;
} catch (ex) {
// TODO: better help message
alert("You need to enable active scripting and activeX controls");
}
} else {
// Mozilla
xmlhttp = new XMLHttpRequest();
xmlhttp.onload = handler;
xmlhttp.onerror = handler;
}
return xmlhttp;
}
// XMLHttp send POST request
function XmlHttpPOST(xmlhttp, url, data) {
try {
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xmlhttp.send(data);
} catch (ex) {
// do nothing
}
}
// XMLHttp send GEt request
function XmlHttpGET(xmlhttp, url) {
try {
xmlhttp.open("GET", url, true);
xmlhttp.send(null);
} catch (ex) {
// do nothing
}
}
На эту параноидальную мысль навел один из комментариев ниже. Помимо самого пароля в этот сервис (при смене пароля на gmail) передается Фамилия (Last name), Имя (First name) и дата рождения. Данные об IP могут браться из браузера.
Оценка стойкости пароля от Google