Jump to content
php.lv forumi

Kā izdarīt tā, lai nevarētu dienā ieiet lapā vairāk kā reizi?


IM24LV

Recommended Posts

Es Esmu izveidojis tādu kā viesugrāmatu, bet lai izvairītos no spameriem man vajadzētu uzlikt tādu iespēju lai

cilvēki netiktu iekšā komentāru pievienošanas lapā vairāk kā vienu reizi dienā.

 

Vai varbūt ir kāds savādāks veids kā nobloķēt spamerus??? :(

Edited by IM24LV
Link to comment
Share on other sites

nesatraucies, custom taisītai viesugrāmatai neuzklups gadus piecus neviens spameris.

blogger.com, wordpress, phpbb ir daudz gardāki kumosiņi spameriem.

 

bet ja nu tiešām gribi, tad pie komentāra pielikšanas pieliec bildiņu un liec integrāļus rēķināt vai minēt latviešu tautas mīklas. :>

Link to comment
Share on other sites

Nu lieta tāda, ka ir diezgan daudzi nīdēji, kuriem nav ko darīt un patīk tikai no_ citu padarīto. Visa viesugrāmata balstās uz teksta failiem, un ir bez datubāzes, jo nav pieejams SQL (serverim leetaakais variants)

 

bet ideja par atteelua gjenereeshanu uz skaitljiem tiesham ir laba :)

 

bet labaak iespeejams buutu ka katru rteizi uzgjeneree vienkaarshi 4 ciparus

un tie pashi ir jaaieraksta logaa. un ja nav pareizi tad nepienjem :)mhm... ir kaadi citi varianti??? es tadu kodu jau tiko itkaa uzrakstiiju, bet lieta taada, ka es nemaaku uzrakstiit lai tur mainiitos katru reizi tas 4 ciparu vai vienalga cik ciparu skaitlis un otrkaart nemaaku uztaisiit lai tajaa formaa driiksteetu ierakstiit tikai un vieniigi to skaitli ko uzgjeneree

Link to comment
Share on other sites

$skaitlis = rand(0, 10).rand(0, 10).rand(0, 10).rand(0, 10).;
$_SESSION['skaitlis'] = $skaitlis;

 

// submitojas forma;

 

un tad parbaudi:

if($_POST['skaitlis'] == $_SESSION['skaitlis'])
{
// ierakstas koments txt faila
} else {
//spameris
}

Link to comment
Share on other sites

piedo, bet nesaprotu.

 

man ir vienkaarshi 2 elementaaras lapas:

 

1-lietotaaja izpildes lapa

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<TITLE> Pievienot komentāru </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<form action="pieliktinfo.php" method="post">
E-pasts:<br />
<input type="text" name="epasts"><br />
www:<br />
<input type="text" name="www" MAXLENGTH=35 value="http://www.tavssaits.lv"><br />
Niks:<br />
<input type="text" name="niks" MAXLENGTH=20 value="Anonīms"><br />
<br />
<textarea cols="50" rows="10" name="teksts"></textarea><br />
<input type="submit" value="Pievienot">
</form>
</BODY>
</HTML>

 

2-

nodoshanas lapa, kas aizsuuta tekstu uz txt failu:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1257" />
<meta http-equiv="refresh" content="2; URL=<?php echo $_SERVER['HTTP_REFERER']; ?>" />
<title>Viesugrāmata</title>

</head>

<body>
<?php
//taisīja Mad182 
error_reporting (E_ALL ^ E_NOTICE);
$epasts = htmlspecialchars($_POST["epasts"]);
if ("$epasts" ==! "") {
$links = "<a href='mailto:$epasts'>";
$aizvert = "</a>";
}else{
$links = "";
$aizvert = "";
}
$www = htmlspecialchars($_POST["www"]);
$datums = date("d.m.Y - H:i");
$niks = htmlspecialchars($_POST["niks"]);
$teksts = htmlspecialchars($_POST["teksts"]);
//===================================smaidinji=======================
$teksts = str_replace(":)", "<img src=\"Images/smilies/happy.gif\">", $teksts);
$teksts = str_replace(";)", "<img src=\"Images/smilies/wink.gif\">", $teksts);
$teksts = str_replace(":D", "<img src=\"Images/smilies/grin.gif\">", $teksts);
//==================================teksta efekti=============
//bold
$teksts = preg_replace("/\[b\]((\s|.)+?)\[\/b\]/", "<b>\\1</b>", $teksts);
//slipraksts
$teksts = preg_replace("/\[i\]((\s|.)+?)\[\/i\]/", "<i>\\1</i>", $teksts);
$teksts = preg_replace("/\[u\]((\s|.)+?)\[\/u\]/i", "<u>\\1</u>", $teksts);
$teksts = preg_replace("/\[img\]([^\s'\"<>]+?)\[\/img\]/i", "<img border=0 src=\"\\1\">", $teksts);
$teksts = preg_replace(
	"/\[color=([a-zA-Z]+)\]((\s|.)+?)\[\/color\]/i",
	"<font color=\\1>\\2</font>", $teksts);
$teksts = preg_replace(
	"/\[url=([^()<>\s]+?)\]((\s|.)+?)\[\/url\]/i",
	"<a href=\"\\1\">\\2</a>", $teksts);
$teksts = preg_replace(
	"/\[url\]([^()<>\s]+?)\[\/url\]/i",
	"<a href=\"\\1\">\\1</a>", $teksts);
$teksts = preg_replace(
	"/\[size=([1-5])\]((\s|.)+?)\[\/size\]/i",
	"<font size=\\1>\\2</font>", $teksts);
print("<b>Paldies!</b><br />Tavs ieraksts tika pievienots!");
$fails = fopen("dati.php", "a");
if (!$fails) {
print("Kļūda. Kaut kas nogāja greizi");
exit;
}
fputs ($fails,implode,("\n"));
fwrite($fails,"
<table width=500 border=1 cellspacing=0 cellpadding=2><tr><td valign=top background=Images/Dizains/comment.png>$links <IMG SRC='Images/misc/email.gif' WIDTH='20' HEIGHT='20' BORDER='0' ALT='WWW'>$aizvert <a href=$www><IMG SRC='Images/misc/www.gif' WIDTH='20' HEIGHT='20' BORDER='0' ALT='WWW'></a> <b>$niks</b> <small>@ $datums</small></td></tr>
<tr><td><pre>$teksts</pre></td></tr></table>


");
fclose($fails);
?>
</body>
</html>

Link to comment
Share on other sites

Vai nu lieto JavaScriptu, kas On submit pārbauda vai lauciņi ir aizpildīti, tas būtu optimālais variants, vai arī ļauj lapu submitot un tad izmanto php, lai pārbaudītu vai padotie mainīgie nav tukši, ja ir, tad atgriez atpakaļ formu un paziņojumu par neizpildītiem laukiem. Bet nu vairumā gadījumu webmasteri ir slinki uz JavaScriptošanu un izmanto otro variantu.

Link to comment
Share on other sites

Bet nu vairumā gadījumu webmasteri ir slinki uz JavaScriptošanu un izmanto otro variantu.

 

Muljkiibas, muljkiibas, muljkiibas. Kaa jau v3rb0 sacija, tad servera puse ir viss japarbauda, jo lapas apmekletajam var but izslegts JavaScript, vinsh var padod datus kaut vai no soketiem un tad sie dati paliks neparbauditi. JS tikai var pielietot papildus.

Link to comment
Share on other sites

JS tikai var pielietot papildus.

Es piemeram lielaakiem projektiem censhos JS izmantot , it iipashi ja ir kaadi obligaati aizpildaamie lauki....

kautvai saliidzinaat vai abas ievadiitaas paroles ir vienaadas un nav paaraak iisas......

Bet peec tam servera pusee vienalga taa pati parbaude :)

Link to comment
Share on other sites

Man ir kods:

 

<?php

$cipars1 = rand(0,10);
		$cipars2 = rand(0,10);

		$atbilde = $cipars1 + $cipars2;
		$atbilde = md5($atbilde);

		$jautajums = $cipars1 ." + ".$cipars2;






		?>


<?php echo $jautajums; ?>?
			<br />
			<input type="text" name="visual" id="visual" size="2" maxlength="2" />
			<input type="hidden" name="answer" value="<?php echo $atbilde;?>" />

 

It kaa viss straadaa, bet kas man jaaliek php failaa, lai vinsh nepieljauj ka shitais lauks ir tuksh, bet gan lai sanaak tik cik prasiits?

Link to comment
Share on other sites

eh..., atrodi labāk grāmatu "Kā Pēcis Beisikāns Maiju Saprātiņu programmēt mācīja", izlasi to, un tikai tad ķeries pie programmēšanas, nevis ar copy&paste nodarbojies.

 

Divus mainīgos salīdzina ar == operatoru:

if (md5($_POST["visual"])==$POST["answer"]) { ... } else { ... }

Link to comment
Share on other sites

×
×
  • Create New...