2023年7月 Archives

先日からPythonのアプリ的なものを作成しているのですが、最終的には各.pyファイルをまとめ、main.pyファイルで一元管理できるようにはなりました。

しかしながら、そこから先、.exe化してスタンドアロンの形にしようと思ったのですが、モジュールまでを組み込むのは難しく、最終的には断念する結果になっています。

この.pyファイルと.exeの違いですが、.pyは必要なPythonのプログラムがパソコン上に入っている必要がありますが、.exeファイルにはPython自体も組み込むことにより、単独で機能することになります。

そのため、ファイルをダウンロードしさえすれば、必要なプログラムは全て用意されている状態のため、単独で機能するソフトウェアになる利点があります。

けれども、Pythonの場合、必要なモジュールが複数あり、それはまた別にインストールする必要があるため、必要なソフトウェアを一括でそろえるのが困難であるとの結論に達しました。

あえなく、.pyの形式で使用しているのですが、それでも自分で使用する分には、既にある.pyファイルも.exeファイルも使用感は特に変わりはないため、そのまま使用しています。

この.exeファイルでスタンドアロン化するメリットは、人に配布するとか、あるいはダウンロード販売をする際には必要かもしれませんが、自分でそのソフトウェアを使用する分には、必要な要件は既にそろっているため、あえてパッケージ化する必要はないかもしれません。

それでももし、あえてスタンドアロン化する場合には、動作条件として必要なプログラムやモジュールを指定するなど、事前に説明した上で配布することをおすすめします。

通常の403 Forbiddenエラーの場合、以下のように表示されることが多いと思います。

Forbidden

You don't have permission to access this resource.

これは通常、.htaccessにて、サイト運営者によってアクセスが拒否された際に表示されることが多いです。

けれども、先日、管理サイトの1つにて、いつもとは違うForbiddenエラーが表示されていました。

Forbidden

You don't have permission to access this resource.Server unable to read htaccess file, denying access to be safe

おかしいな?と思いつつ、.htaccessを確認してみたのですが、deny fromなどでアクセスを拒否するような設定は何もしていません。

そこで改めてエラー内容を読んでみますと、「Server unable to read htaccess file」と書いてあり、これはつまり、サーバーが.htaccessファイルの中身を読み取ることができないため、安全のためにアクセスが拒否された意味になります。します。

つまり、.htaccessに書かれている内容で拒否されているというわけではありません。

一方で、パーミッションで.htaccessへの読み込みを拒否しているわけでもなかったため、これはサイト運営者側ではなく、ウェブサーバー側でアクセスを拒否していることを意味します。

同じサーバーに設置している他のサイトも確認してみたところ、同じように上記のForbiddenが表示されていました。

そこで、運営会社に問い合わせようと思ったのですが、メールアカウントを確認してみますと、「サイトが改竄されて踏み台にされてるので、サーバーアカウントを凍結しました」との内容のメールが来ていたようです。

つまり、CMSが不正にアクセスされて改竄されてしまい、サーバー内に設置している全てのサイトが書き換えられる結果になっていました。

よく見てみますと、おかしなコードが多数挿入されており、ファイル自体が削除できなくなったりもしており、複数の侵入口が作られる結果になってしまいました。

一応、データベースやHTMLファイル、メール、アクセスログなど、全てクリーンな状態にはしましたが、削除できなくなったファイルなどもあり、もはやそのサーバーごとは移転するしかありません。目視で不正なコードを一つ一つ削除していったとしても、また再度、改竄される結果になるはずです。

結論としては、上記のForbiddenエラーが発生した場合、そのサーバーはもう諦めざるを得ないという結果になります。

そのため、ファイルをクリーンにしてから移転することをおすすめします。

サイト運営を引退することにしたため、ドメインやレンタルサーバーを次々と解約しているのですが、ほとんど使用していないドメインやサーバーで毎年、多くの無駄な出費が発生していたのだなと改めて実感しています。

なかには、サイトが改竄されたきり、放置状態になっていたものもあり、共有サーバー内のサイトが全滅していたケースもありました。あるいは、SSLの更新が失効し、危険なサイトと表示されているケースもありました。

それに気づかず、毎年、ドメイン代とサーバー費用を更新してきたわけですから、おそらく、膨大な費用を無駄に払っていたことになります。

一方で、大量にドメインとサーバーを解約したとしても、アクセス数にはほとんど影響が出ていません。むしろ、失敗していたSSLを復旧したり、改竄されていたサイトをクリーンアップすることにより、アクセスアップにつながっているケースも出てきています。

コストを削減して規模を縮小することにより、てっきり収益は減少すると考えていたのですが、逆に増える結果になりました。

結果的に気付いたことではありますが、ドメインやサーバーを必要なものだけに絞り、少数精鋭で管理することにより、ある意味ではプラスの影響が出てくるのではないかと感じています。

自分の場合、法人を精算することにしたため、強制的にサーバーとドメインを解約することになったわけですが、これを5年前、10年前にやっておけば、ずいぶんと違っていたのかもしれません。

管理しきれないサイトを保有するのは、デメリットの方が大きいものと思います。思い切って、使用していないドメインやサーバーは解約すると、プラスのメリットが出てくるかもしれません。