質問: 現在phpでアプリを開発しています。 セッションやCookieを外部から操作されないように、`secure`属性と`httponly`属性をtrueにしたのですが、`PHPSESSID`以外のCookieで有効になりません。 `httponly`属性に至っては、`true`にするとクッキがー生成されなくて困っています。 なので現状は`httponly`は`false`に設定しています。 教えてほしいこと --------- `PHPSESSID`以外のCookieで上記の属性を有効化できる方法。 ### google開発者ツールのCookie部分 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/b4397e430516186dc911e1b7d9d06fed.png) ### Cookie生成周りのソース ``` session_regenerate_id(true); session_cache_limiter('private_no_expire'); setcookie($name='csrf_token', $value='CSRFTOKENEXAMPLE', $expire=0, $secure=true, $httponly=false); if ($_SESSION['logged_in']) { if (!$_COOKIE['accept_user']) { | setcookie($name='accept_user', $value="accept", $expire=0, $secure=true, $httponly=false); } } else { setcookie($name='accept_user', $value="deny", $expire=time()-1, $secure=true, $httponly=false); } ``` ### php.iniの設定周り ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/5677db8e8ad964a2c16eed2184d6620b.png) 開発環境 ----- * php7.3-fpm * nginx * twig * ubuntu18.04 何卒、よろしくおねがいします!
回答: $secureは第6引数で、$httponlyは第7引数です。 PHPマニュアル:setcookie $secure=trueと書いたところでsecure属性が指定されるわけではなく、$secureという変数にtrueが代入されるだけです。