杉にゃんはヒトじゃん

なので猫の手はここには無いです

CSRF保護を怠ってLaravelにPOSTを拒否された件

早速つまづきました、ええ。

LaravelではデフォルトでCSRF対策がついているとのこと。Webアプリケーションの脆弱性を突いて送られた不正なリクエストを拒否するのが目的です。

そのため、Laravelを用いたサーバにPOSTやPUT,DELETEを送信する場合、基本的にはCSRF対策用に生成したトークンを併せて送信しないと拒否される模様。

f:id:t-suginyan:20170302194135j:plain

じゃあどうすれば良いのかというと、formに以下のような記述を追加することでトークンを埋めこめます。

<form action="post>
  {{ csrf_field() }}
  ...
</form>

これをHTMLヘルパーとやらが書き換えてくれます。

<form action="post>
  <input type="hidden" name="_token" value="xxxxxxxx">
  ...
</form>

Ajax通信とかはCSRF保護から除外しなければならないらしいですが、自サイト内のPOSTはひとまずこれで良さそう。

はじめてのLaravel導入 (Windows10)

ブログ開設からはや1ヶ月、ようやくまともな記事を書く気がする…

色々あってPHPフレームワークのひとつであるLaravelを使うことになったので、Windows10のPCで動作させるまでのインストールを備忘録として書き記します。

今回インストールするもの

XAMPP

おそらくPHPerにはおなじみのパッケージ。Webサーバやデータベースサーバ、PHPの実行環境等を一括でインストールできる。

Composer

依存性管理ツール。ライブラリ導入時、同時に必要なライブラリ群を一括でダウンロード、インストールしてくれる。今回はLaravelのインストールのために用いるが、他のライブラリのインストールにも使うことが多いデファクトスタンダードなツール。

Laravel

PHPフレームワークのひとつ。フレームワークには汎用的な機能群やソフトウェアの骨組み等が用意してあるので、これらを利用することでコード記述量削減に伴う生産性向上・運用管理コスト削減が見込める。他に有名なフレームワークとしてRuby on RailsCakePHPBootstrap等がある。

インストール手順

1.XAMPPのインストール

Apache Friendsにアクセスし「Windows向けXAMPP」をダウンロード、実行。

f:id:t-suginyan:20170228190302j:plain

マルウェアの対策ソフトがインストールされていると警告画面が出るので、内容を確認した上でYesを選択。インストール先も「C:\xampp」で特に問題ないでしょう。総容量が大きいのでインストールに5分ぐらいかかることがあるかも。

インストールされたら動作確認のために早速起動します。インストール画面からそのまま起動することも出来ますし、スタートメニューのXAMPP->XAMPP Control Panelから起動することもできます。

起動したらApache(Webサーバ)とMySQL(データベースサーバ)が起動するか「Start」を押して確認しましょう。正常に起動すればServiceにチェックマークが付きます。

f:id:t-suginyan:20170228191749j:plain

なお、Apacheはデフォルトでポート80,443を使いますが、他のアプリケーションが既に使っている場合は競合が発生して起動できないことがあります。特に「Skype」と競合することが多いようなので、その際はSkypeの設定を変更して競合を回避しましょう。

2.Composerのインストール

ComposerのサイトにアクセスしDownload -> Composer-Setup.exeからダウンロード、実行。

f:id:t-suginyan:20170228193014j:plain

動作確認として、コマンドプロンプトを開き「composer」と入力。ちなみにpathも自動で設定される。

f:id:t-suginyan:20170228193252j:plain

3.Laravelのインストール(プロジェクト作成)

コマンドプロンプトからComposerを用いてLaravelをインストールします。XAMPPのhtdocsフォルダへ移動してから行うようにしましょう。(「myapp」は必要に応じて変えてください。)

cd C:\xampp\htdocs
composer create-project --prefer-dist laravel/laravel myapp

インストールが完了したらXAMPPでApacheが起動しているのを確認してlocalhost/myapp/publicにアクセスしましょう。正常に動作していれば以下のようなページが表示されます。

f:id:t-suginyan:20170228194227j:plain

これでインストールは完了です、お疲れ様でした。

実はちゃんとPHPを書くのはこれが初めてなのですが、初心者には勧めにくいフレームワークだとの声がチラホラ…
苦労した点が出てきたらまた記事にしてみたいと思います。

Hello World.

どうも,ブログ始めました.

作ったきっかけとしては,エンジニアとして社会人になるつもりなら技術ブログの1つでも作っとかなきゃ と思い立ったからです.就活中に唐突に.

実際,エンジニアが何かしらの形で技術的なアウトプットをすることは色んな方が推奨しているようで,この考えに至ったのもそれが基となっています.数をこなせるようになるのがいつぐらいになるかはわかりかねますが,いい機会なので少しずつ書き進めたいと思います.とりあえず最初は純粋に自分用メモとして.

ちなみに中の人は大学院博士前期課程の男子学生です.男子学生です(大事なことなのd(ry).つけっぱなしのPCでSlackのbotを動かしたりはしてますが,サーバー借りてWebサービス動かすような経験は出来ておりません.ちょっと後悔してはいます…

文章力でも技術力でも至らぬ点はあるかと思いますが,何卒よろしくお願いします.