CAPTCHA(全自動區分電腦與人類的圖靈測試)俗稱驗證碼,用於區分使用者是電腦還是人類。Yii 提供 CCaptcha 和 CCaptchaAction 支援驗證碼,需 PHP GD 擴充支援,可透過 Yii Requirements 應用程式檢查:

若顯示 Warning,需安裝 GD 擴充庫並修改 php.ini 啟用。CCaptcha::checkRequirements() 也可檢測 GD 庫是否安裝。
修改前例星級評分,加入驗證碼功能:只有輸入正確驗證碼時評分才有效,防止機器自動評分。
新增 verifyCode 屬性存放使用者輸入驗證碼,加入 CCaptchaValidator 驗證:
class DataModel extends CFormModel {
public $rating;
public $verifyCode;
public function rules() {
return array(
array('rating, verifyCode', 'safe'),
array('verifyCode', 'captcha', 'allowEmpty' => !CCaptcha::checkRequirements()),
);
}
}