志田雅貴

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

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

JSON(JavaScript Object Notation)

JSONとは?

JSON(JavaScript Object Notation)、ジェイソンと発音。
JSONは広く使用されるデータ交換のための形式であり、人間に読み書きされやすい。 JSONXMLのように文書をマークアップすることには向いていないが、配列などのプログラミング言語から扱いやすいデータ構造を記述できることが特徴。

shidamasataka.hatenablog.com

JSONで扱える値

文字列

簡単な文字列

"あいうえお"

数値

整数値

15

配列

文字列の配列

["abc","def","ghi"]

オブジェクト

{ name1:a,  name2:b,  name3:c, ......}

twitter.com