志田雅貴

座右の銘は、 初心を忘れず、所信をつらぬく 小学生の時に考えた言葉です。矛盾しているような言葉にも聞こえますが、このようなパラメータの中を自由に飛び回れるような考え方が大好きです。

github ローカルでリモートと接続

前提

  • すでにローカルでAppを作成している
  • github上で自分のアカウントを作成している

github上でリポジトリの作成

githubのサイトでリポジトリをつくる。

github.com

ローカル

githubで作成したリポジトリに書いてあるHTTPSでなくSSHを選択。
git@github:com hogehogehoge
をコピーする。

$ git remote add origin git:github 〇〇〇〇〇〇

git statusでフォルダが赤色なことを確認。

作業ツリーからインデックスへ

$ git add .

git statusでフォルダが緑色になったことを確認。

コミット

$ git commit -m 'コメント'

git statusでフォルダがコミットされたことを確認。

$ git status
On branch master
nothing to commit, working tree clean

プッシュ

$ git push origin master

twitter.com

IPアドレスのクラス 2進数と10進数 備忘録

クラスA、B、C、Dという4つのクラスに分類されていた。

IPアドレスは、ネットワーク部(ネットワークアドレス部)とホスト部(ホストアドレス部)に分かれる。

クラスA

  • 先頭1ビットが「0」で始まる場合。
  • 先頭から8ビットまでがネットワーク部
  • 0.0.0.0 ~ 127.0.0.0(00000000~011111111)

クラスB

  • 先頭2ビットが「10」で始まる
  • 先頭から16ビットまでがネットワーク部
  • 128.0.0.0 ~ 191.255.0.0 (10000000.00000000~1011111111.11111111)

クラスC

  • 先頭3ビットが「110」で始まる
  • 先頭から24ビットまでがネットワーク部
  • 192.0.0.0 ~ 223.255.255.0 (省略…)

クラスD

  • 先頭4ビットが「1110」で始まる
  • 先頭から32ビットまでがネットワーク部
  • 224.0.0.0 ~ 239.255.255.255

一つのネットワークアドレスに対して、割り当てることができるホストアドレスの数は、16,777,214個(クラスAの場合)

クラスAの場合、先頭から8ビットまでがネットワーク部でそのあと24ビット分がホスト部になるので、、、
2の24乗は、 16,777,216
二個多い。

2の16乗は、 65,536 二個多い。

2の8乗は、 256 二個多い。

クラスCのホスト部を例に取ってみる。
28 = 256

だけど、 192.0.0と223.255.255は「Available」でなく、「Reserved」となっている。 なので、2個引いて254個になる

twitter.com

Railsでよくでてくる "protect_from_forgery with:exception" とは?

protect_from_forgery with:exceptionとは?

application_controllerにデフォルトで記述されています。 こんな感じに!

class ApplicationController < ActionController::Base
  protect_from_forgery with:exception
  ~
end

これはCSRFという攻撃から守ってくれます。

どんな攻撃だろう?

CSRFとは?

クロスサイトリクエストフォージェリCSRF)とは、Webアプリケーションに存在する脆弱性、もしくはその脆弱性を利用した攻撃方法のことです。掲示板や問い合わせフォームなどを処理するWebアプリケーションが、本来拒否すべき他サイトからのリクエストを受信し処理してしまいます。
Trend Micro | トレンドマイクロ (最終閲覧日:2017年8月6日)
http://www.trendmicro.co.jp/jp/security-intelligence/threat-solution/csrf/index.html


  • いたずら的書き込み、不正サイトへの誘導、犯罪予告といった掲示板やアンケートフォームへの不正な書き込み
  • 不正な書き込みを大量に行うことによるDoS攻撃

閲覧者を別Webサイト上で何らかの操作などを行わせる攻撃だそうです。 そういった攻撃を行わせないためにこの記述をしているようです。 気をつけて、記述しておかなくては。

twitter.com