IM24LV Posted September 17, 2006 Report Share Posted September 17, 2006 (edited) 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 September 17, 2006 by IM24LV Link to comment Share on other sites More sharing options...
v3rb0 Posted September 17, 2006 Report Share Posted September 17, 2006 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 More sharing options...
IM24LV Posted September 17, 2006 Author Report Share Posted September 17, 2006 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 More sharing options...
Vebers Posted September 17, 2006 Report Share Posted September 17, 2006 $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 More sharing options...
IM24LV Posted September 17, 2006 Author Report Share Posted September 17, 2006 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 More sharing options...
Vebers Posted September 17, 2006 Report Share Posted September 17, 2006 Kaa gjenereet bildes ar GD2 skaties ieksh http://lv.php.net/gd2 un ka to ciparu dabut gatavu ari paradiju un ka to visu vienkarsi parbaudit ari paradiju. Link to comment Share on other sites More sharing options...
IM24LV Posted September 18, 2006 Author Report Share Posted September 18, 2006 (edited) Paldies par palīdzību :) Hmm, bet kas jaaaraksta formaa, lai nepieljautu tukshu atstaat tekstu? Edited September 18, 2006 by IM24LV Link to comment Share on other sites More sharing options...
Orion7 Posted September 18, 2006 Report Share Posted September 18, 2006 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 More sharing options...
v3rb0 Posted September 18, 2006 Report Share Posted September 18, 2006 (edited) Orion7, 'vai' vārds nederēs. servera pusē vienmēr visi dati jāpārbauda. javascripts ir papildus opcija, ne alternatīva webiskas formas datu validēšanai. Edited September 18, 2006 by v3rb0 Link to comment Share on other sites More sharing options...
Vebers Posted September 18, 2006 Report Share Posted September 18, 2006 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 More sharing options...
Grey_Wolf Posted September 18, 2006 Report Share Posted September 18, 2006 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 More sharing options...
IM24LV Posted September 18, 2006 Author Report Share Posted September 18, 2006 paldies, atradu hotscripts.com skriptu kurš nepieļauj atstāt tukšu lauku :) Link to comment Share on other sites More sharing options...
IM24LV Posted September 20, 2006 Author Report Share Posted September 20, 2006 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 More sharing options...
bubu Posted September 20, 2006 Report Share Posted September 20, 2006 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 More sharing options...
IM24LV Posted September 20, 2006 Author Report Share Posted September 20, 2006 Paldies ka palīdzi, bet laikam bez grāmatas man jūsu valodu nesaprast. Hmm, jāpameklē šeit topiki, kuros ir aprakstīts kādu grāmatu labāk pirkt. Link to comment Share on other sites More sharing options...
Recommended Posts