PHPの勉強その4
フォームのデータを受け取る
- PHPでは定義済みの変数$_SERVER(配列)がある
その値がPOSTだったら何かが投稿されたと言う意味になる
適当な変数を定義し、そこにPOSTという定義された変数(配列)
- https://www.php.net/manual/ja/reserved.variables.post.php
- を設定し名前を渡すと、ユーザーからのPOSTの内容を取得することができる
ユーザーからの入力を信頼してはいけないので、htmlspecialchars()を入力して受付する
cookie
AS is なに?
先輩との会話で出てきたBGPの意味がわからず、調べたら結構ネットワークの知識がないと理解が難しそうだったので、 ひとまず知識が曖昧な部分から理解していく。
ASって?
ネットワークの自律システムのこと。Autonomous Systemの略。
なんなの?
ASは統一されたルーティングポリシーによって運営されるIPネットワークやルータ群のこと。 一般的には,一つのプロバイダのネットワークや,企業ネットワークがそれに該当する。 インターネットはASを単位として構成されており、つまりインターネットはASの集合体として考えることができる。
それぞれのネットワークでAS番号が割り振られており、それは全世界で一意である(被らない) AS番号は16ビット(2バイト)あるいは32ビット(4バイト)の値で各地域のRIR(Regional Internet Registry/アジア太平洋地域はAPNIC)を通じて各国NIC(Network Information Center/日本はJPNIC)に配布され、NICから各組織へ割り当てられる。
インターネット上でのパケットの経路制御(ルーティング)はAS間とAS内で分かれている。 AS内ではIGP(Interior Gateway Protocol)と呼ばれ、代表的なものにRIP,OSPFがある。 AS間ではEGP(Exterior Gateway Protocol)と呼ばれ、通常はBGP4が使用されている。
PHPの勉強 その3
アクセス権
- private...そのクラス内からのみアクセス可能
- protected...そのクラス+親クラス内からのみアクセス可能
- public...どこからでもアクセス可能
- アクセスさせたくないプロパティやメソッドがある場合などに使える
static
抽象クラス
- これ自身をインスタンス化することはできない
- 抽象クラスで共通の定義をすれば子クラスの実装をシンプルにしたりできる
NAT/NAPT is 何?
何なの?
IPアドレスを変換する技術。グローバルIP↔︎ローカルIP
DHCPと勘違いしそうになるが、あれはIPアドレスを自動的に割り振ってくれるシステム
何で必要なの?
インターネット上のルータは、宛先IPアドレスにプライベートIPアドレスを用いたパケットを受け取ると破棄してしまう。
すなわち、ローカルな組織のホストは、プライベートIPアドレスを使用してインターネットに接続できない。
そのためNATを用いてプライベートIPアドレスとグローバルIPアドレスの変換を行い、インターネットに接続する
変換の方法
- スタティック変換
- ローカルIPアドレスとグローバルIPアドレスを1対1に固定的に変換する。
- その組みはNATのテーブルに記載される
スタティック変換は、内部ネットワークのサーバーを外部にも公開する場合にも用いる。 サーバーのドメイン名は、DNSによって変換されるため、外部のホストから見たグローバルIPアドレスが常に一定である必要があるためである。
ルータはNAT機能とIPマスカレード機能を組み合わせて機能しており、そのために複数のPCが同時接続できるようになっている。
ARP is なに?
ARP とは
ARP(Address Resolution Protocol) は、MACアドレスをあて先のIPアドレスから求めるためのTCP/IPプロトコルである
何なの?
宛先IPアドレスを用いたネットワーク層のルーティングにより、目的のサブネットに到着したパケットを最終的に宛先ホストに転送するためには、
データリンク層の処理で用いるMACアドレスが必要である。
しかし、イーサネット内に接続されたホストのMACアドレスは不明である。
このプロトコルは指定したIPアドレスを持つホストのMACアドレスを問い合わせるプロトコルである。
仕組み
ブロードキャストアドレスを受け取ったホストは自分あてのフレームとして処理をし、ARP要求で指定されたIPアドレスと自分のIPアドレスを比較する。
異なっていればARP要求を無視。同一であれば、自分の宛先MACアドレスを指定したARP応答パケットを送信元ホストに返信する
問い合わせを行ったホストは得られたMACアドレスをARPキャッシュに記憶する。
以後、このホストはキャッシュを参照するので同じ宛先ホストに対するMACアドレスの問い合わせは不要となる。一定時間経つとクリアされる。
PHPを学んでみる 2
h1. 命令
数字切り上げの命令
- ceil() 小数点以下切り上げ
- floor() 小数点以下切り捨て
- round() 四捨五入
- rand() 乱数を生成
文字列に関する命令
- strlen() 文字列数え上げ
- mb_strlen() 日本語文字列数え上げ
- printfはCと同じような感じ
その他命令
- count() 配列の個数を数える
- implode() 配列の文字を指定した文字で区切って表示
h2. クラス
PHPを学んでみる
PHPほぼミリしらなのにレビュワーに入れられたりしたので急遽勉強 ドットインストールのphp入門15回目までの学習内容
ワンライナーでビルドインwebサーバーの立ち上げ方
- ip aでlocalhostのIPを調べて
php -S IP:port
で立ち上げられる
- ip aでlocalhostのIPを調べて
<?php で宣言する
- htmlに埋め込む場合は<?php ?>で囲う(?)
var_dumpで型と値がそのまま表示される
定数を定義するにはdefine("変数名", "値")
- すでに定義されている変数もある(LINE,FILEなど)
変数を展開する際、他の文字列とごっちゃにならないように{}で明示的に囲うこともできる(表示結果に差異はない)
真偽値
- 数値が0や0.0,文字列が空または"",論理値がfalse, 配列の要素の数が0,nullの場合はfalseになる
配列でkeyとvalueのペアを入れて結びつけるには=>という表現を使う
- keyは省略することもできる。その場合は0からの連番になる
foreach
- 配列の内容をループ処理で取り出してくれる
コロン構文を使用することで、PHPとHTMLを混在して記述するときに視認性を向上させることができる。