はじめに 今回の記事は PHP を想定しています。 PHP は WEB サイトで最も使われていて、初心者がとっつきやすく、セキュリティーホールのあるシステムを最も多く生み出し続けている言語ですよね( ̄▽ ̄;) そこで WEB プログラミングの初心者の方をターゲットに、出来るかぎり分かりやすく書いてみます。 というのは建前で、今週末にある PHP セキュリティのお勉強会の予習です。 記事の内容を他人の公開サーバーで試すと犯罪になる場合もあるので注意してね。 セキュリティを確保するにはシステムのアップデートが欠かせませんが、PHP は後方互換性に乏しく、バージョンアップが高コストなため、問題のあるバージョンのまま放置されたシステムになりやすく危険な言語だと思っています。 これは Ruby も同じで、私が言語を選べるなら、どちらも使いません。 堅い言語なら Java か C#(ASP.NET)、
前回はスクリプトインジェクションがなくならない理由を紹介しました。それをふまえて今回はスクリプトインジェクションを防ぐ10のTipsを紹介します。 デフォルト文字エンコーディングを指定 php.iniには、PHPが生成した出力の文字エンコーディングをHTTPヘッダで指定するdefault_charsetオプションがあります。文字エンコーディングは必ずHTTPヘッダレベルで指定しなければなりません。しかし、デフォルト設定ではdefault_charsetが空の状態で、アプリケーションで設定しなければ、HTTPヘッダでは文字エンコーディングが指定されない状態になります。 HTTPヘッダで文字エンコーディングを指定しない場合、スクリプトインジェクションに脆弱になる場合あるので、default_charsetには“UTF-8”を指定することをお勧めします。サイトによってはSJIS、EUC-JP
本書は、後の機能追加や変更を想定してWeb開発を行う際に、HTML、CSS、JavaScript+Ajax、PHP、そしてデータ管理やパフォーマンスなど、Webアプリケーションを構成する各レイヤで考慮すべきことを包括的に解説する書籍です。変化に強く、大規模化に対応できるWeb開発の原則となるモジュール化やカプセル化、保守性およびパフォーマンスの維持を、簡単なサンプルWebアプリケーションの開発を行いながら習得します。本格的にWebアプリケーション開発を学びたいエンジニアに最適な一冊です。 監訳者まえがき まえがき はじめに 1章 大規模Webアプリケーション開発の原則 1.1 複雑さへの対処 1.2 モジュール式コンポーネント 1.2.1 モジュール性の実現 1.2.2 モジュール性のメリット 1.3 大規模Webアプリケーションのための10の原則 2章 オブジェクト指向 2.1 OOPの
第16回何でもできるようになった1.2のデータバリデーション機能(1/2):基本編 秋田真宏 2009-07-17
2010年の年末に、「カイ士伝」のさくらVPSへの引っ越しを手伝ったわけですが、その後も元気にサーバは動き続けているようです。 引っ越し当初は、Web サーバとして lighttpd を導入してたんですけど、僕の個人的な好みがかわって、途中で Nginx に切り替えました。 特に大きなトラブルもなくサクサクと動いてたようですが、昨日突然の Yahoo!砲で、平常時の数倍のアクセスがあったようです。 Yahoo!砲くらったけど月額980円のさくらVPSとチューニングでサーバー落とさず乗り切ったよ – カイ士伝 ただ、アクセスが大量にあった初日(1記事に5.5万PV)にもサーバ負荷が高くなってるとか気付かずに、余波でちょっと多くなってた翌日(1記事に1.3万PV)に気づいたというくらいの平常運転っぷり。 Nginx 痺れますわー。 僕は、カイ士伝の WordPress ダッシュボードにログイン
今月頭頃にPHPの勉強を始めた時、編集者や知り合いと目標を目指して燃えていた。 しかしながら技術に詳しい人からの反応は常に「アレのどこがいいの?」というものばかりだった。 PHP、かつてパーソナルホームページの略であるとされ、その名前から元々シンプルかつカスタマイズが容易なWebサイトを作るために生まれてきたこの言語では、Webページにインタラクティブな要素を盛り込むことができる。 サイト上でPHPを用いることで、ページを静的なものから、投稿するとすぐにそれが反映されるBlogの様に動的なものにすることが出来る。 私がPHPに興味を持った最初の理由はこれだ。Blog構築で人気のプラットフォームであるWordPressは、Blogの見た目や機能をカスタマイズするためのテーマエンジンにPHPを用いているため、もしPHPを使えるのであれば、Blogのかなり細かいところまでいじることが出来る。 P
WordPress:誰かが記事をコピーしたら教えてくれるプラグインCCC(Check Copy Contents)を作ってみた。 2017 9/16 最近では、読んだ記事をツイッターやFacebookなどに投稿することが多くなりました。 また、記事を引用をして、ブログの記事を書くということも増えました。 しかし、そのブログ記事の書き手からすれば、興味を持ってもらったという事なので嬉しいのですが記事のどこの箇所をコピーされたのかは分かりません。 検索をしまくれば分かるかもしれませんが、そこまでの労力はかける程ではありません。 そこで、ブログ記事のどこがコピーされたのかが分かるWordPressのプラグインを作ってみました。 誰かが、あなたのブログの文章をコピーしたら、そのコピーされた箇所とページのURLを、こっそりとあなたにメールで通知します。 名前はCCC(Check Copy Conte
プログラミング言語には様々なものがありますが、その中でも比較的人気なのがPHPです。PHPはHTMLファイルに直接記述できるスクリプト言語であり、その手軽さや言語自体のわかりやすさなどから、主にWebサービスの制作でその人気を獲得しています。 PHPは他の言語に比べてとても簡単な仕様となっており、初心者でもすぐにマスターすることができるものです。そして、同じプログラムを書く際でも複数の書き方が可能になっており、使用者に合わせた柔軟性も兼ね備えています。 そのような様々な書き方があるならば、なるべく手短でスマートなコードの書き方をマスターしたいものです。コードをスマートに記述することは以下のメリットがあります。 見やすくなることで保守・管理性の向上 コード量の短縮 記述時間(制作時間)の短縮 組織でのプログラミングルールの簡潔化が可能 このようにメリットが様々あるので、同じプログラムであれば
このブログはWordpressを使っているのですが、その中でSimplicityというテーマを使用しています。 ブログを開始するにあたって、自分で作ろうか有名どころのテーマをカスタマイズしようかどうしようかと迷っていたところ、調度良いタイミングで、フォロワーのわいひら(@MrYhira)さんという方がテーマを公開されていたので、「これはなかなかよさそう」だと思い、 ちなみに、わいひら(@MrYhira)さんは、頸髄損傷でほぼ寝たきりの生活をしつつ、寝ログというライフハック系ブログを運営されたり、テーマを公開したり、フリーソフトを公開していたりと、パワフルな方です。 ここからはSimplicityを簡単に紹介します。 Simplicityには主に、以下の7つの特徴があります。 シンプル 内部SEOの最適化 拡散のための仕掛けが施されている 端末に合わせた4つのレスポンシブスタイル 手軽に収益
もう疲れました。 だいたい8年間くらい運営していたようです。 個人用途で嫌儲とかを見るためにめっちゃ使っているので、過去ログを表示できない作りにしてwebアプリ形式の2ちゃんねるブラウザとしては続けようと思います。 unkarで動作していたソースコードを公開しますのでご自由にお使い下さい。 https://bitbucket.org/tanaton/untidy Go言語で書かれたunkarです。 https://bitbucket.org/tanaton/podunk うんかーJSのソースコードです。 https://bitbucket.org/tanaton/unkar 約1年前まで動作していたPHP版のunkarです。 unkarに保存している全てのdatファイルをダウンロードできるようにしたいと思いますが、転送量が大変なことになるので考え中。
独習PHP 第3版 手を動かしながら学ぶPHP7。基本構文から、クラス、DB連携、セキュリティ対策まで。解説、例題、練習問題の3ステップでよくわかる。基礎からオブジェクト指向まで学べる定番入門書。 PHP逆引きレシピ 第2版 (PROGRAMMER’S RECiPE) 第2版では、最新のPHP(5.4/5.5)に対応したほか、レシピ全体の大幅な見直しを行い、データベースやテスト関連のレシピ拡充など、さらに内容充実・より便利になりました。サンプルプログラムのスマートフォン対応も行っています。実践で即役立つテクニックと開発ノウハウ、つまづきやすい・ハマりやすいポイントを徹底解説した「PHPユーザー必携の1冊」です。 PHPの絵本 第2版 Webアプリ作りが楽しくなる新しい9つの扉 HPは、さまざまなWebアプリケーションが簡単に作れそうなので、興味のある人は多いのではないでしょうか。本書は、イ
私は中級レベルのプログラマです。 基本を理解するのは得意です。過去の失敗をきちんと分析できるくらい経験を重ねていますし、もっと知るべきことは山ほどあることも分かっています。 特筆すべきは、自分で身につけるべきことを知ったうえで、それを吸収しようと積極的かつ精力的に取り組んでいる点でしょう。 プログラマとしての能力は平均的なものに過ぎないと、心から納得するまで時間がかかりました。今では、よく理解できないままに誰かの意見を受け売りする必要など感じていません。知らないことがあっても、それを他人に悟られるのは怖くありません。 でも以前は違いました。信じられないかもしれませんが、私はかつてプログラミングの達人だったのです。 自分の能力を誤って評価していたのは、比較的孤独な環境でスキルを学んだためでしょう。当時はコンピュータを持っていることさえ、ちょっと特別なことでした。使い方を知っているとなれば、な
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く