[PHP]Hoe kan ik dit stilzetten?

Pagina: 1
Acties:
  • 299 views sinds 30-01-2008

  • KappuhH
  • Registratie: Augustus 2004
  • Niet online
Ik ben sinds een weekje bezig met php. Nu heb ik voor de lol een soort van mailbom gemaakt, even in een paar minuutjes. Deze heb ik een keer uitgevoerd op mijn eigen adres. Maar nu blijft deze gewoon doorstromen, ook als ik het browservenster sluit. Nu is mijn vraag: hoe kan ik voorkomen dat mijn hele mailbox volgespammed wordt?
Het script ziet er als volgt uit:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php

$i = 0;
$bericht = $_POST['bericht'];
$email = $_POST['email'];
$aantal = $_POST['aantal'];
$onderwerp = $_POST['onderwerp'];
$show = true;
$ok = true;

if($_SERVER['REQUEST_METHOD'] == 'POST') {  
    if(!$_POST['aantal']) {
        $ok = false;
        echo 'Je hebt geen aantal ingevuld!';
    } elseif(!eregi("[A-Za-z0-9_-]+([.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([.]{1}[A-Za-z0-9-]+)+", $_POST['email'])) {  
        $ok = false;  
        echo 'Je hebt geen geldig e-mailadres ingevuld!';  
    } elseif(!$_POST['onderwerp']) {
        $ok = false;
        echo 'Je hebt geen onderwerp ingevuld!';
    } elseif(!$_POST['bericht']) {
        $ok = false;
        echo 'Je hebt geen bericht ingevuld!';
    } 

while($i < $aantal && $ok != false)
{
    $show = false;
    $i = $i++;
    mail($email,$onderwerp,$bericht);
}
echo 'Je '.$aantal.'berichten zijn verzonden!';
header("Location: mailbomb.php");
}

if($show == true)
{
?>  
<FORM method = "post" action = "mailbomb.php">
<TABLE>
<TR><TD>Emailadres:</TD><TD><input type="text" name="email" size= "30"></TD></TR>
<TR><TD>Aantal:</TD><TD><input type="text" name="aantal" size="6"></TD></TR>
<TR><TD>Onderwerp:</TD><TD><input type="text" name="onderwerp" size= "50"></TD></TR>
<TR><TD>Te zenden tekst:</TD><TD><textarea name="bericht" rows="5" cols="35" ></textarea></TD></TR>
<TR><TD COLSPAN="2"><input type = "submit" value = "Verzenden"></TD></TR>
</TABLE>
</FORM>
<?php
}
?>


Plz geen reacties van: eigen schuld ofzo, ik weet zelf ook wel dat het dom was! :'(

  • Cyphax
  • Registratie: November 2000
  • Laatst online: 20:54

Cyphax

Moderator LNX
Hehehe
Apache killen? :)

Saved by the buoyancy of citrus


  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 21:19

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
:D Pc uitzetten?

Edit: Apache killen werkt idd ook (* ook ervaring gehad met script zonder eind :X )

[ Voor 74% gewijzigd door We Are Borg op 03-10-2005 18:01 ]


  • Niks123Random3
  • Registratie: Oktober 2004
  • Laatst online: 27-04 04:43
\o/ >:)

Voer je dit script uit op je eigen server, of op de server van iemand anders (provicer bijv.) ?

[ Voor 9% gewijzigd door Niks123Random3 op 03-10-2005 18:01 ]


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Apache killen inderdaad. Bij de weg, dit:

PHP:
1
2
echo 'Je '.$aantal.'berichten zijn verzonden!'; 
header("Location: mailbomb.php");


gaat niet werken.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • KappuhH
  • Registratie: Augustus 2004
  • Niet online
Op de server van mn hostingbedrijf. Heb inmiddels het script verwijderd maar dat helpt ook niet. Apache killen? Hoe doe ik dat?

[ Voor 14% gewijzigd door KappuhH op 03-10-2005 18:02 ]


  • Priet
  • Registratie: Januari 2001
  • Laatst online: 29-04 10:22

Priet

To boldly do what no one has..

Treedt er geen timeout op van het script waardoor het zelf stopt?

"If you see a light at the end of a wormhole, it's probably a photon torpedo!"


  • Niks123Random3
  • Registratie: Oktober 2004
  • Laatst online: 27-04 04:43
KappuhH schreef op maandag 03 oktober 2005 @ 18:01:
Op de server van mn hostingbedrijf. Heb inmiddels het script verwijderd maar dat helpt ook niet.
Dus hij is nu nog steeds aant mailen?? :D :+

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

CyBeR schreef op maandag 03 oktober 2005 @ 18:01:
Apache killen inderdaad. Bij de weg, dit:

PHP:
1
2
echo 'Je '.$aantal.'berichten zijn verzonden!'; 
header("Location: mailbomb.php");


gaat niet werken.
Kan wel, sommige servers hebben output buffering standaard aan staan ;)


Enne, apache killen is de enige mogelijkheid om het te stoppen ;)
(je kan het overigens wel met een firewall oid. blokkeren)

Blog [Stackoverflow] [LinkedIn]


  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 22-04 21:10

Eijkb

Zo.

Je kan je hoster vragen de apache server te herstarten en de mailqueue te legen (alleen jouw mailtjes!).. Waarschijnlijk gaat tie niet blij reageren als je zo enorm veel resources opslokt met een loopje.

Maar goed, je weet zelf ook wel dat het DOM (lees: DOM!!!) was. Hopelijk heb je dit alleen getest op je eigen mailadres. Wat heb je ingevuld bij aantal? Dacht je te moeten testen met bv. een miljoen of heb je het beperkter gehouden?

Ik doe zelf ook hosting, hoop niet dat het bij ons is. Anders hoor ik dat zo wel denk ik? :D Wie weet krijg je nog een boete als er echt te veel resources zijn opgeslokt...

[ Voor 21% gewijzigd door Eijkb op 03-10-2005 18:05 ]

.


  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 21:19

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
KappuhH schreef op maandag 03 oktober 2005 @ 18:01:
Op de server van mn hostingbedrijf. Heb inmiddels het script verwijderd maar dat helpt ook niet. Apache killen? Hoe doe ik dat?
Kleine kans dat jij dan apache kan killen. Ik zou maar in de telefoon klimmen en ja, dat nood nummer vinden ze vast ok als je dat belt. Server zal niet vrolijk van jou worden, evenals de provider ;)

  • Cyphax
  • Registratie: November 2000
  • Laatst online: 20:54

Cyphax

Moderator LNX
Mocht je het WEL voor elkaar krijgen apache te killen (hetgeen vast niet het geval is), dan zou je waarschijnlijk nog een groter probleem hebben dus dat moet je ook niet willen proberen in dit geval.
Het zal al met al redelijk meevallen met gegenereerd dataverkeer en server resources gok ik hoor, maar toch. Je leert ervan zullen we maar zeggen. ;)

Saved by the buoyancy of citrus


  • KappuhH
  • Registratie: Augustus 2004
  • Niet online
Niks123Random3 schreef op maandag 03 oktober 2005 @ 18:02:
[...]

Dus hij is nu nog steeds aant mailen?? :D :+
jep :'(
Eijkb schreef op maandag 03 oktober 2005 @ 18:03:
Je kan je hoster vragen de apache server te herstarten en de mailqueue te legen (alleen jouw mailtjes!).. Waarschijnlijk gaat tie niet blij reageren als je zo enorm veel resources opslokt met een loopje.

Maar goed, je weet zelf ook wel dat het DOM (lees: DOM!!!) was. Hopelijk heb je dit alleen getest op je eigen mailadres. Wat heb je ingevuld bij aantal? Dacht je te moeten testen met bv. een miljoen of heb je het beperkter gehouden?
Heb het met een aantal van 15 getest. Maar eerst had ik geen $i = $i++ staan dus zoudie inderdaag oneindig doorgaan. Ik denk dat die nu nog draait.
Gelukkig is mijn adres een Gmail adres dat ik binnenhaal via Thunderbird. Glukkig pakt hij de spam er niet bij (waar die mailbomdingen in terecht komen). Maar dus mijn hoster vragen de apache server te herstarten en mijn mailqueue te legen? Is dat 'alles' en absoluut geen andere oplossing?

  • Cyphax
  • Registratie: November 2000
  • Laatst online: 20:54

Cyphax

Moderator LNX
KappuhH schreef op maandag 03 oktober 2005 @ 18:08:
Heb het met een aantal van 15 getest. Maar eerst had ik geen $i = $i++ staan dus zoudie inderdaag oneindig doorgaan. Ik denk dat die nu nog draait.
Gelukkig is mijn adres een Gmail adres dat ik binnenhaal via Thunderbird. Glukkig pakt hij de spam er niet bij (waar die mailbomdingen in terecht komen). Maar dus mijn hoster vragen de apache server te herstarten en mijn mailqueue te legen? Is dat 'alles' en absoluut geen andere oplossing?
Voor jou niet denk ik, misschien heeft je host nog een ingeving. :)
Leg ze het probleem voor, laat ze dan zelf beslissen wat ze doen. :)

Saved by the buoyancy of citrus


  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

PHP heeft toch standaard een max execution time van 30 seconden?
(heeftie op mijn server iig wel... lijkt me een default waarde)

Iemand een Tina2 in de aanbieding?


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

De kans zit erin dat je script allang is gestopt, en de mailserver alleen nog maar de queue af aan het werken is.

Verder zie ik hier geen programmeerprobleem in; neem gewoon contact op met je host en kijk wat zij voor je kunnen doen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.