-
Notifications
You must be signed in to change notification settings - Fork 141
【メール】フィールド名にMySQLの予約語を登録するとエラーが発生する #4332
Copy link
Copy link
Open
Description
概要
メールフィールドの管理画面(/baser/admin/bc-mail/mail_fields/index/{id})から、フィールド名にMySQLの予約語(例: select)を登録すると、メール送信時にSQL構文エラーが発生する。
baserCMS version : 5.2.x
再現手順
/baser/admin/bc-mail/mail_fields/index/{id}にアクセス- フィールド名に
selectなど MySQL の予約語を入力して登録 - フロントエンドのお問い合わせフォームから送信を実行
エラー内容
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use
near 'select) VALUES (...
原因
MailFieldsTableのバリデーションに MySQL 予約語チェックが含まれていなかったBcValidation::reserved()は既に実装されていたが、MailFieldsTableに適用されていなかった
参考
bc-custom-content の CustomFieldsTable では同様の問題に対して予約語バリデーションが適用済み
対応内容
MailFieldsTable::validationDefault() に同じように予約語バリデーションを追加する。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels