DedeCMS 投票モジュールの友人は、投票テーマのオプションが SQL インジェクションによって頻繁に削除されていたと報告しました。iOS100 ナレッジ ベースのコードを確認したところ、投票モジュールのコードが SQL パラメータを変換していないことが判明し、犯罪者による SQL インジェクションにつながったことが判明しました。 。 addslashes() を mysql_real_escape_string() に変更するだけです。
/include/dedevote.class.php ファイルを開き、$this->dsql->ExecuteNoneQuery("UPDATE `#@__vote` SET totalcount='".($this->VoteInfos['totalcount']) を探します。 +1 )."',votenote='".addslashes($items)."' WHERE helps='".$this->VoteID."'");
に変更します
$this->dsql->ExecuteNoneQuery("UPDATE `#@__vote` SET totalcount='".($this->VoteInfos['totalcount']+1)."',votenote='".mysql_real_escape_string( $items)."' WHERE helps='".mysql_real_escape_string($this->VoteID)."'");
注:
* addslashes() は強制的な追加です。
* mysql_real_escape_string() は文字セットを決定しますが、PHP バージョン (PHP 4 >= 4.0.3、PHP 5) の要件があります。* mysql_escape_string は接続の現在の文字セットを考慮しません。 (PHP 4 >= 4.0.3、PHP 5、注: このメソッドは PHP5.3 で廃止されたため、推奨されません)
転載の際は出典を明記してください: http://www.ios100.net/open/dedecms/15830.html