Goeienavond!

Ik ben nieuw hier, en heb me net ingelezen in de regels..
Ik heb moeite met het aanpassen van een gastenboek script, waar ik een beveiligings-voorwaarde in wil bouwen. Heb het op meerdere manieren geprobeerd, maar tevergeefs. Het gb-script is ca 350 regels, en de toevoeging 35. Kan ik deze hier plaatsten voor hulp? Zou graag weten hoe en waar ik de voorwaarde moet plaatsen.

(Volgens de tutorial leest men geen scripts van 200 regels, en wil men enkel de fouten weten. Beetje lastig als je niet weet waar je het moet plaatsen ;-( )


Jaap
De toevoeging moet gewoon kijken of er geen 'vuil' taalgebruik enzo inzit?

Misschien kan je beginnen met die te plaatsen?
als je het script even upload als een txt bestand dan kan iedereen hem bekijken in zijn eigen editor.

dat leest gewoon wat makkelijker als dan wanneer het hier op het forum staat
Dankjewel!!!

Heb beide files even in een nieuw dirretje geplaatst.

..en nu dus verwijderd !!!!

Ik heb geprobeerd om vanaf 314 de toevoeging te plaatsen, met regels 315 t/m 352 verwerkt ipv regels 27 en 28 van de toevoeging. De foutmelding van "header allready sent" krijg ik wel weg indien nodig, maar het script werkte nog niet.

Jaap
@ Ponzi:

Nee, de toevoeging moet voorkomen dat het gastenboek een paar honderd spamberichten er in krijgt, waarschijnlijk door robots of scripts. Het vraagt dus om het invoeren van een code, anders geen plaatsing.

Jaap
Hallo Jaap,

Is het al gelukt? Ik zoek ook een antispam script voor mijn gastenboek.
Nee, nog niet gelukt. Maar ben nog rustig aan het uitproberen !!
En jawel !!! Om 18h00 had ik het draaiende!!!

Geeft echt een goed gevoel ;-)
Deel je oplossing dan met bijv. melkweg want dat is eigenlijk de bedoeling van dit forum :)
Wij helpen jou en jij helpt ons 'if u know what I mean...'
Ik heb bovenin de pagina de benodigde code ingevoerd

<?

if (!defined('SEC_USER_ID')) {exit;}

include '../_include/_function_pages.php';

// begin

	$length    = 6;
	$key_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
	$rand_max  = strlen($key_chars) - 1;

	for ($i = 0; $i < $length; $i++)
	{
   	$rand_pos  = rand(0, $rand_max);
   	$rand_key[] = $key_chars{$rand_pos};
	}

	$random = implode('', $rand_key);


	$static_key = "sk49056kjfnd0349m0f277bn567kh59";
	$cookievalue = $_COOKIE['validate'];

	setcookie("validate", md5($random.$static_key) );

// eind

$sec_titel = 'Gastenboek';
$mmgast = '1';
?>


En vervolgens de rest van de code aangepast op de huidige file


	if (strlen($content)>2048) {$stop=1;$message.='<br>- Bericht kan maximaal 2000 tekens lang zijn';}
// begin
	
	if ($cookievalue == md5($_POST['val'].$static_key))
	{
	echo "";}
	else
	{
	echo
		 $stop=1;$message.='<br>- Vul de 6-cijferige code in';
	}


// eind
	if ($stop!='1') {

		$sql_fill = "INSERT INTO ".SEC_TABLE_GASTENBOEK." VALUES ('0','".SEC_USER_ID."','0','','$naam_afz','$email_afz','$site_afz','','$content',NOW())";
		mysql_db_query(SEC_MYSQL_BASE,$sql_fill,$connect);


Waarna ik in de html-code de werkelijke vernieuwing heb ingevoegd...


<tr>
			<td colspan="2"><center>Veiligheidscode:  <?=$random?></center></td>
			</tr>
			<tr>
			<td colspan="2"><center>Typ veiligheidscode  <input type="text" class="input2" name="val" length="6" id=""/></center></td>
			</tr>


Heb je daar iets aan? De toevoegingen in PHP staan tussen de // vermeldingen. Ik hoop dat ik zo duidelijk ben

Groetjes, Jaap
In het middelste codevak op regel 9 heb ik na de echo een eigen variant ingevoegd, die aansluit op de rest van het script. Daar kun je dus ook iets anders van maken.

Jaap

Reageren