ということで、株式会社セランという小さな会社に入社しました。 株式会社セラン | CELLANT Corporation. 主にモバイルサイトのアクセス解析サービスやモバイル向けの各種サービスを提供している会社で、たん清のすぐ近くという好立地(違 まだまだ小さい会社なので、上から下までいろいろとやる事になりそうです。 今後ともよろしくお願いします :-)
最近 Ustream の放送で「どうやってPHPを勉強しましたか?」という質問を良く受けるので、それについてちょっとまとめておきたいと思います。 (前にこのブログで書いたかと思ったら、違うサイトへの寄稿でした…) 僕の能力 文系(理系挫折組)。 PHPは趣味で3年くらい、10個くらいのサイトを構築。 Perlは仕事で半年くらい、2つのサイト制作に参加。 なぜPHPか まず、なぜPHPを勧めるかという理由。 ウェブプログラミングをやるのであれば、PerlやRubyという選択肢もあるのですが、なぜPHPなんでしょうか。 それは、数々のプログラミング言語で挫折した僕が唯一理解できたものだからです。 僕は中学生の頃からゲームが作りたくて、C++やらCやらVisual Basicやらに挑戦してきたのですが、どれもHello World(画面に文字を出すだけの処理)以上のことができずに挫折
Webアプリケーションでは、外部からの変数に対して、形式チェック(Validation)を行ないます。PHPでこれを行なう場合に、ありがちなミスをいくつか挙げてみました。 この日記は、がるさんの日記に触発されて書いたもので、いくつかの例を引用しています。 がるの健忘録(2006/11/08) - 素晴らしき自動的な世界〜或いは「型のない」世界〜 型の問題 数値と文字列の比較 <?php $input = "2'; DELETE FROM hoge; --"; if ($input == 2) { // ↑TRUEと評価される がるさんの日記で紹介されていた例に、手を加えたものです。 if文中の式がTRUEになるのは、PHPの「==」演算子が、数値型と文字列型変数を比較する際に、文字列を(かなり強引なやり方で)数値型に変換するからです。変数の比較は、同じ型同士で行なうのが無難だと思います。
追記 12月14日時点アクセスできること確認いたしました。http://openjsan.org/復活という奴でしょうか。 消滅ですか??? JSAN消滅 - 檜山正幸のキマイラ飼育記の記事で知ったのですがJSANが消滅したそうで驚きしましたCPANみたいなスタンスだったんで僕も好きでString.Bufferというライブラリを投稿していたんですが…。他のJSANの著者とかの動向が気になるところ。id:brazilさんのJSANの翻訳記事はそのまま残しておいて欲しいです。(復活することを願って) http://groups.google.com/group/jsanメーリングリストにはとくにはアナウンスは無し。ドメインのうっかり失効とかかしら? JSmartyとか 0.0.1M1とかかなり昔のバージョン(といいつつ去年)ではJSAN.js依存していました。現在は、他のライブラリには非依存で
ぺちぱー初の試み、肉じゃない懇親会PHP懇親会が行われました。参加人数は29名。店を借り切っての開催です。幹事のLINDさん、お疲れさまでした:-) まさかこんなに早くやるとは思ってなかったですw 今回の開場は、新宿にあるダイニングのファンデリさん。焼酎が色々揃ってるお店です。ありがとうございました。 ということで、3時間の内容を180行ちょっとで超ダイジェスト。HNなど間違ってたら指摘してください;-) LINDさんの挨拶で乾杯。まずは腹ごしらえ(20:05)。 カルパッチョ posted by (C)shimooka 今回は肉じゃありません。まあ、完全に肉が出なかった訳じゃないですが、焼肉は出ませんでしたw アシアル組のお二人、到着(20:15)。 nomaさん、到着(20:20)。 PHP勉強会は次回から「肉の日(29日)」開催ってどう? そろそろ発表開始(20:30) 発表だけで1
ブログ移行 このブログは、はてなブログへ移行しました。 http://rys.hatenablog.com/ この記事はSymfony Advent Calendar 2011の21日目の記事になります。 Advent Calendarとはなんぞや?という方は下記をどうぞ。 http://gihyo.jp/news/info/2011/12/0101 まず始めに、自分はSymfonyをバージョン1系を使ったことがなく、バージョン2からの初心者です しかもSymfony2もまだ触り始めて1ヶ月ちょっとになります。 こんな若輩者の私ですので、突っ込みどころがあるかもしれませんので、もし気になるところがありましたら突っ込んでいただければ幸いです。 Symfony2を使ってみて思ったこと 以前までEthnaを使っていたのですが、以前からSymfonyがいいよ!と色々な方から言われていたので触ってみ
SQLインジェクション対策は非常に簡単です。しかしブラウザに対する「スクリプトインジェクション」はなかなか無くなりません。スクリプトインジェクションが無くならない10の理由をあげてみます。 複雑な攻撃経路と対策 前回紹介したように、ブラウザに対するスクリプトインジェクション攻撃の経路は3種類あります。エスケープ方法も数種類あります。すべての出力を完全にエスケープできればセキュリティ維持も容易になりますが、タグや属性を出力したい場合もあるため、必ずしもすべての出力をエスケープできるわけではありません。さらに攻撃手法にも、サイトをまたがった攻撃、直接攻撃、間接攻撃などパターンがあります。エスケープできないデータへの不正なスクリプトの挿入を防ぐには、データの起源までさかのぼり安全性を確保しなければなりません。ブラウザに対するスクリプトインジェクション対策はデータベースサーバへのSQLインジェクシ
消費側はこんな感じで。 <?php /** キューの消費側サンプル */ // ライブラリ読み込み require_once 'Stomp.php'; // ローカルホストのStompサーバに接続 $connection = new StompConnection("localhost"); // TBA: エラー処理。ライブラリ中でdieしてるのでライブラリも要修正 // 接続パスワードは今は何でも通し $handler = $connection->connect("akky", "dummypassword"); // TBA: エラー処理 //print_r($handler); // キューの識別子を与えて、メッセージを受ける $connection->subscribe("/queue/miaumiau"); // 無限ループで受信を続ける while (true) { //
まず、日本のサイトにある一般的な登録フォームの画面遷移は 入力画面→入力確認画面→完了画面 となっている場合が多いようです。ここでリロード問題となるのは完了画面でのDBへのINSERT処理やCSV書き出し処理、メール送信処理など「一度しか行わない処理」です。例えば完了画面へ遷移した際にブラウザのリロードボタンが押された場合、確認画面よりsubmitした情報が再度submitされて上記の一度しか行わない処理が二度行われてしまいます。そうならないよう、リロード対策はスクリプトで制御します。 まずは確認画面のスクリプト 確認画面でチケットを発行し、セッションに保存しておきます。同時に完了画面へチケットがPOSTされるよう、hiddenにセット。こうして完了画面へ遷移させます。それでは完了画面のスクリプトを見てみましょう。 このように、確認画面で発行されたチケットは一度使い切ってしまえば2度処理さ
「実用的なPHP用の正規表現x8」というphpspot開発日誌という記事で、 8 Practical PHP Regular Expressions – Web devlopment blogという、今日del.icio.us/popularに出ていた記事の紹介がされている。このサイトの記事はいつもそうだけど、はてなブックマークでも人気で、既に50名を越えるユーザにブックマークされているようだ。 1 メールアドレスチェック $string = "first.last@domain.co.uk"; if (preg_match( '/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/', $string)) { echo "example 3 successf
allow_url_fopen強制っすか!Notice出しまくりっすか!GLOBAL汚染しまくりっすか!みたいな感じなので修正ついでにクラス化してみた。 とりあえずHTTP_Requestで通信するようにしてみたけど、他のがよければ他のに書き換えるといいと思います。 <?php /** * Copyright (C) 2007 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * @license http://www.apache.org/licenses/LI
McAfee Avert Labs Blog 「Click-fraud, captchas & session-fixation puzzles」より September 24, 2007 Posted by Vinay Mahadik 筆者はパズルが大好きだ。ここでは,筆者が自らの「Webサイト」上で遭遇,解決した,セキュリティに関するパズルを取り上げる。 クリック詐欺の阻止 問題の内容は次の通りだ。Web 2.0的な投票制Webサイトに,ユーザーの投稿したコンテンツが掲載されている。投稿者はサイト訪問者にコンテンツを評価してもらうと,ランキング上位に躍り出る。ここで,このWebサイトがログインを強制せず,未登録ユーザーがログインすることなくコンテンツを評価できる場合,サイトはクリック詐欺に対して無防備な状態となり,コンテンツ投稿者が自分のコンテンツを高く評価し続ける可能性がある。一方,
本家/.の記事より。O'Reilly Rubyブログに、2 年後私がRuby on RailsからPHPに戻った7つの理由という記事が載り話題に なっている。オンラインCDショップCD Babyの創業者であるミュージシャン兼プログラマのDerek Sivers氏が書い たもので、優秀なRailsプログラマを雇って一緒に2005年から2年間CD Babyのリ ニューアルに取り組んだがうまくいかず、試しに慣れたPHPで書き直してみたら2ヶ月 でローンチできた、という内容。Railsから学んだことも多く、言語として Rubyがダメというわけではないが、古いコードを捨ててRailsに飛びつく前にい ろいろ考えるべきことがある、と結んでいる。
via 忘れた 一週間ほど前に見つけて、「Gopherなんて古くて伝わらないだろう」とスルーしてたのだけれど、なぜか突然Gopherが熱くなってるようなので紹介。 wp-gopherは、PHPによるブログシステムWordPressのデータにgopherプロトコルでアクセスさせるためのGopherサーバ。Pythonで書かれている。 Firefox2ならまだgopher:プロトコルが見えるので、Firefoxの人はこのデモにアクセスすれば、このスクリプトを書いたhttp://✎.net/, Five Minutesのブログが、Gopherで読める。(それにしても、なんていうドメイン名だ) この作者、さらにIPv6でもこのGopherサーバにアクセスできるようにした(おそらくネット唯一のIPv6対応Gopher Serverだって)そうなので、アクセスできる人はそちらもどうぞ。 サーバのコード
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く