PHPカンファレンス2015に行ってきた #phpcon2015
カンファレンスのシーズンになったね。
第1弾はPHPだよ。
???「普段業務でPHP書くんですかー?」
しもとり「書かねえし。つか社会人じゃねーし。ニートだし」
講演
PHPの今とこれから2015
オープニング。
- サーバサイドに占めるPHPは80%
- リリースサイクル1年・ライフサイクル3年(最後の1年はセキュリティ修正のみ)
- PHP7変更点
- 高速化
- 内部構造を最適化しメモリ削減したことによる
- PHP5.6より+100%、HHVM3.9はさらに+10%。
- スカラ型宣言・戻り型宣言
declare(strict_types = 1);
- 致命的エラーの例外補足が可能に(try-catch)
- 結合比較演算子
<=>
- Abstract Syntax Treeにおいてパーサとコンパイラが分離し、最適化・メモリ削減に
- 変数構文の統一
- エクステンション(ereg, mysql, mssql)・SAPIの一部・
<% ... %>
・<script language="php"></script>
・newオブジェクト参照代入廃止 - PHP4形式のコンストラクタがdeprecated
- 高速化
6とんで7したらすばやさが2倍になってたでござる。HHVM/Hackはさらに速い。
人間言語ってここまで変われるんだなあみつを
今どきのSQLインジェクションの話題総まとめ
- SQLインジェクション対策漏れ責任問題
もうこれお互いがカオスすぎんだよなぁ。
- 指示はなくても対策をする義務があるという判断
- IPAが注意喚起してたのに…
- オススメ:安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構
- SALインジェクション対策を怠ったことは重過失
- 安全な方式を採用しなかった点は発注側の過失なのでちょっと相殺
- 開発側は安全な方式があったら採用可能性が低くても提案しよう
管理機能のID/パスワードがadmin/passwordであった箇所を読んで、しばらく余韻にひたっていた
そりゃ余韻に浸るわ。
やっぱWebアプリケーションって覚えること多くて難しいよなぁ。PHPはHTML/CSSから入るわたしみたいな超初心者もいて、プログラミング初心者にはきついもんなあ。そして結構入門書も完璧じゃないとのこと、これはもしかして「入門書」→「対策本」の流れをセットにしないといけないのか。
(´・ω・`)でも別冊だとそう簡単には買ってくれないよね
プレースホルダの仕組みを安易に自作すると徳丸先生に怒られる
だそうです。PHP初心者のみなさまとPHP本執筆予定の方はご注意ください。
これは個人的な話だけど、↓よかったよ。やっぱり実際に自分が攻撃したほうが覚えると思うんだよね。
www.pupha.net
- アプリケーションがSQL文を直接叩く場合はhttps://www.ipa.go.jp/files/000017320.pdfが参考になるらしい。
- ORまっぱーする場合は要研究
- れいるずする場合はRails SQL Injection Examplesが参考になるらしい。
Hack言語に賭けたチームの話
Facebookのやつ。まあFacebookとかいうリア充意識高いツールはようわからんけど。
- 8週間サイクル。3バージョンに1つを1年間サポートする
- HHVM/HackはWikipediaも使ってるってよ
- 日本での使用例はよくわからんらしい
- HackでWikipedia編集速度が2倍になるらしい
- Hackでboxのwebレスポンス時間1/3になるらしい
- Hackでwpengineのレスポンスパフォーマンス5.6倍になるらしい
- 引数とか戻り値の型指定ができる
- nullを許容するかどうかも書ける
- PHP7とダブる…
- ジェネリクス・Map・Vector・Set・Pair・Enumもある
- 他の言語によくあるやつ
- 非推奨の構文がある
and
or
など- 多重for文での
break N
- この辺は他にやりかたがあるっぽい?
- HTMLを混ぜて書けない
- 並列実行や実行前構文チェックができる
- hh_clientでコミット前構文チェックができてイイ
- Dell Secure Works社委託の調査ではHHVM/Hack起因のリスクはなくセキュリティ的によい
でも
- Facebookの「古い物は捨てる」精神でCentOS6が捨てられる
- ぐぐらびりてぃが悪い
だとか。そりゃそうだ。
発表してた人はnginx+Hack+FuelPHP+Go(ばっち用)でやってるらしい。きになるきになる。まあちょっとFuelPHPを書き換えてるみたいだけど。
公式的には、CakePHPとかが(ほぼ)100%いけてるらしい。
徳丸先生に怒られない、動的SQLの安全な組み立て方
SQLインジェクションを・・・駆逐してやる!!この世から・・・一匹残らず!!
徳丸先生が見てる中での発表らしい。ウケる。
SQLを文字列結合で作っちゃう問題については
という原因が提唱されている。ここを解決しようという話だった。
解決策は
- SQLテンプレートの使用
- SQL構文木を組み立てる
- 演算子オーバーライドをDSLに活用する
らしい。「ほんとは構文木のまま送りたい」、できたら面白そう
Coding We Live By 〜モデルと実装の今と未来〜
- ブライスの法則
システム設計\プログラミング | 悪い | 良い |
---|---|---|
良い | 良いシステム | 偉大なシステム |
悪い | Chaos | 悪いシステム |
- モデルと実装の4象限
モデル\実装 | 動かない | 動く |
---|---|---|
良い | 無意味 | 偉大なシステム |
悪い | Chaos | システム |
↑まあこういうの全然詳しくなくて難しかったけど、設計は大事って言っておかないと偉い人に刺される気がしたのでメモ。
戦利品
順不同
- GROUPONじゃがりこ(じゃがりこタワーができていた)
- GROUPONティッシュ
- SIエージェンシーどらやき
- GREEのクック?ぬいぐるみ(GREEごめん、ア*ャモに見える)
- TAMガチャガチャ(これって当たり外れあるんかね)
- Facebookリングノート(スタンプラリー景品)
- skyscanner手提げ袋
- Amazon.co.jp: 人工知能 人類最悪にして最後の発明: ジェイムズ・バラット, 水谷 淳: 本 (ふぁぼったものリストの中にあるのでジュンク堂池袋から購入)
- インベスターZ DMM編
- さくらのクラウド20000円
- 大量のステッカー(目に付いたものを全種もらってきたのでWordpressが色違いサイズ違いでヤバい)
- 大量のビラ
- PHPカンファレンス2015手提げ袋
- クリアファイル
あ〜大企業が新卒対象の内定チケット配ってくれればな〜〜中途対象のチケットくれてもな〜〜〜〜〜〜
追記:
某企業へ。ビラに載ってるアドレスが間違っててindex of hogehogeが見えてるよ。ばれたら激萎えだから早く直したほうがいいよ。