サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
TGS2024
stealthinu.hatenadiary.jp
ここのところサブミッションスパムが出されることが一定の頻度で続いていて最悪なのですが、そのことを調べていた時にちょっとイヤな例を見つけました。 サブミッションスパムで使われたアカウントがあり、ふとそのアカウントでメールの受信は来てるのかな?と確認しました。 すると、日本国内からのアクセスはないのに mail.ru ドメインからのアクセスがだいたい1時間に1回と定期的に来ていたのを見つけました。 mail.ru はロシアでメールサービスやっているところのドメインで、VPSのようなサービスもやっているところです。 なのでそこのWebメールサービスにアカウントが登録されていて、そこから受信が行われている、という可能性は考えられます。 ですが、その接続があった付近のIPで検索すると、他にも同様にアクセスされているアカウントがいくつもありました。 そしてそのうち一つは、その少し前にサブミッションスパ
これは「メール Advent Calendar 2018」のために書かれたエントリです。 スパムが出てないのにDNSBLに登録されてしまう DNSBLというDNSを用いた公開ブラックリストサービスがあります。SORBSやSpamCopあたりが有名です。 DNSBLは、正しくはスパマーの使っているbot等のIPアドレスだけが登録されているべきなのですが、誤って通常のメールサーバがDNSBLに登録されてしまう場合があります。 最近では、サブミッションスパムによりそのメールサーバから大量スパムメールが出されて、登録されてしまう場合が多いです。 しかし時々、全くそのような大量スパムメールが出されたわけではないのにDNSBLに登録されてしまう場合がありました。 そういうなにもしていないのに登録されている場合、近隣のIPでスパムを出したサーバがあったとき、IPアドレス帯でまきこまれて登録されてしまうこ
必要なことまとめ ランタイムで「TPU」を選択する kerasではなくtensorflow.kerasを使う modelをTPU用のモデルに変換する TPUモデルではpredictができないので確認はCPUモデルに戻して行う Google ColabでTPU使うのは、こちらの記事が詳しいです。自分もこちらを参考に試しました。 Google ColaboratoryのTPUを試してみる またCholletさんが紹介されてた公式?のノートがあり、必要なコードがまとまってるのでおすすめです。 Keras Fashion MNIST and TPUs - Colaboratory ランタイムで「TPU」を選択する まず、仮想マシンのタイプを「TPU」が利用できるものに変更します。 ランタイム→ランタイムのタイプを変更→TPU kerasではなくtensorflow.kerasを使う 下記のように「
これは「メール Advent Calendar 2018」のために書かれたエントリです。 また元ネタは今年の6月に開かれたNSEGという長野の勉強会で発表した内容の後半にあります。 NSEG 勉強会 #101 / メールとコミュニケーションツール - connpass スパム対策お焚き上げ 今北産業 サブミッションスパムはここ2,3年ですごい増えた アカウントはサブミッションポートへの辞書攻撃で取られるようになった ばれないようにちょっとづつ送ったりするようにもなった はじめに 今から6年半前の2012/5頃に、サブミッションスパムというあたらしいタイプのスパム送信方法で送られたスパムにより、各ISPのメールサーバに障害起きたりする事例がありました。 「サブミッションスパム」による5/15〜16のメール障害の解説と対策 これは、クラックしたアカウントを使い、サブミッションポートでユーザ認証
これは「メール Advent Calendar 2018」のために書かれたエントリです。 元ネタは今年の6月に開かれたNSEGという長野の勉強会で発表した内容です。 勉強会の動画も上がってますので興味持たれた方はこちらもぜひ。 NSEG 勉強会 #101 / メールとコミュニケーションツール - connpass スパム対策お焚き上げ 今北産業 botnetから送られるスパムが激減した SMTPセッションフィルタでのスパム対策は不要になりつつある 諸行無常 はじめに 自分は2006年頃から taRgrey というスパム対策手法を提案しています。 taRgrey - S25R + tarpitting + greylisting (tarpit + greylist policy server) これはSMTPセッション中のクライアントの特徴を利用するフィルタをいくつか組み合わせた手法で、
最近は結構だいぶひまで、あまりネタがないので小ネタです。 新規サーバ移行に合わせPHP5.3からPHP7へ移行したいという話で、そのテストをしてたときにでたエラーとその対応についてまとめました。 まず、これはPHPの話じゃないんですが、Apacheのバージョンが新しくなったせいで、一部ページで文字化けが発生してたのの対策。 apacheのデフォルト文字コード指定がUTF-8になってると、S-JISとかEUCのページがあったときに化けるのでコメント化します。 Apache 文字化け対策 AddDefaultCharset – CentOSサーバ構築術 文具堂 /etc/httpd/conf/httpd.conf #AddDefaultCharset UTF-8 「Parse error: syntax error, unexpected 'new' (T_NEW)」というエラーが出ていた件対
CentOS6系からCentOS7系への移行案件があり、そこでMySQL-5.1からMariaDB-5.5への移行を行う必要がありました。 他にも色々と変わる部分があるため、一旦動作テスト用のサーバを作って確認することになり、データの移行を行いました。 そのとき、アカウント情報の移行ではまったのでメモしときます。 まずアカウント情報は普通にフルダンプしても取れないため、下記のようにmysqlテーブルを指定して取ります。 正式移行の際には -x オプション付けてロックしたほうがよいでしょう。 # mysqldump -u root -p --allow-keywords mysql > user_dump.sql その後、テスト用サーバにコピーしてリストアします。 # mysql -u root -p mysql < user_dump.sql 自分はもうこれだけでいいのかな、と思っていたの
Win8にして以降、Cygwinがなにかあるたびに動かなくなっては入れなおして解決みたいなことをしており、世のWindows上でWeb系の開発してる人たちはどんな環境で使ってるんだろう?と思っていました。 自分は今は Cygwin + Emacs を gnupack でお手軽構築して、別途 apt-cyg で色々入れるみたいな疑似 unix 環境で使っているのですが、下記記事見てたら ConEmu + PowerShell + Chocolatey という組み合わせが良さそうな感じだったので試してみることにしました。 以前Chocolatey試したことあったのですが、結局あまり使わなかったので再導入です。 Windows 8.1ではじめるイマドキの開発環境 - Qiita http://qiita.com/koduki/items/a833d22c7d8cf6f8f55e で、Chocol
今どきHDDの容量不足に苦しむことはあまりないと思いますが、SSDだけのマシンで多数のVMを動かしている場合なんかだと、容量不足であたらしいVMが立てられない… という悲しい状況に陥ることもあると思います。 開発用VM群の中で一台のVMが突出して容量を食っており、調べてみたところそのVMで使ってるMySQL上にアクセスログのような消しても良い、大量のデータが載っており、それを消せば何10Gか減らせることがわかりました。 しかし、実際にVMのファイルサイズが縮小されるまでには結構な手数と時間がかかったのでその手順をまとめました。 この例ではVMの名前やUUID(仮想サーバや仮想ディスクを指定するためのユニークID)が下記のようになっていたとします。 vagrantの仮想サーバ名「example」 「example」のVirtualBoxのディレクトリ名「example_default_123
世の中の主なOS、Unix系、Windows系、Mac系ではそれぞれ改行コードが違っています。 LinuxなどUnix系の改行コードは「LF」で、Windowsは「CRLF」、Macは「CR」(昔のOS9の頃まで。今のOSXはUnix系なので「LF」)となぜかそれぞれ別になってしまっています。 自分はWindowsではSourceTreeでgitを使っているのですが、Linux上のスクリプト言語のソースは改行コードは普通LFにする必要があるため、SourceTreeのデフォルトのgitの設定では、commitする時に「CRLF」→「LF」に自動変換され、checkoutする時には逆に「LF」→「CRLF」に変換されるようになっています。 でもこれだと、なにも触ってないのに修正されているファイルとして上がってきてしまうことがあって、そしてしかたないからcommitしようとすると、変更されてな
WindowsのDocker Toolbox上でdockerを動かしているのですが、最近はWindowsでもdocker-composeも使えるようになっています。 なのですが、普通にdocker run -vではマウントできる設定でも、docker-composeでvolumes指定を使ってマウントを行おうとすると、エラーが出てマウントできないという問題がありました。 調べてみると同様の報告が見つかり、どうやら「Windows用にパスの書式を変換する」という指定が必要らしく、 COMPOSE_CONVERT_WINDOWS_PATHS=1と環境変数が設定されていると良いようでした。 docker compose volume mounts not work on Windows · Issue #4303 · docker/compose https://github.com/docke
去年の11月辺りからFirefoxがすごい重くなる現象が発生していました。 起動時点では重さは感じないのですが、ずっとPC起動してるとだんだんとFirefoxの動きが重くなってきて、タブ切り替えやスクロールですら非常に時間がかかってから動き出す、という感じでした。 で、あまりにも耐えられない感じになってきたので調査してみようと思いtweetしたところ、@hATrayfloodさんからアドバイス頂き、色々と試しました。 とりあえず「アドオン無効にして再起動」だと重くならずに動くため、一旦全プラグインを無効にして使って試し、そこから必須なプラグインを徐々にオンにして試していく、という方法で調べていきました。 すると自分の今回の問題では Evernote web clipper が重くなっていた原因であることがわかりました。 厄介なのは、起動時点では重くなくある程度動かすと段々と重くなってくると
自社のメールがGmailでどれだけスパム判定されてるか、グーグルのPostmaster Toolsで調べてみた | 編集長ブログ―安田英久 | Web担当者Forum を見て、これは試してみねば、と思い、早速試してみようとしたのですが、メールアドレスのドメインを登録するのに、DNSのTXTレコードにgoogleの認証を設定する必要がでました。 しかし、すでにSPFレコードの設定が書いている場合、2つ目のTXTレコード設定を追加するにはどうするんだっけ?となりました。 SPFレコードに複数のIPを指定する場合や、複数行での記述をしたい場合、山井先生の書かれたこのページの説明がとても参考になります。 間違いから学ぶSPFレコードの正しい書き方 : 迷惑メール対策委員会 ですが今回の場合、SPFレコードとは別にgoogleの認証コードも書きたい、というもので、これまでTXTレコードを複数行書いた
スマホ用のWebサイトを作成しているとき、Androidでの表示をテストするのに、実機で行うか、eclipseに入れたAndroid仮想デバイスから行っていました。 しかしAndroid仮想デバイスは遅いし起動も時間が掛かるのでもうちょいマシなエミュレータがないか、と思っていたところ、Genymotionというエミュレータがあることがわかりました。 超高速なAndroidエミュレータ「Genymotion」を試す | TeraDas−テラダス Genymotion 個人利用ならば無料で利用できます。 商用利用だと月24.99ユーロ(約3400円)なので結構高いかも。 Genymotionをインストールしたばかりだと仮想マシンがないため、「Add」からターゲットとなる端末、例えば「Google Nexus 5 - 5.1.0」などを選択して作成し、起動します。 最初は言語が標準で英語になって
IE11の開発者ツールでクッキーの表示方法がわからなくて結構悩んだのでメモ。 IE11の開発者ツールは、それまでのIEの開発者ツールとUIがだいぶ変わっており、それまでのバージョンでは結構簡単にクッキーの確認が出来たのが、出来なくなりました。というか出来なくなった??と思ったくらい。 IE11の開発者ツールでも、下記手順でクッキーの確認ができます。 「F12」か、「ツール」→「開発者ツール」から開発者ツールを開く 「Ctrl+4」か、無線ルータっぽい「ネットワーク」アイコンから「ネットワーク」を開く 「F5」か、緑の再生ボタンっぽい「ネットワーク トラフィックのキャプチャを有効にする」を押す キャプチャを有効にしてある状況で再読み込みやページ遷移を行う ボタンの下にある「要約」「詳細」タブの、「詳細」タブを選択 その下にある「要求ヘッダー」「要求本文」…タブにある、「Cookie」タブを選
素のCentOS6.xでxdebug使おうとして、peclでxdebug入れようとしたら running: phpize sh: phpize: コマンドが見つかりません ERROR: `phpize' failedとか言われてしまいました。 調べてみると「php-devel」のパッケージが入ってないとphpizeが入ってないといけないのだそうです。 ということで未来の自分のために、素のCentOS6.xのphpにxdebug入れるための手順をまとめときます。 # yum groupinstall 'Development tools' # yum install php-devel # pecl install -a xdebug /etc/php.d/xdebug.ini zend_extension=/usr/lib64/php/modules/xdebug.so xdebug.de
先日、すんごい焦った事例がありました。 サーバがクラックされると、クラッカーにより/bin/lsや/bin/psなどの基本的なコマンドが置き換えられ、クラックされて置かれたファイルや動いているプロセスだけが見えなくなるようにして、クラックされていることがわからなくなるよう細工させられる場合があります。 そのため、そういったバイナリが置き換えられていないか、定期的にmd5sum値を取って確認するような簡単なチェック機構を入れていました。 (こういった用途にはTripwireのような専用ツールがありますが、あくまで簡易的な確認のためでここでは使っていませんでした。) それが、確認するとmd5sumが先週と違っているという相談を受けました。 環境は CentOS 6.x です。 早速調べてみると、タイムスタンプは変化していないのにmd5sum値は違っていました。 また、md5sum値はサーバ毎に
特定ユーザの「はてなスター」を非表示にするための設定画面を作成しました。 http://k2net.hakuba.jp/hatenastarignore/ と言っても、「id:kiya2015のはてなスター連打があまりにもウザイので非表示にするCSS書いたよ」のブコメにて id:kumakumabukuma さんが発見された、はてなハイクで特定ユーザを非表示にするとスターも非表示になる、ということをそのまま利用したもので、単にidを埋め込む部分をjavascript化しただけです。 ただ、そういう専用ページが存在していないと、特定ユーザのはてなスターを消すという機能を見つけることが難しいと思いますので、その専用のガワを用意した、という感じです。 そのため、一旦「はてなココ」の解除確認画面に飛び、その後このエントリーへ戻るようになっています。(転送先がはてなサイト内の必要があるため) ちなみ
これはPostfix Advent Calendar 2014の18日目の記事です。こちらも大変遅くなってしまってすみません… Postfixには2.8以降からpostscreenという機能があります。が、あまり知られていないと思います。 これはひとことで言うと、超軽量簡易スパムフィルタです。 Postfixにはsmtpd_*_restrictionsをはじめ、policydやfilterなど色々とスパムをフィルタするための仕組みが用意されています。 にもかかわらずpostscreenが用意された理由は、postscreenは超軽量のためフィルタをすることで負荷も下げることが出来るからでしょう。 やまやさんはPostfix Postscreen Howto - どさにっきで「トリアージ」と表現されているのですが、まさにそんな感じで、postscreenで怪しいメールだけをより詳しいチェック
これは Postfix Advent Calendar 2014 の11日目の記事です。 サブミッションスパムという、盗んだアカウントを使って、botから送信認証を行ってスパムを出すというスパム送信手段があります。 これをされると、自分のメールサーバから大量のスパムが出されるため、各種DNSBLに登録されてしまい、このメールサーバからのメールが届かなくなったり、メールキューが爆発したり、バウンスメールが大量に届いてスプールが爆発したり、とろくなことがありません。 2年半前にこれがすごい流行った時があり、メールサーバ管理者の方には、痛い目にあった方も結構いるのではないでしょうか。 その時にサブミッションスパムについての解説を書いたエントリーです。 「サブミッションスパム」による5/15〜16のメール障害の解説と対策 - モーグルとカバとパウダーの日記 さて、2年半前に起きてその後どうなったか
Javaで半角カナ混じりの文字列を全角カナに変換する方法を調べると、Java6以降だと下記のようにNormalizer.normalizeを利用するという方法が使われることが多いと思います。 Normalizer.normalize("これはテストデス", Normalizer.Form.NFKC); 結果: これはテストデス こうやって実装していたのですが、全角波線「〜」が半角チルダになってしまうという問題が出ました。 調べてみると、このnormalizeを半角カナ→全角カナ変換に使うと、意図していない全角波線(波ダッシュ)や全角ハイフンが半角に変換されてしまうということがわかりました。 Normalizer.normalize("コレハーテストデス〜", Normalizer.Form.NFKC); 結果: コレハ-テストデス~ 実は半角カナだけでなく、下記ページの「NFKC」と書
phpのソースにjavadoc形式で書いたコメントからドキュメントを自動生成するにはphpDocumentor(phpdoc)というツールを利用します。 自分はWindowsにPleiadesでxamppの環境を構築しています。 この場合最初からphpdocが入っているのですが、そのままだとphpDocumentor.iniがないとか言われてうまく動きません。 phpDocumentorの公式ページからインストール方法を確認すると、pearでさっくり入るように書いてあるのですが、それだとエラーが発生し(Error: failed to mkdir c:/php/pear/data/phpDocumentor/features/generates-documentation/create-documents-using-twigs)うまく入れることが出来ませんでした。 そこで情報漁ってみると
とあるWebアプリでIE8からだとアップロードが出来ない、という相談を受けました。 javascriptというかjQueryを利用して、ajaxでファイルをアップロード出来るのですが、IE8だと動かないというものです。 javascriptのソースを調べてみると、FormDataというクラスが利用されており、これはいわゆるHTML5なクラスのため、IE9以前だと使えないということがわかりました。 IE9以前でこういう用途の場合だとiframeを使って送る手法で実現するようです。 IE9以前でもアップロード行えるようにするjQueryプラグインは以下のようなものがありました。 jQuery File Upload Demo jquery.upload-1.0.2.js 今回自分は、よりシンプルな jquery.upload.js をベースに修正して利用したのですが、最近はメンテされていないよ
コブは人が滑った跡が掘れていってそれでコブになっていきます。 なので素直に考えると、掘れていった溝の中を滑るべきと思ってしまいがちです。 ですが実は、この溝の中を滑るのが一番難しいラインになります。 なぜかというと、整地の状態から溝が作られるときはエッジングで雪を除雪しながら掘っていくので、その除雪抵抗で速度を調節しながら滑ることが出来るのですが、溝が出来上がってしまうと溝の中ではバンク部分が滑走面にあたってしまうので溝のないときよりも除雪することが難しくなり、速度の調節ができなくなるからです。 だから、整地ではコブのタイミングと同じリズムでショートターンが出来るからといって、同じようにしてコブを滑ろうとしてもできないわけです。 なので、この溝の中を滑るのではなく、出来てしまった凸凹を利用して滑るラインを通るのが、効率が良い滑り方になります。 モーグルではコブの肩から肩を通るような溝のライ
jQuery-uiのtabsでタブを書いてたんですが、その中にさらに入れ子でタブを作る必要があり、その時のメモ。 需要ありそうなのに紹介されてる例が見つけられなかったので。 普通jQuery-uiのtabsはこんな感じに書きます。 <!doctype html> <html> <head> <title>jQuery UI Tabs - Default functionality</title> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.
今のWin8機を使うようにしてから、環境構築の手間を減らすためにgnupackのcygwinとemacsを使うようにしています。 そうするようにしてから、cygwinのpathがWindowsの環境変数で設定してあるpathを引き継いでくれないようになったため、コマンドプロンプトだと実行出来るのに、minttyのbashからは起動できない、という状況になっていました。 調べるのが面倒臭かったので、そういう場合はコマンドプロンプトから実行してお茶を濁してたのですが、さすがにぼちぼち調べようかとtweetしてみました。 むむ… というわけでもうちょっと状況話してみる。 ビンゴでした。 /gnupack/config.ini で「PATH」を設定されてるのですが、上書きしてしまう設定になっていました。 なのでPATHの設定しているところを下記のように修正してみました。 GNUPACK_PATH
先日からWindows8の64bit環境に移ったのですが、cygwinのrubyだとかsshだとかが動かなくなるという状況にハマりました。 なぜそれが起きたのか顛末です。 cygwinは結構最近まで32bit環境用のsetup.exeだけが提供されていました。(確か) ちなみにgnupackのcygwinも32bit環境になっています。 しかし最近になって32bit環境用のsetup-x86.exeと64bit環境用のsetup-x86_64.exeの2つが用意されるようになりました。 自分はWindowsの64bit環境使うまで、64bit環境だと64bit用のバイナリでないとインストール出来ないのだと思っていたのですが、実は多くのものが32bit用のものもそのままインストールして実行できます。 そしてWindows8 64bitには、以前にダウンロードしていたsetup.exeを使って
最近CakePHPを使って開発をしてるのですが、なにかやろうとするたびにとにかく色んな所でハマっています。 今回はSearchプラグインという、CakePHP使う上では結構必須と言われてるようなプラグインの使い方でハマってしまったのでそのまとめです。 Searchプラグインの使い方については、このエントリーが大変丁寧に紹介されており、非常に参考になりました。 ので、基本的にはこちらの内容にしたがって導入すれば良いです。 Searchプラグインを使ってCakePHPに検索を実装する | mawatari.jp http://mawatari.jp/archives/introduction-of-cakedc-search-plugin-for-cakephp Searchプラグインがどう動くのか概要説明 が、これだけだと自分は結構分からなくてハマるところがありました。 それはSearchプ
はじめに いろいろな理由からCentOS5系(CentOS5.7)にGitLab5系(GitLab5.2)をインストールしなければならなくなり、だいぶはまったがなんとかインストールすることができた。 GitLabのインストールはいろいろはまりどころがあるが、CentOS6系でなら比較的容易だし最近のUbuntuに入れるならもっと簡単だ。 しかし、CentOS5系に入れようと思うと情報も少なく、いろいろなものを手で入れなければならないのでなかなか大変だ。 出来ればUbuntuかCentOS6に入れることをおすすめしたいが、自分のようにどうしてもCentOS5に入れたい場合に参考にして欲しい。 shellのコマンド入力は「$」から始まっている行で、rootで作業する場所はプロンプトを「#」として表記した。 参考にしたエントリー GitLab本体以前の環境構築やnginxまわりの設定などはこちら
次のページ
このページを最初にブックマークしてみませんか?
『モーグルとカバとパウダーの日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く