|
|
|
เว็บบอร์ด อ้างจาก php-create-webboard-mysql เกิด reply ขยะค่ะ |
|
|
|
|
|
|
|
เจอพวก spam bot น่ะครับ ลองหา captcha มาใช้ครับ
|
|
|
|
|
Date :
2013-04-01 17:21:13 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่วยดูโค้ดให้หน่อยค่ะ หนูหาโค้ดมาจากเน็ตอีกที เพราะว่าไม่อยากใช้ที่เป็นสำเร็จอ่ะคะ กลัวไม่ผ่านโปรเจ็ค เลยใช้ที่เป็น javascript เอา
แต่ปัญหา คือ มันไม่เข้าฟังก์ชันไปเช็ค code ยืนยันอ่ะคะ ส่วนที่เพิ่มโค้ดเข้าไปก็ตั้งแต่ function createRandomPassword เป็นต้นไปค่ะ
Code (PHP)
<?
if($_GET["Action"] == "Save")
{
if(
Trim($_POST['txtQuestion']) =="" || Trim($_POST['txtDetails']) =="" || Trim($_POST['txtName']) =="" || Trim($_POST['code']))
{
echo"<script>alert ('กรุณากรอกข้อมูลให้ครบถ้วน') ;history.back();</script>";
exit();
}
else
{
header("location:board.php");
}
//*** Insert Question ***//
$strSQL = "INSERT INTO webboard ";
$strSQL .="(create_date,title,detail,name) ";
$strSQL .="VALUES ";
$strSQL .="('".date("Y-m-d H:i:s")."','".$_POST["txtQuestion"]."','".$_POST["txtDetails"]."','".$_POST["txtName"]."') ";
$objQuery = mysql_query($strSQL);
}
?>
<form action="NewQuestion.php?Action=Save" method="post" name="frmMain" id="frmMain">
<table width="95%" border="1" frame="void" bordercolor="#0099CC">
<tr>
<td align="right" bgcolor="#0099CC">หัวข้อกระทู้ : </td>
<td align="left" width="400"><input name="txtQuestion" type="text" id="txtQuestion" value="" size="85"></td>
</tr>
<tr>
<td width="104" align="right" bgcolor="#0099CC">รายละเอียด : </td>
<td>
<textarea name="txtDetails" cols="65" rows="10" id="txtDetails"></textarea><br>
</td>
</tr>
<tr>
<td width="104" align="right" bgcolor="#0099CC">ผู้โพส : </td>
<td width="504"><input name="txtName" type="text" id="txtName" value="" size="30">
</td>
</tr>
<tr>
<td width="104" align="right" bgcolor="#0099CC">ระบุตัวอักษร : </td>
<td>
<?php
function createRandomPassword() { // ฟังก์ชั่นสำหรับสุ่มรหัสลับ<br>
srand( date("s") );
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // ตัวแปรที่จะทำการสุ่ม จะเป็นตัวเลข ตัวเล็ก ตัวใหญ่ หรือผสมกันไปก็ใส่เพิ่มเอาเอง<br>
$ret_str = "";
$num = strlen($chars);
for($i=0; $i < 6; $i++) {
$ret_str.= $chars[rand()%$num]." ";// สุ่มเอามาสัก 6 ตัว 0 ถึง 5 ก็ 6 นั่นหล่ะน่าาา<br>
}
return $ret_str;
}
$text = createRandomPassword(); // เรียกใช้หังก์ชั้นสุ่มรหัสลับ แล้วมาเก็บค่าไว้ในตัวแปร $text
echo '<input type="hidden" name="code_chk" id="code_chk" value="'.ereg_replace(" ","",$text).'"="">';
$font_size = 15;
$height =22;
$width = 100;
// ข้างล่างนี้เป็นการสร้างภาพและเอารหัสลับที่ได้ยัดใส่เข้าไปอยู่ในภาพที่สร้าง สามารถปรับเปลี่ยนได้นะครับ<br>
$im = ImageCreate($width, $height);
$grey = ImageColorAllocate($im, 230, 230, 230);
$black = ImageColorAllocate($im, 0, 0, 0);
$text_bbox = ImageTTFBBox($font_size, 0, "AGENCYR_0.TTF", $text); // อย่าลืมก๊อปไฟล์ฟอร์นมาไว้ในโฟลเดอร์ด้วยนะ ไม่งั้นจะไม่แสดงผล<br>
$image_centerx = $width / 2;
$image_centery = $height / 2;
$text_x = $image_centerx - round(($text_bbox[4]/2));
$text_y = $image_centery + 5;
//$text_y = $image_centery;<br>
ImageTTFText($im, $font_size, 0, $text_x, $text_y, $black, "AGENCYR_0.TTF", $text);
ImagePng($im,"image-code.png");
ImageDestroy ($im);
echo "<img src='image-code.png'>" ; // และสุดท้ายก็แสดงผลรูปภาพออกมา<br>
?>
<form onSubmit="return Check_txt()" onchange="document.getElementById('code')" enctype="multipart/form-data">
<script language="JavaScript">
function Check_txt()
if(document.getElementById('code').value==""){ // ตรงนี้เช็คว่าได้กรอกรหัสหรือยัง
alert("กรุณาระบุ code ด้วยครับ");
document.getElementById('code').focus();
return false;
}
if(document.getElementById('code').value!=document.getElementById('code_chk').value){ // ถ้ากรอกแล้ว รหัสถูกต้องไหม>
alert("Code ไม่ถูกต้อง กรุณาลองใหม่อีกครั้ง"); // ถ้าไม่ถูกต้องก็แจ้งให้เขาทราบ
document.getElementById('code').value==""; // ล้างค่าในเท็กซ์ออกเพื่อพร้อมสำหรับการกรอกรหัสลับใหม่
document.getElementById('code').focus();
return false;
}
</script>
<input type="text" name="code" id="code" >
<input name="btnSave" type="submit" id="btnSave" value="ตั้งกระทู้">
|
|
|
|
|
Date :
2013-04-01 21:38:40 |
By :
ไอซ์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Copy มาจากไหน ก็ดูคำแนะนำที่นั่นแหละครับ น่าจะมีเอกสารคู่มือมาให้
|
|
|
|
|
Date :
2013-04-02 06:19:27 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่คะ ตอนนี้ captcha ใช้ได้แล้วค่ะ เช็คได้ว่าพิมพ์ text ตรวจสอบถูกรึไม่ถูก ถ้าถูกก็ตอบ/ตั้งกระทู้ได้ ถ้าไม่ถูกก็กรอกใหม่
แต่ทำไม spam มันยังมีมาอยู่คะ ฮือออ ไม่รู้จะทำยังไงแล้วค่ะ
มีคำแนะนำอะไรมั้ยคะ
สแปมบานเบอะเลยค่ะ เต็มดาต้าเบสเลย 500 กว่า records สแปมหมดเลย =='
|
|
|
|
|
Date :
2013-04-03 02:22:28 |
By :
ไอซ์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้การบวกเลขง่าย ๆ เหมือน ไทยครีเอทก็ได้ครับ
|
|
|
|
|
Date :
2013-04-03 09:03:22 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|