Nucleus

NP_FormTicket

2007年1月4日

 コメントフォームに単純にticket処理を追加するだけのプラグインを作成した。21行だけの、非常に小さなプラグイン。

 NP_JSEncodeと組み合わせれば、HTMLを調査せずに決め打ちで投稿してくるスパムに対処できる。

 また、mixiの『はまちちゃん』トラップのような、CSRF攻撃によるコメント投稿を防ぐことが出来るはず。

<?php 
class NP_FormTicket extends NucleusPlugin { 
    function getName() { return 'NP_FormTicket'; }
    function getMinNucleusVersion() { return 320; }
    function getAuthor()  { return 'Katsumi'; }
    function getVersion() { return '0.1'; }
    function getURL() {return 'http://hp.vector.co.jp/authors/VA016157/';}
    function getDescription() { return $this->getName().' plugin'; } 
    function supportsFeature($what) { return (int)($what=='SqlTablePrefix'); }
    function getEventList() { return array('FormExtra','ValidateForm'); }
    function event_FormExtra(){
        global $manager,$member;
        $manager->addTicketHidden();
    }
    function event_ValidateForm(){
        global $manager,$member;
        if ($manager->checkTicket()) return;
        exit('<html><body>'._ERROR_BADTICKET.'</body></html>');
    }
}
?>

コメント

コメントはありません

コメント送信