curlをつかってHTTPヘッダーを変えてアクセスしてみる

サーバーへのあやしいアクセス対策後、テストするため
curlをつかって特定のHTTPヘッダーをはじくか確認してみました
※アクセス先はダミーです

特定のUser-agentを防ぐ場合

まずは正常なもの

$ curl --user-agent 'OK-agent' --head http://sample.com
HTTP/1.1 200 OK
Date: Fri, 26 Jun 2015 12:27:20 GMT
Server: Apache
Last-Modified: Wed, 21 Jan 2015 16:10:10 GMT
ETag: "413ee-2fd-50d2bca2d5ba6"
Accept-Ranges: bytes
Content-Length: 765
Connection: close
Content-Type: text/html; charset=UTF-8

200で正常です

次にGoogle App Engineからのアクセスを弾く想定(プロキシとか)

$ curl --user-agent 'AppEngine-Google' --head http://sample.com                                                                                                                     
HTTP/1.1 403 Forbidden
Date: Fri, 26 Jun 2015 12:27:45 GMT
Server: Apache
Accept-Ranges: bytes
Content-Length: 4954
Connection: close
Content-Type: text/html; charset=UTF-8

403で弾かれてます
できてそうです

GithubとかFacebookがレインボーに

GithubとかFacebookの写真がレインボーになってたりしてびっくり

github-rainbowicon

なにかと思ったらアメリカで同性婚が合法化したからのお祝いみたいです
Facebookが、米国同性婚合法化を祝してレインボープロフィール画像機能をリリース : ギズモード・ジャパン

bitbucketにgit pushしたときが一番びっくりしました

git-rainbow

日本であんまり話題になってないんですかね

Railsでrake db:seedをやり直す

Ruby on Railsでdb:seedをすると初期値がデータベースに保存されて便利ですが
初期値を変えてやり直したい..ので調べました

rake db:seed
を再度するとデータが重複してしまうようで
データベースを作りなおしてやることにしました
※初期値以外のデータが飛びます、それでもよければ

db/seed.rb
を書き換えて初期値を変えてやった後、

データベース作り直し
$ rake db:migrate:reset

これだと一旦データベースをDROPしてからmigrationもしてくれるようです
つまりは、初期値がないけど構造は最新になります

初期値をいれましょう
$ rake db:seed

これでできあがり

seed-fuをいれてやるともっとよくできそうです(試せてないです)
railsで初期データを入れる(seed-fuの使い方) – Qiita

bashのヒアドキュメントでコマンドを実行する

bashのヒアドキュメントでコマンドを実行させるのに手間取ったのでメモ

‘EOT’のようにシングルクオート(やダブルクオート)をつけると変数が展開されません

/home/user/shell
で実行しました

こう書けばできました

#!/bin/bash

x=`pwd`

cat <<EOT
${x}
$(dirname $x)
EOT
# /home/user/shell
# /home/user/

cat <<'EOT'
${x}
$(dirname $x)
EOT
# ${x}
# $(dirname $x)

cat <<"EOT"
${x}
$(dirname $x)
EOT
# ${x}
# $(dirname $x)

コマンドの下にコメントアウトで結果を表示してます