コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2014年3月14日 >>> 2014年3月1日
link もっと後

2014年3月14日

日記システムがまたコメントスパムにやられた

目次: 自宅サーバー

以前、コメントが書き込めなくなって(2014年1月7日の日記参照)しまい、応急処置で切り抜けましたが2か月経たないうちに再発しました。年単位ならまだしも1〜2か月で再発するようじゃ、もう駄目だろということで真面目に調査開始しました。

原因

白いページが出る原因は、PHPプロセスのクラッシュによるものでした。具体的には、コメントの承認待ちデータの肥大化により、承認待ちデータをロードした際にPHPスクリプトを実行するプロセスがクラッシュして、何も応答を返せなかったためです。大体50MB overくらいで発生するようです。

また、コメントの承認待ちデータが肥大する原因は、この日記システムの設計が悪かったためです。コメントの承認待ちデータは下記の仕組みで、追加、および、削除が行われていました。

  • コメントを送信する
  • コメントの承認待ちデータの最後尾に「追記」
  • コメント書き込み内容を承認(「上記、確かに認めます」のチェックを付けて「送信」することを指す)
  • コメントの承認待ちデータを全て「ロード」して、時間切れのモノを「削除」

設計の大きなミスとしてコメントを承認しないと、コメントの承認待ちデータを削除する処理が絶対に動作しない点です。コメントを承認しない限り、コメントの承認待ちデータが際限なく追記されてしまいます。

対策

対策として、コメントの承認待ちデータを「追記」する際に、同時に時間切れのモノを「削除」する処理を追加しました。これにより、時間切れと判定する時間内(現在は300秒)に、50MB分のスパムを送りつけられない限り、今回の問題は発生しないはずです。

承認待ちデータの大きさは、名前+コメント+約600バイトです。だいぶ長いスパムでも、せいぜい数KB程度なので、33回/秒の勢いで300秒間連続で投稿されない限り、パンクは免れるはずです。

残課題

ただし、今は名前やコメントに長さの制限がないため、50MB超のコメントを送信されると、一撃でコメントが書き込めなくなります。

やられたらそのときまた考えますけど、できればやらんで欲しいですな…。

編集者:すずき(2024/01/13 17:00)

コメント一覧

  • IKeJIさん(2014/03/17 14:39)
    ロードして、ゴニョゴニョして、書き戻すと、途中で死んだ時に消えませんか?
    読みながら別ファイルに書いて、リネームの法が良さそうな。
  • すずきさん(2014/03/17 21:44)
    >IKeJI さん
    今は、ファイルから全部メモリに読んで、加工が全部終わったら、メモリから一気にファイルに書いているので、ファイルに書いている途中で死ぬと全損ですね。
    リネームの方が良さそうですね。同時にリネームが走ると悲劇が起きそうなので、ロック用のダミーファイルが要るかな。

    問題は、既に PHP をだいぶ忘れていることですね。過去の自分は他人だ…。
open/close この記事にコメントする



2014年3月9日

スゴイと思う人

1人で問題を解決する奴は、スゴイと思う。

1人じゃ無理だけど周りに呼びかけて解決まで導く奴は、偉いと思う。

問題を指摘するだけで逃げる奴は、居ても居なくても良いと思う。

「何だアイツ熱くなって…」ってバカにして何もしない奴らは、居ない方が良いと思う。

メモ: 技術系?の話はFacebookから転記しておくことにした。

編集者:すずき(2014/04/21 02:01)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年3月8日

アクセス解析

日記表示の際のアクセス解析をやめました。カウンターを表示しないブラウザ、Web Botなどからのアクセスはカウントしなくなります。

最近見つかる未知のエージェントは、従来ブラウザのバージョンアップ物か、人間からのアクセスではなかろうBotやクローラばかりで、そんなもん分類してもつまらんのですよ。

編集者:すずき(2014/03/09 01:13)

コメント一覧

  • すずきさん(2014/03/21 00:31)
    メモ: IE11(Trident 7) と iPod touch と Nintendo 3DS と PhantomJS 対応。
open/close この記事にコメントする



2014年3月7日

メモ

任天堂と、はてなと、アマゾンAWS。

AWS導入事例: 任天堂株式会社

メモ: 技術系の話はFacebookから転記しておくことにした。

編集者:すずき(2015/11/29 20:29)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年3月4日

一歩先行くRaspberry

2歳となったRaspberry Piの販売台数は250万台超。さらなるオープン化にむけた1万ドルコンテストを開催

Raspberry PiのSoCと同じグラフィクスコアのドライバーがオープンソースになったみたいです。

そのうちRaspberry Piでも完全オープンのドライバが動くようになるんだろうなあ。さすがだな…。

メモ: 技術系?の話はFacebookから転記しておくことにした。

編集者:すずき(2014/03/17 01:05)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2014年3月3日

AQUOS PHONE ZETA SH-01F

AQUOS PHONE ZETA(SH-01F) は「余裕で3日使えるスマホ」という宣伝文句でしたが、我が家のSH-01Fは1日以上稼働したことがありません。アプリの履歴を消し忘れるとまず1日持たないし、消していても「メディアサーバ」さんが、電池を50%近く消費してくれたりして、結局電池が持ちません。

消し忘れたアプリや、メディアサーバさんが頑張ってると思しきときは、スマホの上部がかなり熱くなります。冬でも相当熱くなるので、夏ともなればスマホが熱でぶっ壊れるんじゃないか?と嫌な気分になります。うーん、何でだろうな…。

編集者:すずき(2014/03/05 02:49)

コメント一覧

  • すずきさん(2014/03/24 08:10)
    後日談。

    ゲームとか負荷のかかることを控えて、メディアサーバが出張ってこなければ、3日目に突入できました。
    うーむ、メディアサーバとは一体…?
open/close この記事にコメントする



link もっと前
2014年3月14日 >>> 2014年3月1日
link もっと後

管理用メニュー

link 記事を新規作成

<2014>
<<<03>>>
------1
2345678
9101112131415
16171819202122
23242526272829
3031-----

最近のコメント5件

  • link 25年10月6日
    すずきさん (10/10 13:14)
    「ですね。ccはもはやコンパイラというより...」
  • link 25年10月6日
    hdkさん (10/10 08:27)
    「ただのHello, worldでも試して...」
  • link 25年9月29日
    すずきさん (10/03 00:29)
    「なんと、メタパッケージ入れてなかったです...」
  • link 25年9月29日
    hdkさん (10/02 06:51)
    「あれ、dkmsは自動ビルドされるのが便利...」
  • link 20年8月24日
    すずきさん (08/30 22:06)
    「ですね、自分も今はPulseAudioを...」

最近の記事20件

  • link 25年10月31日
    すずき (11/02 03:19)
    「[GNU global + pygmentsトラブルシューティングUbuntu編] 目次: Linux先日(2025年10月2...」
  • link 23年4月10日
    すずき (11/02 02:59)
    「[Linux - まとめリンク] 目次: Linuxカーネル、ドライバ関連。Linux kernel 2.4 for ARMが...」
  • link 25年10月22日
    すずき (11/02 02:58)
    「[NTPで時刻をすぐに合わせたい] 目次: LinuxNTPで時刻を調整する方法は2つあって、ズレている時間をジワジワ合わせて...」
  • link 23年6月1日
    すずき (11/02 02:42)
    「[自宅サーバー - まとめリンク] 目次: 自宅サーバーこの日記システム、Wikiの話。カウンターをPerlからPHPに移植日...」
  • link 05年11月23日
    すずき (11/02 02:41)
    「[NTPで時計合わせ、その2] 目次: 自宅サーバー11/23現在、未だGoogle先生に捕捉されていない奇跡。それはさておき...」
  • link 05年11月22日
    すずき (11/02 02:41)
    「[NTPで時計合わせ] 目次: 自宅サーバーパソコンの時計は勝手にどんどんずれていきます。放って置くと1分くらいずれていること...」
  • link 15年5月8日
    すずき (11/02 02:40)
    「[GPSは世界一正確な時計、その2] 目次: 自宅サーバー前回(2015年3月9日の日記参照)はGPSモジュールをPCと接続し...」
  • link 15年3月9日
    すずき (11/02 02:40)
    「[GPSは世界一正確な時計] 目次: 自宅サーバーGPSのレシーバーモジュールを買いました。Globalsat BU-353S...」
  • link 25年10月29日
    すずき (11/02 00:28)
    「[GNU global + pygmentsトラブルシューティングDebian編] 目次: Linux先日(2025年10月2...」
  • link 25年10月27日
    すずき (10/30 23:24)
    「[GNU global + pygmentsでC/C++/Pythonのタグジャンプ] 目次: Linuxプログラムの関数、変...」
  • link 25年10月15日
    すずき (10/19 16:54)
    「[PipeWireの音切れ問題 - サーバー側の設定確認と反映] 目次: ALSAPipeWireに変えてから音切れがなくなり...」
  • link 25年10月18日
    すずき (10/19 16:52)
    「[PipeWireの音切れ問題 - サーバー側PipeWireの設定] 目次: ALSAPipeWireに変えてから音切れがな...」
  • link 22年5月5日
    すずき (10/19 16:49)
    「[ALSA - まとめリンク] 目次: ALSAALSAの話。ALSAその1 - 使ってみようALSAその2 - カードとデバ...」
  • link 25年10月19日
    すずき (10/19 16:47)
    「[PipeWireの音切れ問題 - サーバー側pipewire-pulseの設定] 目次: ALSA未だにPipeWireの音...」
  • link 23年4月11日
    すずき (10/19 14:55)
    「[ブラウザー/メーラー - まとめリンク] 目次: ブラウザー/メーラー関係の深いまとめリンク。目次: Linuxブラウザー。...」
  • link 06年4月22日
    すずき (10/19 14:54)
    「[Seamonkey/Firefoxのメモリ使用量最小化] 目次: ブラウザー/メーラーGIGAZINE 2006年4月15日...」
  • link 25年10月17日
    すずき (10/19 14:53)
    「[Linux版Firefoxアドレスバーの黒線] 目次: ブラウザー/メーラーLinuxデスクトップマシンのFirefox(1...」
  • link 25年10月6日
    すずき (10/16 03:20)
    「[makeのデフォルトルールのリンクはLDを使わない] 目次: LinuxMakefileの達人には常識かもしれませんが、ma...」
  • link 25年10月13日
    すずき (10/16 03:19)
    「[PipeWireをPulseAudioサーバーの代わりにする、その2 - 音切れ多発] 目次: ALSA先日(2025年10...」
  • link 20年10月23日
    すずき (10/16 03:15)
    「[ARM - まとめリンク] 目次: ARMROCK64ブート周りの話のまとめ。ROCK64購入ROCK64とU-Bootのd...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 2025年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 11/02 03:19