Movable Type Free版 セキュリティー対策 Ubuntu 24.04
最近、おおくのサイトで、ハッカーでの、個人情報の流出が、ほぼ毎日のようにTV で流されちょります。
これの触発されて、おんちゃんも、自分のサイトもセキュリティーを高めないといかん、と思って、手始めに、
Movable Type Free版 セキュリティー対策を、してみました。
いきなり公開サーバーで、Movable Type Free版 の修正を加えるのは、無理なので、
Ubuntu 24.04 PC のローカル環境で、
Movable Type Free版(これが、結構古い。対応 Perl のバージョンも古い) を、自作 C++ Light Http server で動かすことから、始めないと、いかん。
Ubuntu 24.04 の Perl バージョンは、v5.38.2 なので、これで、Movable Type Free版を
動かすと、結構エラーがでる。
まず、この点を解消してからのことじゃが。
手前みそじゃが、Ubuntu 24.04 PC で、手軽に http server を動かすなら、おんちゃんが公開しちょる、C++ Light Http Server が、ちょう簡単ぞね!!
light_http_servers
1. ドメインによるアクセス制限を追加。
MT free版は、cgi-bin のフォルダーが1つで、
user、 ad みたいに別れていない。なんとも臭い!!
なので、.htaccess を使っての Domain制限自体ができん!!
仕方がないので、MT の管理者 script を修正して、Domain 制限を今回、Google Ai に聞きながら、組み込んでみた。
1) mt.cgi の修正。
mt.cgi を下記の様に修正します。
2. mt-config.cgi の最後に、下記コードを追加して、
許可 domainn を登録します。
注1) 先頭に、. を付けて!!
注2) 本機能を有効にするには、お使いのサーバーが、 DNS 逆引きを有効にしていて、
環境変数 $ENV{REMOTE_HOST}
に、接続 client の情報を設定しておいてくれる必要があります。
注2) ファイルを修正するときは、必ず、オリジナルファイルを、別名で、バックアップしておいてください!!
もし、うまく行かないときは、バックアップから元に戻せば、回復します。
以上ぞね!!
3. あと、 Free 版の基本として、
ブログ記事に対する、第三者の書き込みの許可を、決してしないこと。
第三者が出来ることは、検索機能 だけにする事。
そうすれば、 Movable Type は、ブログ記事は、全て html ファイル吐き出しだから、一応案全!!
検索キーワードへの、 SQL Injection は、ローカル環境で、確認して、一応大丈夫みたい。
ただし、どうしても心配な方は、Google Ai に聞いて、組み込んでみてください。
多分、
extlib/Data/ObjectDriver/SQL.pm
sub add_where {
に、 SQL Injection 対策コードの組み込み方法を教えて?
とか聞けば、教えてもらえると思う!!
おんちゃんは、公開版には、念のため入れているけど!!
そうすると、 -- が検索出来ない不具合は、ある。
ただし、オリジナル版で、 -- を検索コードにしていすると、
ヒットするページ自体に、 -- が無いページが出てくる。
なにか、内部で、起こっているかも知れない。
やはり、検索機能にも、SQL Injection 対策の組み込みは、必要かも?
4. 序に、blog の Top の、index.html の下部に、ページめくり のリンクを付けた。
google ai に聞いたら、プラグインの PageBute.pl が、あるそうだが、
これは、使いものにならん。
おんちゃんの好みとしては、 top の /blog/index.html は、1つだけにして、
2ページ目からは、mt_search.cgi に表示させる。
仕方がないので、googel ai に、MT の plugin の作り方を、教えてもらって、自分で、作ることにした。
手順1. 今回の、Pulgin の、 pl ファイルを下記に作ります。
plugins/SearchPager/SearchPager.pl
手順2. index.html のテンプレートに、今回の Plugin の使用を、記述します。
下記は、抜粋です。
この後、サイトを再構築すれば、
/blog/index.html
の下部に、ページめくりのリンクが出ると思う。
注) 2 ページ目からは、 mt_search.cgi で、 "%" で、ページめくりをしているので、
上部に、"「%」と一致するもの" の表示がなされます。
これが、目障りなら、
テンプレート、検索結果 から、該当部分を、コメントにしとうせ!!
以上!!