無料のレンタルサーバーによくあることなのですが、勝手にJavascript製の広告が挿入されることがあります。
本来、それの表示を妨げる行為はレンタルサーバーの利用規約違反だったりしますが、合法的に表示出来なくする方法があります。
しかも、セキュリティー強化にもなります。むしろ、そっちの方がメインです。
コンテントセキュリティーポリシーをヘッダーに設定すると、異物(例えば勝手に挿入されたスクリプト)を制御出来ます。
これは、レスポンスヘッダーに設置する方法と、HTMLのheadタグに挿入する方法があります。お勧めはヘッダーの方です。
<?php
#サイト内でJavascriptを一切使用しない場合
header("Content-Security-Policy:script-src 'none';");
#サイト内でJavascriptを使用する場合(後方互換性のため'unsafe-inline'を併記)
$nonce = base64_encode(random_bytes(random_int(64, 100))); //乱数を生成
header("Content-Security-Policy:script-src 'nonce-{$nonce}' 'unsafe-inline';");
//$nonce をscriptタグのnonce属性に追加
こうすることで、異物のJavascriptを実行出来なくすることが出来ます。つまり、広告ブロックとXSS対策が出来て一石二鳥です。
これは最初の「content-type:text/html;charset=UTF-8」と同じようにheader関数で送信します。php以外の言語でやる場合は、「header」「二回の改行」「HTML等の本文」の順番で出力します(header関数ではなく通常の標準出力です)。webのルールです。
サイト全部にheaderを適応したい場合、.htaccessを使うと簡単です。
<IfModule mod_headers.c>
Header set Content-Security-Policy "script-src 'none';"
</IfModule>
mod_headersが有効であればこの方法が使えます。
HTMLしか使えない場合は、metaタグを挿入しましょう。
これをheadタグ内に入れて下さい。
<meta name="Content-Security-Policy" content="script-src 'none';">
ヘッダーなどという小細工を使わなくとも、スマートな方法もあります。
スクリプトの挿入はbodyタグやiframeタグに反応するらしいので、それを使わなければ良いのです。divに置き換えましょう。
文法的に問題がありますが、裏サイトごときでは些末なことです。