PHP에서 스팸 댓글을 방지하기 위해 Akismet을 사용하는 코드

高洛峰
풀어 주다: 2023-03-01 11:14:01
원래의
1133명이 탐색했습니다.

하지만 완벽한 사람은 없고, 완벽한 사람도 없습니다! Akismet은 완벽하지 않습니다. 최근 Akismet이 스팸으로 판단한 메시지 중 "좋은 사람들"이 보낸 메시지를 자주 발견합니다. 그러나 때로는 오랜 시간이 지나면 자동으로 삭제되어 소중한 우정과 메시지를 잃게 됩니다.
코드에서 __YOUR_AKISMET_KEY__, __YOUR_WEBSITE_URL__ 및 __YOUR_NAME__을 수정하는 것을 잊지 마세요.
http://www.script-tutorials.com/akismet-spam-protection/
index.php
코드 복사 코드는 다음과 같습니다:
require_once ('classes/Akismet.class.php')
class MySpamProtection {
// 변수
var $sMyAkismetKey>var; $sWebsiteUrl; var $sAuthName;  
var $sAuthUrl;  
변수용 $oAkismetKey = '__YOUR_AKISMET_KEY__' $this->sWebsiteUrl = '__YOUR_WEBSITE_URL__';
$this->sAuthName = '__YOUR_NAME__'
$this- >sAuthEml = ''; ;
// Akismet 초기화
$this->oAkismet = new Akismet($this->sWebsiteUrl ,$this- >sMyAkismetKey)
$this->oAkismet->setCommentAuthor( $this->sAuthName);
$this->oAkismet->setCommentAuthorEmail($this->sAuthEml);
$this->oAkismet->setCommentAuthorURL($this->sAuthUrl );
}
공용 함수 isSpam($s) {
if (! $this->oAkismet) return false
$this->oAkismet->setCommentContent($s) ;
return $this->oAkismet->isCommentSpam()
}
}
echo < ;<


<입력 id="author" name="author" type="text" value="" />

< ;div>< ;textarea id="comment" name="comment" cols="20"rows="4">< /div>
<입력 이름="제출" 유형 ="submit" value="Send" />

EOF;
if ($_POST) {
// 디버그 정보 그리기
echo '
'; <br>print_r($_POST); <br>echo '
'
// 보낸 정보 얻기
$sPostAuthor = $_POST['author'] ;
$sCommentComment = $_POST['comment'];
// 스팸 확인
$oMySpamProtection = new MySpamProtection ()
$sAuthorCheck = ($oMySpamProtection->isSpam($sPostAuthor) )) ? ' "저자"가 스팸으로 표시됨' : '"저자"가 스팸으로 표시되지 않음'
$sCommentCheck = ($oMySpamProtection ->isSpam($sCommentComment)) ? ' "댓글"이 스팸으로 표시됨': '댓글'이 스팸으로 표시되지 않았습니다.';
echo $sAuthorCheck .
}

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿