2015年 10月 の投稿一覧

自作CMSに公開日時指定と保留・プレビュー機能を搭載

「自作CMSにjQueryを使ってflickrへの画像アップロード機能を搭載」でも書きましたが、自分専用に作ったブログシステムですので管理者画面や機能はかなりショボイです。(笑)ブログ記事を新規で登録する際、登録した時点で記事が公開されてしまいます。つまり一時保存や保留といった機能が付いていません。そのような基本的な機能が無いわけですから、時間を指定してブログ記事を公開するといったインテリジェンスな機能も、もちろん付いていません。(笑)少し思うところがありまして、これらの機能を自作CMSに実装することにしました。

自作CMSに公開日時指定と保留・プレビュー機能を搭載

「自作CMSにjQueryを使ってflickrへの画像アップロード機能を搭載」でも書きましたが、自分専用に作ったブログシステムですので管理者画面や機能はかなりショボイです。(笑)ブログ記事を新規で登録する際、登録した時点で記事が公開されてしまいます。つまり一時保存や保留といった機能が付いていません。そのような基本的な機能が無いわけですから、時間を指定してブログ記事を公開するといったインテリジェンスな機能も、もちろん付いていません。(笑)少し思うところがありまして、これらの機能を自作CMSに実装することにしました。

WordPressお問い合わせプラグイン MW WP Form に認証機能の reCAPTCHA を追加するプラグイン「MW WP Form reCAPTCHA」

Webサイトやブログを運営していると、お問い合わせフォームからよくスパムメールが届きます。 ホントに困りますよね!

そこで今回はWordPressお問い合わせプラグイン MW WP Form に、認証機能 reCAPTCHA を追加するプラグイン MW WP Form reCAPTCHA を作ったのでご紹介いたします。

※ reCAPTCHA とは下にある認証機能のことです。

プラグイン「MW WP Form reCAPTCHA」をダウンロード

まずは下記ボタンよりプラグインをダウンロードしてください。

MW WP Form reCAPTCHA

プラグイン公式ディレクトリにも登録されました!こちらかもどうぞ!MW WP Form reCAPTCHA

プラグインのインストール

管理画面サイドメニューの プラグイン > 新規追加 より、「プラグインのアップロード」をクリックします。

  先ほどダウンロードしたzipファイルをアップロードし、アップ完了後「プラグインを有効化」をクリックすればインストールは完了です。

プラグインの設定

プラグインを有効化すると、サイドメニューに「MW WP Form reCAPTCHA」が表示されます。 「MW WP Form reCAPTCHA」をクリックし設定画面へ移動します。

  すでに reCAPTCHA の Site key を取得済みであれば、Site key入力欄に key を入力し保存ボタンを押せば設定完了となります。 まだ Site key を取得していない場合は次のステップに進んでください。

reCAPTCHA の Site key を取得する

まだ Site Key を取得していない場合は、入力欄の下にある「Site key」のリンクをクリック。

  Googleアカウントでログイン後、 下記画面が表示されますので、各入力項目を入力し Register ボタンを押し保存します。  ・ラベル名(任意で分かりやすい名前を付けてください)  ・動作するドメイン名  ・Googleアカウントのメールアドレス 

  登録ができれば Site key が発行されますので、この key をコピーしておきます。

  WordPressの管理画面に戻り、さきほどコピーした key を入力欄に貼り付けて完了です。

  送信ボタンや確認ボタンの上部にreCAPTCHAが表示されれば完成です!

 

※MW WP Form を複数設置している場合は、 全てのフォームに対しこのreCAPTCHAが有効化されます。

【動作環境】 WordPress 4.3.1、MW WP Form 2.5.3

WordPressお問い合わせプラグイン MW WP Form に認証機能の reCAPTCHA を追加するプラグイン「MW WP Form reCAPTCHA」

Webサイトやブログを運営していると、お問い合わせフォームからよくスパムメールが届きます。 ホントに困りますよね!

そこで今回はWordPressお問い合わせプラグイン MW WP Form に、認証機能 reCAPTCHA を追加するプラグイン MW WP Form reCAPTCHA を作ったのでご紹介いたします。

※ reCAPTCHA とは下にある認証機能のことです。

プラグイン「MW WP Form reCAPTCHA」をダウンロード

まずは下記ボタンよりプラグインをダウンロードしてください。

MW WP Form reCAPTCHA

プラグイン公式ディレクトリにも登録されました!こちらかもどうぞ!MW WP Form reCAPTCHA

プラグインのインストール

管理画面サイドメニューの プラグイン > 新規追加 より、「プラグインのアップロード」をクリックします。

  先ほどダウンロードしたzipファイルをアップロードし、アップ完了後「プラグインを有効化」をクリックすればインストールは完了です。

プラグインの設定

プラグインを有効化すると、サイドメニューに「MW WP Form reCAPTCHA」が表示されます。 「MW WP Form reCAPTCHA」をクリックし設定画面へ移動します。

  すでに reCAPTCHA の Site key を取得済みであれば、Site key入力欄に key を入力し保存ボタンを押せば設定完了となります。 まだ Site key を取得していない場合は次のステップに進んでください。

reCAPTCHA の Site key を取得する

まだ Site Key を取得していない場合は、入力欄の下にある「Site key」のリンクをクリック。

  Googleアカウントでログイン後、 下記画面が表示されますので、各入力項目を入力し Register ボタンを押し保存します。  ・ラベル名(任意で分かりやすい名前を付けてください)  ・動作するドメイン名  ・Googleアカウントのメールアドレス 

  登録ができれば Site key が発行されますので、この key をコピーしておきます。

  WordPressの管理画面に戻り、さきほどコピーした key を入力欄に貼り付けて完了です。

  送信ボタンや確認ボタンの上部にreCAPTCHAが表示されれば完成です!

 

※MW WP Form を複数設置している場合は、 全てのフォームに対しこのreCAPTCHAが有効化されます。

【動作環境】 WordPress 4.3.1、MW WP Form 2.5.3

lsyncd でファイル変更監視して、S3にアップロードする

WordPress のメディアファイルを自動でバックアップしたり、CloudFront のオリジンにするために wp-content/uploads/ の中身を S3 にアップロードするようにしたいなぁとか言う要望が結構あります。 特に AutoScaling 構成にする場合は、ソースファイルについては git リポジトリなどで管理すればいいですが、ダッシュボードからアップロードされるメディアファイルについては git リポジトリに含めるわけに行かないっすよね。 そんな時、僕の作ったプラグイン絡新婦とか、Amazon S3 for WordPress with CloudFrontとか使うわけですが、なんと 4.3.x 系ではちゃんと動かないような気がするんです…

まぁ、僕が絡新婦をメンテナンスすればいいのですが、最近 php プログラム書くの辛いので代替手段として lsyncd でファイル変更を監視して S3 に自動アップロードするようにしてみました。 参考URL: lsyncdをrsync以外の用途で使う – Qiita

まず、lsyncd をインストールします。 網元なら、以下のコマンドでインストール可能です。

$ sudo rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt $ sudo yum install lsyncd

次に lsyncd 設定ファイル( /etc/lsyncd.conf )を作成します。こんな感じです。

settings { logfile = "/var/log/lsyncd/lsyncd.log", nodaemon = false, } exec = function(event) local src_path = event.sourcePathname spawnShell(event, "/bin/sh /home/ec2-user/bin/s3-uploads " .. src_path .. " || :" ); end s3_media_upload = { maxProcesses = 1, delay = 0, onCreate = exec, onDelete = exec, onMove = exec, } sync { s3_media_upload, source = "/var/www/vhosts/{instance ID}/wp-content/uploads", }

何をやってるかというと

settings {} ではログファイルの位置、デーモンモードでの起動 ( nodaemon = false ) を設定しています。

exec = function(event) では、lsyncd で変更が検知された時に実際に起動するコマンドを指定してます。 event.sourcePathname には、変更が検知されたファイルのパスがセットされます。 lsyncd では、spawnShell で呼び出されたコマンドが error を返す( リターンコード0以外 )と lsyncd 自体が終了しちゃうので、後ろに "|| :" つけて、必ず 0 を返すようにしてます。

s3_media_upload = {} では、ファイルが作成された時( onCreate )、削除された時( onDelete )、移動された時( onMove )に実行するコマンドを指定しています。

sync {} では、監視対象のディレクトリ( source )と、変更が検知された時に呼ばれる設定セット( s3_media_upload )を設定しています。

あとは、exec の中で呼ばれる /home/ec2-user/bin/s3-uploads というシェルスクリプトを作っておきましょう。 こんな感じ

#!/bin/sh s3_bucket='static.example.com' region='ap-northeast-1' aws="/usr/bin/aws --region=${region}" if [ "${1}" = "" ]; then ${aws} s3 sync /var/www/vhosts/{instance ID}/wp-content/uploads/ s3://${s3_bucket}/wp-content/uploads/ else target_path="${1}" string_filename=${target_path##*/} string_path=${target_path%/*} s3_path="${string_filename}" while [ "${string_filename}" != "wp-content" ]; do string_filename=${string_path##*/} string_path=${string_path%/*} if [ "${string_filename}" != "" ]; then s3_path="${string_filename}/$s3_path" fi done if [ -f ${target_path} ]; then ${aws} s3 cp ${target_path} s3://${s3_bucket}/${s3_path} else ${aws} s3 rm s3://${s3_bucket}/${s3_path} fi fi

引数無しで呼ばれた場合は wp-content/uploads/ 全体を sync 引数ありで呼ばれてファイルが存在する場合には s3 cp コマンドでアップロード 引数アリで呼ばれてファイルが存在しない場合には s3 rm コマンドで s3 バケットから対象ファイルを削除

します。

S3 へのアップロード権限を設定する必要があるのでインスタンス作成するときに IAM ロールで権限を与えておくか、IAM ユーザー作って aws configure で設定しておかないとですね。

lsyncd を起動する前にこのコマンドを引数無しで実行して、現在の wp-content/uploads/ の中身を全部 S3 バケットに転送しておくと良いですね。

ここまで出来たら "sudo service lsyncd" で lsyncd を起動させてやればおっけ。

AWS WAF で CloudFront 環境にIPアドレス制限を設定する

本番環境で CloudFront を使用しているため、ステージング環境でも CloudFront を適用したいとかって要望は多々あると思います。 ただ、ステージング環境なんで全体に公開はしたくない、IPアドレス制限とかかけたいってなりますよね。 そんな時、今までは署名付きURLとか署名付き Cookie とかで対応せざるを得ませんでした。

参考URL

… 結構、めんどくさい。

そんな、僕達のために re:Invent 2015 に合わせるように発表された新サービス AWS WAF という救世主が現れましたよ。 この記事では AWS WAF を使用して、IP アドレス制限された CloudFront ネットワークを作成する方法をざっくり解説してみます。

AWS WAF では、IP Address や SQL Injection、String matching と言った Rules を作成し、その Rules を元に Web ACLs を作成します。 この Web ACLs を CloudFront の設定に適用することで、Rules にマッチしたリクエストを許可 or 拒否してくれる用に設定することが可能です。

まずは、AWS のマネージメントコンソールから AWS WAF を開きましょう。 Web ACLs が何も設定されていない場合は「Get Started」とかって表示されます。 クリックするとチュートリアルが表示されるので、次に進みましょう。 すでに設定されている場合は、Web ACLs の一覧が表示されるので「Create Web ACL」をクリック。

最初の画面では Web ACL の名前と、それに紐付いた Cloud Watch のメトリクス名を指定する画面が表示されます。 適当に入力して「Next」をクリック。

Create Conditions とか言われます。 今回は IP アドレス制限したいので「Create IP match condition」をクリック。

IP match condition を作成する画面が表示されます。 Name を指定して、「Add an IP address or range」をクリックして許可したい IP アドレスを追加していきます。 全部終わったら「Create」をクリック。 前の画面に戻るので「Next」をクリック。

Create Rules とか言われるので、「Create Rule」をクリック。

Name と CloudWatch metric name を入力後、Rules を作成します。

Rules は以下のように作りましょう。

  • does
  • originate from an IP address in
  • 「前の画面で作った IP match condition」

そんで、「Create」をクリック。

いま作った Rules にマッチするリクエストに対してのアクションを設定するので、上図の用に設定しましょう。 「If a request matches all of the conditions in a rule, take the corresponding action」の Action は allow 「If a request doesn't match any rules, take the default action」の Default action は Block all requests that don't match any rules

これで、許可された IP アドレス以外からのリクエストに対しては接続拒否してくれます。 設定したら「Next」をクリック。

いま、作成した Web ACL の設定確認画面が表示されるので内容確認して「Confirmed and Create」をクリック。 これで Web ACL ができました。

次に CloudFront にこの Web ACL を適用します。

作成済みの Destribution 選んで「General」タブで「Edit」をクリック。

「AWS WAF Web ACL」って項目があるので、そこで先ほど作成した Web ACL を選択して「Yes, Edit」をクリック。 あとは Deploy が終わるのを待つだけです。

マネージメントコンソールでポチポチするだけで簡単に設定できちゃいましたねー。

【渋谷駅編】商談や打合せ・ミーティングに利用できるカフェまとめ

商談や打合せに適したカフェ「商談カフェ」シリーズの第二弾。本日は若者で賑わう渋谷編を紹介します。(【渋谷編】勉強や作業が出来るカフェ (wi-fi・電源完備)はコチラ)

佐藤可士和の打ち合わせ

商談や打合せに適したカフェの条件

まず、商談や打合せに適したカフェの条件を紹介します。

  • 机が広い
  • 周りが静か
  • 相手に失礼にならない環境
  • インターネットが利用可能
  • 駅から徒歩圏内

などの条件が挙げられると思います。できる限り上記の条件に沿ったカフェを紹介します。

商談や打合せに適したカフェ【渋谷駅編】

ガーデンラウンジ 坐忘

出典元:ファンログ ホームページ

特徴

  • セルリアンタワー1階に位置する
  • コーヒー1杯1,500円と少し高め
  • 決めたい商談の場所にはかなりおすすめ
  • 渋谷駅西口より徒歩5分

詳細

住所:東京都渋谷区桜丘町26-1 (地図) 営業時間:10時〜22時

エスタシオン・カフェ

ホームページ

特徴

  • 渋谷駅直結。渋谷エクセルホテル内のカフェ。
  • 天井が高いため開放感あり
  • 居心地の良い為、商談にはぴったり
  • 打合せ、商談で利用しているビジネスマン多い

詳細

住所:東京都渋谷区道玄坂1−12−2渋谷マークシティ 渋谷エクセルホテル東急5階 (地図) 営業時間:8時〜24時

フラワーズコモン

出典元:食べログ ホームページ

特徴

  • 渋谷ヒカリエ7階
  • 約170席用意。渋谷ではトップクラスの広さです。
  • ソファ席や個室完備
  • WI-Fiも完備

詳細

住所:東京都渋谷区渋谷2-21-1 渋谷ヒカリエ7F(地図) 営業時間:11時〜23時半

エマ ラウンジemma lounge

ホームページ

特徴

  • 渋谷の隠れ家カフェ
  • 広々とした店内と豪華な内装がとてもおしゃれ
  • フリーWi-Fi完備
  • デートや合コンにも利用可能

詳細

住所:東京都渋谷区道玄坂1-14-9 ソシアルビル2F(地図) 営業時間:11時〜朝5時

SUZU CAFE

出典元:CAFEカルチャーマガジン ホームページ

特徴

  • 北欧やヨーロッパのアンティークなイスやテーブルで統一
  • ひとり席も完備
  • 打合せや商談に利用するビジネスマンが多い
  • 席数92席

詳細

住所:東京都渋谷区神南1-20-5 ナビシブヤ3F(地図) 営業時間:11:30-23:00 金・土・祝前日 11:30-26:00

JINNAN CAFE

出典元:食べログ ホームページ

特徴

  • 席数163席
  • 渋谷駅から少し距離あり(JR渋谷駅徒歩7分)
  • テーブルも広々利用可能

詳細

住所:渋谷区神南1-17-5 クーラビル1F・BF(地図) 営業時間:11:30〜23:00

TOWER RECORDS CAFE

ホームページ

特徴

  • 通称タワレコカフェ
  • コンセント、Wi-fi完備
  • おしゃれな空間なのでデートにもおすすめ
  • 駅から歩いて5分くらい

詳細

住所:東京都渋谷区神南 1-22-14 タワーレコード渋谷店 2F(地図) 営業時間 :10:00~23:30(フードL.O.22:30 ドリンクL.O.23:00)

Royal Garden Cafe

ホームページ

特徴

  • テラス席完備
  • Wi-Fi完備、カウンター席には電源も完備
  • 客席数126席

詳細

住所:東京都渋谷区宇田川町4-3ホテルユニゾ2F(地図) 営業時間 :11:00~23:30

終わりに

渋谷はカフェの宝庫ですね。打合せや商談に利用できそうなカフェがココに書ききれない程出てきました。ぜひ参考にしてみてください。

誰にでも起こりうる…サイトをリアルタイムでミラーリングされて検索上位を奪われたお話[不正コピー、ダメ。ゼッタイ]

こんにちは!みぞれ(@xxmiz0rexx)です。 たまに見かける「記事の内容を丸ごとコピーされた!」という嘆き。

「大変だなぁ…」なんて眺めていた私ですが、今回なんと記事の文章どころか、サイトが丸ごと不正コピーされる(URL以外で判別がつかない)というとんでもない被害に遭いましたので、私が行った対処法をまとめておきます。

var ebis_proto= (location.protocol == 'http:') ? 'http://' : 'https://'; var ebis_argument = "sRrG93Nh"; var ebis_tag = "tag553f2c9487e37"; var ebis_alt_img = encodeURIComponent(""); var ebis_alt_link = encodeURIComponent(""); var ebis_width = 300; var ebis_height = 250; var ebis_ifhtml=''; var ebis_amp = "&"; var ebis_ifsrc = ebis_proto + "as.ebis.ne.jp/resolv.php"; ebis_ifsrc += "?argument=" + ebis_argument; ebis_ifsrc += ebis_amp + "tag_id=" + ebis_tag; ebis_ifsrc += ebis_amp + "width=" + ebis_width; ebis_ifsrc += ebis_amp + "height=" + ebis_height; ebis_ifsrc += ebis_amp + "alt_img=" + ebis_alt_img; ebis_ifsrc += ebis_amp + "alt_link=" + ebis_alt_link; document.write(ebis_ifhtml.replace("%SRC%",ebis_ifsrc));

経緯

事の始まりは10/21。

Googleの検索結果を見ていたら、わたしの運営するフリー写真素材サイト『GIRLY DROP』のタイトルの下に見知らぬURLがついてました。

「むむ…?」と思いクリックしてみると、そこにはうちのサイトがありました。

「????」

さらに、表示されている写真をクリックして詳細ページを確認してみようと思いました。

カチッ

思いっきりイケナイ大人のWEBサイトが表示されたんですがこれは( ゚д゚)ポカーン

トップページ、写真のダウンロードページ(記事詳細)各種、利用規約などの固定ページ各種。 色々見てみましたが、どうやらサイトが本当に丸ごとすべて不正コピーされた上で、 全ページのヘッダーにアフィリエイトタグを埋め込まれた挙句リンク先をすべて書き換えられて公開されているって事っぽいです!!\(^o^)/バッキャロー

問題は検索上位を奪われていること

百歩譲って、丸ごとコピーされていてもそのサイトが誰にも知られなければまだ良いんです。

ですが、なんとビックリ。 このパクリサイト、「○○○ 写真素材」で検索結果の1ページ目という検索上位にヒットしちゃうんですよ。これはひどい。ひどすぎる。。

そんなわけで、いろいろな人に助けていただきながら対処をしてみたのでした。

わたしがおこなった対処法まとめ

同じようにサイトを丸ごとコピーされる被害に遭ってしまった方の参考になれば幸いです。 かなり効果的な方法を教えて頂いたので即対処が出来ました(*´∨`*)ありがたやー!

  1. GoogleのSearch Consoleから著作権侵害の申し立て
  2. どの程度の不正コピーなのか検証
  3. JavaScriptでドメインがgirlydrop.comじゃない場合にゴニョゴニョする
  4. CSSなどの差し替え
  5. htaccessに追記
  6. 埋め込まれたアフィリエイト会社に通報

1.Googleに著作権侵害通知を提出

まずは検索結果からパクリサイトを削除してもらわねばなりません。 早速Googleの申し込みフォームから著作権侵害通知を提出してみました。

ですが、申請をして5日目の今現在も特に音沙汰はなし。 削除まで1ヶ月ほどかかるとの噂も聞いたので、ほかにも自分で何か対策をせねばですね。

参考:ブログが丸々コピーされてしまった場合の削除方法。Googleへコピーサイトの削除申請をしよう!

参考:ブログ記事が丸パクリされました! Googleに通報したよ! | ヨッセンス

2.どの程度の不正コピーなのか検証

どんな具合に不正コピーされているのかを知らなければ対処の仕様がないので、 ハイパーWEBデザイナーの@sou_labさんにアドバイスをいただきながら、ちょっとした検証をしてみました。

検証したこと

  • 画像が直リンクかどうか→直リンクでした 画像が直リンクだった場合、あの有名な『無断転載パクリブログ事件のまとめ | Webクリエイターボックス 』のようなことが出来ますよね!w
  • FTPでソースを書き換えた場合の動き→変わらない トップページにコメントを入れてFTPでアップロードしてみました。変わらないってことは何かのタイミングでコピーしてるんですね。ふうむ。
  • コピーするタイミング→記事を更新した瞬間でした どのタイミングでソースコピーしてるのかなー?と思って試しに記事を新規公開してみたんです。 そしたらなんと、リアルタイム更新\(^o^)/え、まってなにこれ怖い!つまりミラーリングってことです!!

以上がひとまずの検証でした。このくだりで分かったことは後半にて生かしますw

3.JavaScriptでドメインがgirlydrop.comじゃない場合にゴニョゴニョする

さてここで社会人のためのWebデザイナースクールを経営されている神こと @stocker_jp大先生による素晴らしいアドバイスをいただきました。

「YOU、ドメインで条件分岐して本家サイトに飛ばしちゃいなYO☆(意訳)」

そ、そ、その手があったかーーーーー!!!!! さらに神々しいことにサンプルコードまでくださったので、ありがたく使用させていただくことにしました。よーし。これで色々できちゃうぞぉ!

4.CSSなどの差し替え

さて。これでひとまずやるべきことが分かりました。真っ先にやらなければならないのは 写真素材を求めているひとたちを目的のページまで届けること(確信)そしてウッカリそのページに行ってしまったひとにスパムリンクを踏ませないことです。

さっきの検証とJSのコードで自分ができることは分かったので、あとは実行するだけ!

  1. 差し替え用の画像を用意
  2. 新たなCSSにhtml{background:url(XXXX.jpg)}body{display:none}とでも書く。
  3. header.phpにドメインで条件分岐するJSを仕込む
  4. FTPでアップロード
  5. WordPressの更新ボタンを押す!

なつきさんにいただいたJSのコードに少し手を加え、本家サイトに飛ばすJSの他に、CSSを読みこませるコードを仕込んでみました。

テーマ内
<script> if (location.hostname == "girlydrop.com") { // ここに Google Analytics のコード } else { var doc = document; var head = doc.getElementsByTagName("head")[0]; var meta = doc.createElement("link"); meta.setAttribute("rel","stylesheet"); meta.setAttribute("href","差し替え用CSSのURL"); head.appendChild(meta); if (confirm("このWebページは不正コピーされた可能性があります。意図しないサイトに飛ばされる場合がありますので、このページのリンクなどは絶対にクリックせず、写真素材はGIRLY DROP本家でご覧くださいね!不正コピー、ダメ。ゼッタイ!!")==true) { location.href = "http://girlydrop.com/"; } } <script>

その結果パクリサイトは…

訪れた瞬間にアラートが表示され…

アラートをキャンセルするとそのままコピーサイトに繋がるのですが(OKを押すと本家サイトに移動します)、 繋がってもそこには…

でで〜〜〜ん!!デビル女子による激おこメッセージが登場!!!!!!ひとまずの対応はこれで良さそうです。

5.htaccessに追記

これだけでも実害は減りそうではありますが、念のため出来ることはしなくてはなりません。 相談した同僚やPHPやサーバー関連にお強いはやしんさんの助言もあり、htaccessに以下の記述を追加し、アクセスを拒否することにしました。

.htaccess内
Order allow,deny allow from all deny from 相手のドメイン名

相手がプロキシを使用しているためいたちごっこになってしまうみたいですが、 気持ち的に何もせずにはいられなかったので…。

私の場合は403になったりならなかったりで駆逐までいきませんでしたが、 これで一発で表示できなくさせることも可能なようなので試してみてくださいね。詳しい説明などは参考サイトをどうぞ。

参考:サイトが一瞬で「ミラーリング」される?!その手口は驚くほど単純! | 西沢直木のIT講座

参考:ミケネコの htaccess リファレンス

6.埋め込まれたアフィリエイト会社に通報

これは越智さんからのアドバイスなんですが、 結局htaccessなどで拒否してもサーバーなどを変えられればまた同じ被害に遭ってしまうということで、 もっと相手に直接的なダメージを。というわけです。

不正に得た収益は差し止めにできるかもしれないのでダメもとで連絡してみました。 海外のアフィ会社だったので英語でね(`;ω;´)

何らかの対応をしてくれることを祈ります〜。

不正コピーの被害者に捧ぐ素材をリリースしました

そんなわけで、この記事のアイキャッチにもパクリサイトに読み込ませる画像にも使用した 『STOP COPYING ME!!!!』という文字入りの写真素材を配布しますw

同じような被害にあってしまったそこのあなた。ダウンロードは以下からどうぞ♡

サイトが不正コピーされた時のための文字入り素材『STOP COPYING ME』のフリー写真素材|GIRLY DROP

実は最初英語間違っててWEBクリエイターボックスのManaちゃんに直してもらっちゃった///『STOP COPY MY SITE』から『STOP COPYING ME』に変更でし(2015.10.26)

さいごに

いかがでしたでしょうか。 同じような被害に遭われた方もそうじゃない方にも、参考になれば幸いです。

今回のミラーリングはサイトが有名だから被害に遭うわけではありません。 現に私のサイトだってまだまだ認知度が低い状態でこれですからね。 無差別にだれにでも起こりうることなので、前もって対処法を頭に入れておくと良いと思います。 以上、みぞれでした。

自作CMSにjQueryを使ってflickrへの画像アップロード機能を搭載

「ブログシステム(CMS)を自分で作ってます」にもありますように自分で作りました自作CMSですが、自分専用に作っていますので管理者画面や機能はかなりショボイです。(笑)自分で作っているので自分だけがわかっていれば良く、また作製時間優先で最小限の機能しかも持ち合わせていません。ただ記事をたくさん書くことになりますと、この小さな至らない部分が結構に手間となり、逆に時間を取られるようになりました。また妻にも使ってもらおうと思い立ち、少し自作CMSを改良することにしました。

自作CMSにjQueryを使ってflickrへの画像アップロード機能を搭載

「ブログシステム(CMS)を自分で作ってます」にもありますように自分で作りました自作CMSですが、自分専用に作っていますので管理者画面や機能はかなりショボイです。(笑)自分で作っているので自分だけがわかっていれば良く、また作製時間優先で最小限の機能しかも持ち合わせていません。ただ記事をたくさん書くことになりますと、この小さな至らない部分が結構に手間となり、逆に時間を取られるようになりました。また妻にも使ってもらおうと思い立ち、少し自作CMSを改良することにしました。