PHPにおけるheader()関数とは、生の HTTP ヘッダを送信するために使用されるものである。
今回ワシは、他のサイトからのiframeやframeアクセスを拒否すべく
header(‘X-Frame-Options: SAMEORIGIN’);
というコードを該当ページのphpファイルに追記しようとしている。
しかし、header()の記述位置はどこじゃ?上の方となんとなく思うが。
header()関数は、一番上に記述する
PHP: header - Manual
header() 関数は、 通常の HTML タグまたは PHP からの出力にかかわらず、すべての実際の 出力の前にコールする必要があることです。
PHPよりも、HTMLよりも先に書かねばならぬ。
includeとかする場合も要注意じゃな。
ダメな例
<html>
<?php
/* これはエラーとなります。この上に出力があることに注目してください。
* それはheader()のコールより前であるということになります */
header('Location: http://www.example.com/');
exit;
?>
良い例
<?php
header("Location: http://www.example.com/"); /* ブラウザをリダイレクトします */
?>
コメント