管理画面にログインしたら大量メールが暴発した話

こんにちは。

最近立て続けにミスしている私ですが、

この度、ローカル環境でWordPressの管理画面にログインしたら、ありとあらゆる人にメールが飛んでしまいました...


ご迷惑おかけしてしまった方々、申し訳ありませんでした... orz


まず経緯から。

2月 - 開発(メール送信されず)


WP SMTPを使うケースが多いと思うのですが、今回はそれを使用していないプロジェクトでした。

デフォルトのPHPMailerはsendmailで25ポートを使うようなのですが、最近のプロバイダは迷惑メール対策(Outbound Port 25 Blocking - Wikipedia)をしていて、送れないケースが多いようで。


そしてこのとき契約していたプロバイダは案の定OP25Bしていました。

なので、当時メール送信処理を介した開発を行っていたのですが1通も送信されずじまい。
(このとき裏でmailqにどんどんスタックされていました。)

3月 - プロバイダ変更

社内のネットワーク環境の見直しが入り、同時にプロバイダも変わりました。

この新しいプロバイダは25ポートOKで、sendmailから気軽にメールが送れるようになりました!


...!?

そしてきたる事件の5月。

久しぶりに管理画面にログインしたら、よくわからないメールが大量送信!!!!


なぜだ!!!WordPress!!!





WordPressの管理画面でログイン成功時に、擬似クーロン(wp-includes/cron.php)が起動します。

この擬似クーロンは、通常のクーロンとは異なり、サイトアクセスがあったときにスケジューリングされている処理があれば、実行するようなものらしいです。


そしてこの擬似クーロンの中に、最新のWordPressのバージョンを確認する処理があり、自動でサイト登録者宛にメールで通知してくれる処理があります。(wp_includes/update.php#wp_version_check)


ここが爆弾。


sendmailが送信可能ってわかったら、即座にmailqに溜まっていたメールが全て放出。



http://community.img.mixi.jp/photo/comm/0/99/3930099_36.jpg




これぞ、迷惑メールw






参考:
WiMAX環境でサーバアプリからのメールの送信ができない問題 - txclrのブログ

「坂上忍の成長マン!!」 2015年5月9日(土)放送時に紹介されたグッズ(掃除編)

こんにちは。今回は、変わり種です。


いつもなんとなくテレビつけてて流している程度なんですが、


坂上忍の成長マン!!SP芸能人の自宅に突撃!(秘)掃除&調理グッズで驚きのワザ見せます!!』


というのやっていて、その中で掃除関連グッズが紹介されていて、気になったもののメモです。


まず、教えマンで登場していたお二方。

1. ロックオン錫村

http://www.copa.co.jp/profile/images/suzumura/ph01.jpg


blog: ロックオン錫村劇場


2. 松橋周太呂ジューシーズ


http://sp.fdgm.jp/common/img/gekkan/juicys/img_profile_matsuhashi.jpg


twitter: @



そして、本題の商品です。

1. Amazon.co.jp: 茂木和哉 水垢洗剤 200mL 鏡 ウロコ カルキ: ヘルス&ビューティー

頻出商品。水垢対策。ラップ使ってゴシゴシしてたのだが、ラップだと洗剤の浸透が無い為いいらしい。


http://ecx.images-amazon.com/images/I/71XmM59gFTL._SL1500_.jpg


2. Amazon.co.jp: 瞬間油汚れ洗剤 なまはげ 400ml: ヘルス&ビューティー


頻出商品。頑固な油汚れ落とすやつです。

http://ecx.images-amazon.com/images/I/41fqfDv%2BTHL.jpg




5. Amazon.co.jp: ハッシュ 染み抜き剤 スポッとる! 20ml: ヘルス&ビューティー

カーペットの謎の汚れ落とし。使用方法が8時間放置プレイ。

http://ecx.images-amazon.com/images/I/51Bft6fBstL.jpg

6. Amazon.co.jp: ウッドリフレッシュ (ライトブラウン): ホーム&キッチン

フローリングの傷補修。
Amazonでは、3種の茶色取り扱ってるっぽい。

http://ecx.images-amazon.com/images/I/41J4O4BHAuL.jpg

8. Amazon.co.jp: お願いだから5日間待って 排水口用 20g*2個: ヘルス&ビューティー

排水溝対策。商品名...


http://ecx.images-amazon.com/images/I/41CYa2xp59L.jpg


他にもキッチングッズとかありましたので、調べたい方は以下のリンクから探してみてください。


参考:
価格.com - 「坂上忍の成長マン!! 〜SP芸能人の自宅に突撃!(秘)掃除&調理グッズで驚きのワザ見せます!!〜」2015年5月9日(土)放送内容 | テレビ紹介情報



P.S.

普段イオン系列のスーパーにお世話になってるのですが、最近気になった商品があったので、なんとなく載せておきます。

だし入りゆずぽん酢

https://www.topvalu.net/assets/contents/images/product/506/4901810504398_PC_L.jpg?1430478113

AtomのMarkdown Previewが効かない...

こんにちは。


Atomってものすごく優秀ですよね。


とくに、Markdown Previewとか標準ではいっているとか。


自分、Mac使っているのですが、ショートカットキーが

ctrl - shift - m

と。


編集してから早速ポチッと。


...あれ?



効かない... orz



なぜ??


なぜなら、フォーカスがeditorにあるから。


Σ(゚Д゚)


なんでやねんw


これ、左のソースツリーからMarkdownファイル選択してフォーカスを移してからショートカットキー押すと表示されます。


な、なるほど。。


Atom深いっす。。

productionでhttpsにしたい

こんばんは。

Laravel5で開発をしており、ついに本番反映じゃ!

で、大ゴケしました。orz


development環境ではhttpでも、本番環境でssl設定してhttpsのみってよくあることかと思います。

localで開発しているときに、本番環境のこと忘れて、

<?php

asset('/css/app.css')
url('/users/show/{user_id?}')
action('HomeController@index')

とかやりませんか?

secure_url もあるのですが、いつもhttpsするわけではないし...


assetやurl メソッドの引数に$secure = trueに指定すればいけそうな気がするが、リファクタする箇所が...



そこで、URL#forceSchemaを使います。




app/Http/routes.php の最初に以下のコードいれます。

<?php

if (app()->environment('production')) {
  URL::forceScheme('https');
}

...

これで、production環境下で全部httpsになりました!(よね?)

小ネタ

こんにちは。


laravelのartisanって便利ですよね!


seederとかもテストに欠かせない!


同じクラス名なんだけど、backupとっときたいとか、違うケースのseederつかいたいってときに、おきまりのnamespaceで解決!




例えば、database/seeds/TestTableSeeder となるものを、database/seeds/Backup/TestTableSeeder へ移動し、
TestTableSeederにnamespace Backupを追加

<?php

namespace Backup;

class TestTableSeeder extends Seeder
{
  ...
}


このSeederを使いたい時、

php artisan db:seed --class=Backup\\TestTableSeeder


ドキュメントには、seeds直下のサンプルしかなかったけど、

完全修飾名で呼べるんですね。(バックスラッシュ2こがポイント)


当たり前といえば当たり前だけど、まー便利ですね!

新規パッケージの追加

コンニチハ。


今、誰しもが使っているLaravelをこの度使ってみました。

で、早速packagistから使いたいライブラリをcomposer.jsonに追加してupdateしようとしました。


。。。!?


composer.pharがない!


。。。そうだ!京都へ帰ろう。


そもそもlaravelをインストールするときにcomposer.pharつかってたやないか!


なので、プロジェクトルートで

composer update

でオッケーだったっていうw

お恥ずかしい話でした。


orz

◯alaxy S4の罠?

オワリークリスマス。


DialogFragmentでバックキーとか、黒背景タップでキャンセルするときに、

Dialog#setCancelable(false)ではなくて、DialogFragment#setCancelable(false)的な話はあるあるです。


これで全て解決してくれるものだと、勝手に思ってたんですが、現実そんな甘くなかったでした。



◯alaxy S4だけねw

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        setCancelable(false);
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        ...
        return builder.create();
    }


よく上記のコードで終了するケースがあると思うのですが、S4では一味加えます。

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        setCancelable(false);
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        ...
        Dialog dialog = builder.create();
        dialog.setCanceledOnTouchOutside(true);// <- ココ重要
        return dialog;
    }


端末によって初期値ちゃうんですね。。


以上。