Memória zabáló PHP programból hol tudnék lefaragni jelentősen?
A következő a forráskódom:
<html>
<head>
<meta http-equiv="Refresh" content="1">
</head>
<body>
<?php
$haz = 1;
$id = 1;
$jo = 1;
$haz = $_GET['haz'];
$ciklus_vege = 500;
$ciklus = 1;
do {
if ($haz >= 26) $haz = 1;
switch($haz){
case 1: $kordinata="&x=8167&y=6257"; break;
case 2: $kordinata="&x=8167&y=6258"; break;
case 3: $kordinata="&x=8167&y=6259"; break;
case 4: $kordinata="&x=8167&y=6260"; break;
case 5: $kordinata="&x=8167&y=6261"; break;
case 6: $kordinata="&x=8167&y=6262"; break;
case 7: $kordinata="&x=8167&y=6263"; break;
case 8: $kordinata="&x=8167&y=6264"; break;
case 9: $kordinata="&x=8164&y=6260"; break;
case 10: $kordinata="&x=8164&y=6257"; break;
case 11: $kordinata="&x=8164&y=6258"; break;
case 12: $kordinata="&x=8164&y=6259"; break;
case 13: $kordinata="&x=8164&y=6260"; break;
case 14: $kordinata="&x=8164&y=6261"; break;
case 15: $kordinata="&x=8164&y=6262"; break;
case 16: $kordinata="&x=8164&y=6263"; break;
case 17: $kordinata="&x=8164&y=6264"; break;
case 18: $kordinata="&x=8162&y=6257"; break;
case 19: $kordinata="&x=8162&y=6258"; break;
case 20: $kordinata="&x=8162&y=6259"; break;
case 21: $kordinata="&x=8162&y=6260"; break;
case 22: $kordinata="&x=8162&y=6261"; break;
case 23: $kordinata="&x=8162&y=6262"; break;
case 24: $kordinata="&x=8162&y=6263"; break;
case 25: $kordinata="&x=8162&y=6264"; break;
default: $kordinata="&x=8167&y=6257"; break;
}
$tomb = file("http://www.peldaoldal.hu/olvaso.php?a=kerdes$kordinata");
$id = substr($tomb[7], 8, 7);
$jo = substr($tomb[13], 8, 1);
$valaszfile = "http://www.peldaoldal.hu/olvaso.php?cmd=valasz&id=".$id."&valasz=".$jo;
print '<iframe style="width: 800px; height: 300px;" name="ablak"
marginwidth="1" marginheight="1" src="';
print $valaszfile;
print '" frameborder="1"
height="300" scrolling="no" width="50%"></iframe>';
++$ciklus;
++$haz;
print "<br><br>";
print "ciklus = ".$ciklus;
print "<br><br>";
} while ($ciklus < $ciklus_vege);
?>
</body>
</html>
A helyzet vele a következő:
Azért rakom a második beolvasást Iframe keretbe mert másodszorra ha tömb elemmel olvasatom be akkor nem nyissa meg. lehet hogy pl egyszerre 2 tömbelemet nem tud tárolni vagy nem tudom mi az oka. annyi a lényeg hogy lezabájja a memóriát. ipari mennyiségű adat feldolgozásához kell a program. na most Easy php nevű programot használok a futtatáshoz, esetleg van valami gyorsabb program hozzá ?
vagy a forráskódból lehet lefaragni ? pl valahogy törölné a memóriából a betöltött dolgot miután megjelenítette...
Ha jól értem…
Egyrészt te valami szavazó, válaszoló botot akarsz csinálni. Á, nem feltünő ám, hogy egyetlen IP-ről egy másodperc alatt 20 reakció jön „házanként”… Nem feltűnő. hogy DOS-olod a szervert…
Ha én lennék a támadott szerver üzemeltetője, biztos, hogy adnék minden „szavazatodra” egy -1 -es szorzót.
Próbálj meg kicsit gondolkodni. Hányszor fut le a ciklus? Ötszázszor. 500 IFrame, ami mind egy-egy honlapot hív le tokkal, vonóval, képekkel, javascripttel, mindennel. Ez teljesen egyenértékű azzal, mintha a böngészőben 500 fület nyitnál…
Gondolom a szavazás file() fügvénnyel azért nem megy, mert van valamiféle védelem ellene. És nem azért, mert „egyszerre 2 tömbelemet nem tud tárolni”. (Mi van?!?)
Nem a PHP-vel van gond, hanem a koncepcióval. Persze látom, hogy kb. a programozási tudásod kisebb a minimálisnál. Azt sem tudod, hogyan működik pontosan a PHP.
De nem segítek egészen addig, amíg meg nem tudod indokolni, hogy a script egészen pontosan milyen célt szolgál, melyik oldalnál működik, hogy milyen jó és nemes okod van arra, hogy bottal zargass egy nem általad nyújtott szolgáltatást.
CPU használat verdesi a plafont, memória használat verdesi a plafont ! (: ... igen amatőr vagyok, és igen ez egy csalóprogram egy internetes játékhoz xD ... a francba lebuktam ! (:
nálam 250 ciklusig jut el a számláló amikor az Easy PHP nevű kis háziszerverem kidobja a hiba üzenetet hogy egy script csak 30 másodpercig futhat utána leáll. na nekem ez ki van ütve, ugyan is a meta mezőbe ott van hogy "Refresh" és mihelyt betölti az oldalt ami 30 másodpercnél megál rögtön újraindul az egész, és végtelenítve van ameddig le nem állítom a betöltést ... egy stratégiai játékhoz van egy kvízkérdés megoldós játék amibe használati vuccokat dobál ki a rendszer a helyes kvízválaszé .... no vannak marha ritka tárgynyeremények amiket eladva milliomos lettem a virtuális valóságban sec perc alatt.
na szóval amatőr vagyok de ügyeskedem. és eddig működik. soha nem tanultam weblaptervezést intézményesített formába, amim van az csak az internet és onnan szedtem össze amit kell.
naszóval segít valaki hogy felgyorsíjjam a folyamatot ?
Engem személy szerint nem érdekel, hogy mit és hogyan akarsz csalni. Viszont ha csinálod, akkor csináld rendesen. Azaz ha PHP csaló szkriptet akarsz írni, akkor legyen egy minimális tudásod hozzá.
Ezt az egész szkriptet nem így kellene megírni, az alapkoncepciód is hibás, azért van vele gondod ...
1. A hosszútávú csalás kizárással fog járni. Ha nem előbb, akkor később. Sőt, minél később, annál jobban fog fájni. De csináld csak…
2. Tönkreteszed az egész játékot a csalással. Önző, egoista módon, mit sem törődve másokkal, hogy ők is szeretnének játszani, tisztességes módon.
3. Mivel csalással jutsz előnyhöz, így neked sem fog örömet okozni. Legalábbis nem annyit, mintha tisztességesen érnél el eredményt.
Szóval amit csinálsz az másnak ártalmas, neked hosszútávon nem okoz örömet, sőt miután kitiltanak a játékból inkább csak bosszúságot, negatív érzéseket kelt.
* * *
Még refresht is tettél bele. Hát gratulálok. Sebaj, hadd füstöljön a CPU-d.
A PHP egy szerver oldali nyelv. Jelen esetben a szerver is és a kliens is te vagy. Jól belegondolva szerver oldalon is van gond, de ez a kisebb gond. A nagyobb gond a kliens oldalon van. Na az csinálja a nagy CPU és memória fogyasztást. Hiába no. Semmi nincs ingyen. Ha csalni akarsz, akkor vagy tanulnod kell programozást, vagy eltűrni a tanulatlanságodból adódó kellemetlenségeket.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!