Laravelで入出力時と内部処理での文字エンコーディングの確認について。
入力時
mb_check_encoding() による確認処理はどこに記述すべきでしょうか。
ミドルウェアで全リクエストに対して行うべきですか。
内部処理
コントローラなどに明示的に文字エンコーディングを指定する必要はありますか。
それ以外で思いつくのは、
config/database.php で使用DB(MySQL)の文字エンコーディングに合わせる。
PHP
1'charset' => 'utf8mb4', 2'collation' => 'utf8mb4_general_ci',
出力時
Bladeファイルの先頭にheader関数でContent-Typeを指定しています。
Laravelでheaderやini_setはどこに書くべきでしょうか。
PHP
1@php 2 header('Content-Type: text/html; charset=UTF-8'); 3 header('X-FRAME-OPTIONS: SAMEORIGIN'); 4 header('X-Content-Type-Options: nosniff'); 5 header('X-XSS-Protection: 1; mode=block'); 6 ini_set('session.cookie_httponly', 1); 7 ini_set('session.cookie_secure', 1); 8@endphp 9 10<!DOCTYPE html> 11<html lang="ja"> 12 <head> 13 <meta charset="utf-8">
PHPの設定
php.iniで default_charset = “UTF-8” としています。
文字エンコーディングのセキュリティー対策について、不十分な部分があれば併せて教えてください。よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/24 08:45
2019/03/24 09:14
2019/03/24 09:47