hulp bij beveiliging

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan de vries

Jan de vries

13/10/2008 16:27:00
Quote Anchor link
Goedemiddag
Bestaat er een oplossing vor mijn spam etc. probleem?

Ik heb een paar websites waar men tegen betaling via mollie een reclame boodschap met link kan plaatsen die dan zichtbaar word in een lichtkrant op een aantal sites. En dit scriptje word op de server overmatig bezocht door spam etc verspreiders die daar hun teksten en links (viagra etc) plaatsen.
Eerst dacht ik het php scriptje niet in de root op de server te plaatsen maar in een extra directory, maar ik weet niet of dat zinvol is want daar zal door spammers ook wel gezocht worden.
Even in het kort de huidige werking:
Op de website word geklikt op "reclame plaatsen" ... er word dan naar Mollie gelinkt die de betaling regelt die daarna het php scriptje aanroep die een invulform op het scherm zet, na een submit word de geplaatste tekst in een .txt bestandje gezet op de server van waaruit het lichtkrant scriptje op de diverse sites dit .txt bestandje uitleest en in de lichtkrant plaatst.

het probleem is dus dat er driftig gespamd word.

Voor of na het gebruik van het phpscriptje beveiliging aanbrengen heeft geen zin omdat die weg niet gevolgd word.De spammer zoekt op de server na een scriptje wat hij kan invullen. Dus de beveiliging zal dus in het php scriptje moeten zitten.
Ik denk bijvoorbeeld aan schecken op niet meer dan 1 link... of van waaruit is het scriptje aangeroepen....

Wie zet mij op het juiste spoor mijn php kennis is beperkt.
gr jan
 
PHP hulp

PHP hulp

22/12/2024 15:44:23
 

13/10/2008 16:30:00
Quote Anchor link
Mollie heeft uitstekende documentatie, kijk daarin. Daar zal vast wel wat in staan om te controleren of er betaald is. Dat moet je in het php script implanteren die de tekst toevoegd.
 
Jasper Sni

Jasper Sni

13/10/2008 16:32:00
Quote Anchor link
Zoiets? :
Misschien begrijp ik trouwens niet helemaal wat je bedoelt, je wilt voorkomen dat een form gespamd wordt? of?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
session_start();
// generate 5 digit random number
$rand = rand(10000, 99999);

// create the hash for the random number and put it in the session
$_SESSION['image_random_value'] = md5($rand);

// create the image
$image = imagecreate(60, 30);

// use white as the background image
$bgColor = imagecolorallocate ($image, 255, 255, 255);

// the text color is black
$textColor = imagecolorallocate ($image, 0, 0, 0);

// write the random number
imagestring ($image, 5, 5, 8, $rand, $textColor);

// send several headers to make sure the image is not cached
// taken directly from the PHP Manual

// Date in the past

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

// always modified
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);

// HTTP/1.0
header("Pragma: no-cache");


// send the content type header so the image is displayed properly
header('Content-type: image/jpeg');

// send the image to the browser
imagejpeg($image);

// destroy the image to free up the memory
imagedestroy($image);
?>
Gewijzigd op 01/01/1970 01:00:00 door Jasper Sni
 
Jan de vries

Jan de vries

13/10/2008 16:34:00
Quote Anchor link
Dat klop wat je zegt maar de spam bot komt helemaal niet bij mollie en heeft mollie niet nodig om het php scriptje te vinden op de server en te bekladden.
ik had bij mollie ook al gekeken
gr jan
 
Jan de vries

Jan de vries

13/10/2008 16:43:00
Quote Anchor link
ik plaats hier het scriptje wat de bezoeker krijgt na betaling en wat dus door de spammers beklad word die dit betandje aantreffen op de server.

Mijn gedacht is ergens in dit scriptje gezet moet worden dat automatisch spammen onmogelijk maakt maar de gebruiksvriendelijkheid niet aantast.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
require("config.inc.php");

if($_REQUEST['Send'])
{

    if(!empty($_REQUEST['Name']) && !empty($_REQUEST['Nachricht']) && strlen($_REQUEST['Name'])<=20 && strlen($_REQUEST['Email'])<=100 && strlen($_REQUEST['Nachricht'])<=80 && strlen($_REQUEST['Link'])<=200)
    {

        $Name = strip_tags(str_replace("|", "", $_REQUEST['Name']));
        $Email = strip_tags(str_replace("|", "", $_REQUEST['Email']));
        $Nachricht = strip_tags(str_replace("|", "", $_REQUEST['Nachricht']));
        $Link = strip_tags(str_replace("|", "", $_REQUEST['Link']));
        if(strlen($Link)<=7)
        {

            $Link="";
        }

        $Zeile = $Name . "|" . $Email . "|" . $Nachricht . "|" . $Link . "|" . date("Y-m-d H:i:s") . "|" . $_SERVER['REMOTE_ADDR'] . "\n";
        $FilePointer = fopen($DateinameNachrichten, "a");
        fwrite($FilePointer, $Zeile);
        fclose($FilePointer);
    }

    header("LOCATION: box.php");
}

else
{
?>

<html>
<head>
<style type="text/css">
<!--
BODY,TD {
font-family: verdana, sans-serif;
font-size: 10pt;
}
-->
</style>
<title>Adult reclame voor Euro 1,30</title>
</head>
<body>
<b>Vul het formulier in om u tekst of advertentie te plaatsen:</b><br>
<font color="#FF0000"><b>
<small>* verplichte velden</small></b></font><br>
<table border="0" cellpadding="1" cellspacing="2" width="452" height="152">
<form action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo$_SERVER['PHP_SELF']; ?>
" method="post" onSubmit="javascript:window.close();" target="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo$NameIframe; ?>
">
<tr>
<td>Naam of onderwerp (20 tekens) <b><font color="#FF0000">*</font></b></td>
<td height="24"><input maxlength="20" name="Name" size="20" type="text"></td>
</tr>
<tr>
<td>eMail</td>
<td height="24"><input maxlength="100" name="Email" size="20" type="text"></td>
</tr>
<tr>
<td>Uw tekst of reclame (30 tekens)<b><font color="#FF0000">*</font></b></td>
<td height="24"><input maxlength="80" name="Nachricht" size="30" type="text"></td>
</tr>
<tr>
<td width="224">Link naar website of verwijzing</td>
<td height="24" width="218"><input maxlength="200" name="Link" size="20" type="text" value="http://"></td>
</tr>
<tr>
<td align="center" colspan="2" height="28"><input name="Send" type="submit" value="verstuur"></td>
</tr>
<tr>
<td align="right" colspan="2" height="14"><small><a href="javascript:window.close();">Venster sluiten</a></small></td>
</tr>
</form>
</table>
</body>
</html>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
}
?>
 

13/10/2008 16:43:00
Quote Anchor link
Jan schreef op 13.10.2008 16:34:
Dat klop wat je zegt maar de spam bot komt helemaal niet bij mollie en heeft mollie niet nodig om het php scriptje te vinden op de server en te bekladden.
ik had bij mollie ook al gekeken
gr jan

Oke, effe alles op een rijtje zetten:
Bestand1.php daarin wordt een linkie naar mollie gemaakt. Bij mollie betaal je. Mollie stuurt je door naar Bestand2.php Bestand2.php past het tekst bestand aan.
Dan moet je gewoon:
Karl schreef op 13.10.2008 16:30:
Mollie heeft uitstekende documentatie, kijk daarin. Daar zal vast wel wat in staan om te controleren of er betaald is. Dat moet je in het php script implanteren die de tekst toevoegd.

toepassen op bestand2.php.

Ook is er dacht ik hier op phphulp.nl een script geweest:
site:phphulp.nl mollie
site:phphulp.nl Arjan Kapteijn mollie


Edit:
Niet bumpen.
Gebruik en tags.

Edit2:
Jan schreef op 13.10.2008 16:43:
Mijn gedacht is ergens in dit scriptje gezet moet worden dat automatisch spammen onmogelijk maakt maar de gebruiksvriendelijkheid niet aantast.

Lees mijn post nouw eens.
Viagra lijkt me niet zo'n probleem hehe....
Gewijzigd op 01/01/1970 01:00:00 door
 
Jan de vries

Jan de vries

13/10/2008 16:46:00
Quote Anchor link
klopt helemaal de aanpassing moet in bestand2.php
 

13/10/2008 16:47:00
Quote Anchor link
Jan schreef op 13.10.2008 16:46:
klopt helemaal de aanpassing moet in bestand2.php

Dus wat is je probleem?
 
Jan de vries

Jan de vries

13/10/2008 16:56:00
Quote Anchor link
Hoe voorkom ik dat dit scriptje beklad word.
 

13/10/2008 17:01:00
Quote Anchor link
Jan schreef op 13.10.2008 16:56:
Hoe voorkom ik dat dit scriptje beklad word.

Eigenlijk is dit gewoon een aanvraag of vacature?
 
Jan de vries

Jan de vries

13/10/2008 21:50:00
Quote Anchor link
wat ik met deze vraag moet is mij onduidelijk
 
Arjan Kapteijn

Arjan Kapteijn

13/10/2008 22:17:00
Quote Anchor link
Je hebt de beste methode gekozen, immers gaat een spambot echt niet betalen ;). De vraag is echter, hoe kan het zijn dat een spambot bij jouw verwerkingsscript terecht komt terwijl hij helemaal niet betaald heeft?

Ik neem aan dat mollie je alleen doorstuurt als je betaald hebt. Dat betekend dat bots op de gok je verwerkingsscript gevonden heeft? Of link je per ongeluk naar je verwerkingsscript in de href ofzo?
 
Jan de vries

Jan de vries

13/10/2008 22:33:00
Quote Anchor link
je veronderstelling is juist.... ik laat mollie inderdaad na betaling het verwerkingsscript aanroepen en de bots hebben bij hun zoektocht op de server het script gevonden en dat wat elke dag met onzin beklad.
In het verleden gebeurde dat af en toe en kon ik met de afgevangen ip adressen ip de server een ip deny zetten en dan ging het wel weer even goed maar de laatste dagen een vloedgolf van spam china.
ik ben al wel een poosje aan het stoeien door captcha in de invul form te zetten maar dat gaat niet lekker.
De bedoeling is eigelijk dat bovenaan de invulpagina een (bijvoorbeeld) eenvoudig rekensommetje of vraag staat en daaronder de rest van het formulier waar onderaan submit staat.
Het formulier moet dus met 1 submit alles afhandelen en al na gelang de juistheid van het rekensommetje of vraag bij ok pas de resterende afhandeling verrichten.
moeilijk verhaal maar hopelijk te begrijpen
gr jan
 
Joshua Angnoe

Joshua Angnoe

13/10/2008 22:50:00
Quote Anchor link
Dus je hebt een dienst waarvoor mensen betalen, maar bots kunnen het gratis gebruiken?

In de $_SERVER['HTTP_REFERER'] variabele kun je zien waar de gebruiker vandaan kwam... Als ze van Mollie af kwamen dan moet dat in deze variabele komen te staan.

Daarnaast stuurt een Normale Browser bepaalde Request Headers naar je Server, probeer de functie getallheaders (of apache_request_headers) om te kijken hoe dit er normaliter uitziet.. Bots hebben in veel gevallen niet al deze headers.. (tenzij ze gebouwd zijn door slimme mensen).

Nog iets wat de meeste bots niet kunnen is javascript uitvoeren. Je kunt een javascript mechanisme uitvoeren, bijvoorbeeld: Je laat door middel van Javascript een dynamische waarde naar een invoer-veld schrijven, zodra het formulier gesubmit wordt, dan krijg je ook die dynamische waarde meegestuurd. Als de client niet in staat is javascript uit te voeren dan gebeurt dit niet! (tenzij de bot gebouwd is door slimme mensen).

De Captcha is vrij simpel uit te voeren: je neemt twee willekeurige waardes, het liefste allemaal met woorden (four plus two is ? [[ vul 6 in ]]), in de $_SESSION zet je de verwachte waarde.. zorg wel dat je Sessies gebruikt en niet Cookies.
 
Arjan Kapteijn

Arjan Kapteijn

13/10/2008 22:57:00
Quote Anchor link
Rekensommetjes, javascript, captcha... je maakt het de gebruikers moeilijk en er zit gewoon een enorm beveiligingslek in je systeem, hoe kan het in hemelsnaam zijn dat iemand het formulier kan invullen zonder dat er betaald is?

Check de documentatie van mollie, of pak anders een ander systeem.. Ga een unieke code meegeven en zorg ervoor dat mollie tegen jouw server gaat zeggen welke codes hebben betaald.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.