download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Генериране на произволен въпрос php... ?

<1 2 >

Автор
Съобщение
anonymous
Сря, 23.02.11, 09:50
lotsofsex благодаря ти но може би аз не съм обяснил както трябва... аз имам подобна защита и бот не може да се регне но има явно една огромна група спамери (да ги нарека) който си правят на ден около 100-200 регистрации най малко и оставят в профилите си линк към някой сайт и повече не се появяват с техния си профил а си правят нов със същия или по различен линк... всички тези спамери не са от бг и съответно би трябвало да не знаят български за това и искам да добавя още една защита след captcha защитата и по този начин да задавам въпроси на български и на руски и дано по този начин да огранича спамерите...

П.С.

И Д.БГ трябва да има подобна защита с captcha и аз като един БЪГ файндер ще предложа на Д.БГ да се замислят за това.

tegote
Сря, 23.02.11, 10:44
” И Д.БГ трябва да има подобна защита с captcha и аз като един БЪГ файндер ще предложа на Д.БГ да се замислят за това. „
Така като гледам DBG нямат проблем. А сетете се защо. Защото трябва да си Premium. Ние имаме един регионален форум с Captcha, който бълва спамерски теми и спамерски регистрации, предлагат много секс и сайтът вече виждам плува в такива бълвочи, няма равен, armenxxx или говори за същият този сайт, или и него го е полазило същото. Виждат се само спамерски теми, админите рядко чистят и са се отказали, това е вече половин година, иде им краят. Крупните промени изглежда им идват сложно, предполагам може би да е свързано със запазване на темите, публикувани вътре. Никак не са малко, бе оживен сайт също както е тук.
редактиран от tegote на 23.02.11 10:45
anonymous
Сря, 23.02.11, 18:01
Хе, хе... Ако тези спамери са хора, които няма какво да правят и си запълват времето да си правят реални регистрации в твоя сайт, ако ще и на китайски да са въпросите пак ще се регистрират. Примерно може да използват преводачката на чичо google, или която там им харесва. Поради тази причина ще ти предложа по- хитър вариант.

Варианта е следния:
Гледаш от коя държава е IP адреса. Ако е Bulgarian да се регистрира. Ако не е ти знаеш какво да правиш с него.

Ето и как става доста лесно:
Вземаш IP адреса:
$ip = getenv('REMOTE_ADDR');

След, което поглеждаш от къде е:
$a = file_get_contents("http://whatismyipaddress.com/ip/$ip");
$stranaa = explode("Country:</th><td>",$a);
$stranab = explode(" <img",$stranaa[1]);
$strana = $stranab[0];

Проверяваш страната, от която е, дали ти трябва или не:
if ($strana == 'Bulgaria') {
   //допускаш го да се регестрира или каквото там
   //.....
} else {
   echo '<script type="text/javascript">
                 window.location = "http://www.gay.bg/"
             </script>';
}

Ако ти трябва да допускаш хора от повече страни просто допълваш в проверката си другите страни. Примерно за Русия:
if ($strana == 'Bulgaria' || $strana == 'Rossia')

phrozencrew
Сря, 23.02.11, 19:27

RE: Генериране на произволен въпрос php... ?

lotsofsex благодаря ти но може би аз не съм обяснил както трябва... аз имам подобна защита и бот не може да се регне но има явно една огромна група спамери (да ги нарека) който си правят на ден около 100-200 регистрации най малко и оставят в профилите си линк към някой сайт и повече не се появяват с техния си профил а си правят нов със същия или по различен линк... всички тези спамери не са от бг и съответно би трябвало да не знаят български за това и искам да добавя още една защита след captcha защитата и по този начин да задавам въпроси на български и на руски и дано по този начин да огранича спамерите...

П.С.

И Д.БГ трябва да има подобна защита с captcha и аз като един БЪГ файндер ще предложа на Д.БГ да се замислят за това. „

Разбрах ти мъката. Решението е още по-просто. Вкарваш въпросите за сесията на BG и си готов:
index.php
<?php require("BG_Guard.php"); ?>
 
<form action='formhandler.php' method='post'>
<h1>MathGuard antispam class form example</h1>
	<b>Title:</b> <i>(For example: The best coding site ever..)</i><br/>
	<input type='text' name='title' size='30'/><br/><br/>
 
	<b>Description:</b><br/>
	<textarea name='description' rows='5' cols='50'></textarea><br/><br/>
 
	<b>Keywords:</b> <i>(Space, or comma separated keywords)</i><br/>
	<input type='text' name='keywords' value='' size='30'/><br/><br/>
 
	<b>URL:</b><br/>
	<input type='text' name='url' value='http://' size='30'/><br/><br/>
 
	<b>Email:</b><br/>
	<input type='text' name='email' value='@' size='30'/><br/><br/>
 
	<?php $c = $_SESSION['mycode'];
	$k = array_keys($c);
 
	echo "Колко прави ".$k[0]."?";
	?>
	<input type='text' name='math' value='' size='4'/>
	<br/><br/>
	
	<input type='hidden' name='action' value='submit'/><br/>
	<input type='submit' name='Submit' value='Add URL' class='mybutton'/><br/>
</form>

BG_Guard.php
<?php
session_start();
 
$random=rand(0,2);
$questions = array("две плюс три" => 5, "седем по две" => 14, "петнадесет минус три" => 12);
 
$arv = array_values($questions);
$ark = array_keys($questions);
 
$rcode = array($ark[$random] => $arv[$random]);
 
$_SESSION['mycode']=$rcode;//поставям в сесиен файл така генерирания код за достъп
?>

formhandler.php
<?php
session_start();
 
$validate = $_POST['math'];
$c = $_SESSION['mycode'];
$v = array_values($c);
 
if ($validate == $v[0]) {
	echo ("Great !"); //insert your code that will be executed when user enters the correct answer
} else {
	echo ("Bad answer, go back to school !"); //insert your code which tells the user he is spamming your website
	die();
}
?>
<br/>
<br/>
You entered:
title: <?php echo($_POST['title'])?>; <br/>
description: <? echo($_POST['description'])?> <br/>
keywords: <?php echo($_POST['keywords'])?> <br/>
url: <?php echo($_POST['url'])?> <br/>
email: <?php echo($_POST['email'])?> <br/>

anti_spam_BG.rar

ДЕМО

ПС: Малко обърках адреса на демото! Оправен е.

редактиран от phrozencrew на 23.02.11 19:46
anonymous
Сря, 23.02.11, 19:32
Това е доста глупаво и не може да се разчита на него на 100 процента. Не винаги има инфо за ИП-то, а и не винаги е вярна...
Това с въпроса си е чиста работа.

 Обаче.. 200 регистрация би ли тръгнал реален човек да прави на ден??? Според мен не, на 30-тата ще изпуши... Вероятно обаче ползваш WordPress??? Той може да си има някаква защита, но са й хванали цаката. Сложи rE-Capatcha. При нея кодовете се генерират на тяхна страница, а и изображенията също, така няма шанс да се пробие лесно без OCR.

phrozencrew
Сря, 23.02.11, 19:53

RE: Генериране на произволен въпрос php... ?

” Вероятно обаче ползваш WordPress??? Той може да си има някаква защита, но са й хванали цаката. Сложи rE-Capatcha. При нея кодовете се генерират на тяхна страница, а и изображенията също, така няма шанс да се пробие лесно без OCR. „
Не ми прилича да ползва WordPress. Кода на сайта е прекалено чист, за да е ползвана някаква тъпа система.

<1 2 >

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.