-
ID:mFlrys さんの質問

PHP入門書を確認指摘する徳丸浩氏にWeb業界はどう思っているの?

Webセキュリティで権威のある徳丸本の著者、徳丸浩氏。
本人曰わく、「ライターさんなら仕方ないが、Web業界で働く制作者が書くPHP入門書に絶望的」と。
これって、PHPを学習したく入門書を買いたい人にとって深刻なことじゃないかと思います。
特にWordPressをきっかけにPHPを学ぶ人も多いでしょう。
セキュリティで誤りがあったりすると大変問題です。
読者からすると、これらの指摘は大歓迎ですが、初心者がPHP入門書のセキュリティ部分を自身で確認しながら学ぶって辛く厳しいと思うんです。

PHP入門書を書いた現役のWeb制作者たちのPHPプログラミングのスキルは信じて大丈夫でしょうか。
指摘されたWeb業界側は徳丸さんをどう思っているの?
PHP書く人、教えてください。

http://youtu.be/M7x-P7CddPw
25分頃参照。

みんなの回答 10 件

ID:DUXktJ さんの回答

どうも思ってない

ID:TYlapw

ほんこれ

ID:4MxdDK

問題を自分で理解できる人→そんなの読む必要がない→どうでもいい
そういうのを読む人→問題を理解するつもりはない→どうでもいい
需要と供給で成り立っています。

ID:jzehoZ

同感。

その前提の上で、無理やり気にするなら、入門書にセキュリティを求めるのはどうかと思う。

というか、どの言語にしろ入門書にセキュリティを期待するのは危険だと思うし、期待してる人もいるのか疑問。

物理が専門だったので、理科についていうならば、小中高の理科の教科書が全部ウソだから幻滅したって言ってるようなもんじゃないかと思う。

ID:ftqAIo さんの回答

Web技術自体が未完成なんだから、それを隠したって仕方がない。
日本文化はマイノリティであることを悪視するけど、危険なものは危険、ダメなものはダメとはっきり言える人は貴重。それはWebに限ったことじゃないよね。

ID:ssUV92

「日本文化はマイノリティであることを悪視する」という、特定の文化・社会を科学的な根拠もなく見下す物言いは、レイシズムにつながる。
ナチスも「ユダヤ人はこうだ」「ユダヤの文化はこうである」という決め付けで大量虐殺を行った。貴方は、WEBのセキュリティの前に、社会がナチスのような状況に陥らない文化的セキュリティの心得を学ぶべきだ。

ID:ftqAIo

そこまで論点をねじ曲げて拡大解釈出来る人も珍しいな。
ひとつの物事を見て全体を否定する行為に対してナチスを持ち上げるならまだ話は分かるが、君には日本文化そのものを否定しいるように見えたわけだ。もしくは、暇つぶしの釣りゲームか。

ID:7zM7Qa さんの回答

Web制作者といってもすごく幅広いからなにも言えないけど、デザイン中心の人たちはプラグインを利用するのがほとんどでphpを書くとしたらコピペするまでが利用範疇だと思う。
信用できるかできないかといえばまったく信用できない。

ID:c.FuBS さんの回答

そもそもWordPressなんかやる奴はプログラマじゃなくてデザイナーか一般人だよ。入門書書いてる人は言語を理解できてない素人が書いてるのぐらいすぐ分かること。

ID:spPzJe さんの回答

入門書でセキュリティについてふれること自体が無茶だと思う。
入門書が対象としている読者の大半は、phpで始めてプログラムを書く人間も含まれているでしょう。
プログラムがどう動くかも、まだ良くわかっていない人間に、複合的な技術の理解が必要なセキュリティ対策を語っても理解できないと思う。
例えば、xssの危険性を理解してもらうには、javascriptについてふれる必要があるが、1つ目のプログラムを勉強している途中に、言語特性が異なる別言語がいきなり現れたら、かなり混乱すると思う。
かといって、全く語られないのも問題なので、コラムページ当たりで、代表的なクラッキング手法の名称を紹介して、この本の次はこういったことも調べて見るよう示唆する程度で良いと思う

ID:Q9YjcH

これ。
form の入力を受け取って表示してみるっていう Hello World 的なプログラムを書いた時に
$msg = $_POST["msg"];
echo $msg;
これだと、XSS の脆弱性あるから
echo htmlspecialchars($msg, ENT_QUOTE, "UTF-8");
しないとね。とかっていうプログラムが 1章から出てきたらこの本買わないとおもう。

ID:bGW7yR

入門書の第1章からフォームとPOSTやXSSを解説しているの無いから大丈夫です。w
セキュリティは中盤から後半で紹介する。

ID:goGUKz さんの回答

セキュリティを絶対的な善として他人の著書にいちゃもんつけるのはおかしいと思う。
セキュリティを無視して生まれるものもあるだあるだろうに。

ID:bGW7yR

↑全く賛同できない。
ローカル環境ならいいでしょう。
入門書籍レベルで、不確かなセキュリティを実務で書いて、本人が分かったつもりでいるのは怖いでしょ。(セキュリティを熟知しているベテランプログラマーがいれば安心だが)
WordPressのセキュリティ問題が前にあったし。
セキュリティを無視して生まれるもの?
良いことではない気がする。

ID:4MxdDK

というか、PHPの入門書とセキュリティの入門書は別に買えって事やろ。

何でもかんでも記載されてたらそれは総合入門書。

ID:BIVaJT さんの回答

たとえ初心者向けであろうともセキュリティ上の問題を抱えたコードを掲載するのは良くないと思います。
スニペットレベルなら問題ありませんが、例えば会員用の簡易掲示板を作ろうといったそのまま動作可能なコードサンプルでは、xssやcsrf、sqlインジェクション、セッションハイジャックといった基本的な対策を行っていないコードを掲載するのは良くないを通り越して罪に問うべきじゃないかとも思います。そんなの断罪しても仕方ありませんが。
未だにパスワード平文で格納とか卒倒しそうになります。
初心者向けであればなおさらWebアプリケーション開発の全体像を把握してもらった方が良いとも思いますので。

ID:avmrfh

同意です。わからないなら入門出来なくて良いのでは?と私は考えます。
出版する人たち側のコスト感の問題をユーザが云々という話に転嫁しているだけに思えます。

ID:P2bGFT さんの回答

お手本が狂っていたら仕方ないので、全体の底上げになるのはいいことだね。
webの成り立ちが故に、ディフォルトが安全であるということになっていないのがとても残念だ。(いちいち注意しないと安全ではないsqlやhtmlの規格を作った人たちは死んで詫びるべき)

大体の指摘は、ユーザから受け取る値は、そのまま信じてはいけませんよ。以上で要約されると思う。
なので、あまりこうこういうのがよいという指摘を個別に続けていくと、健康グッズのウリ文句みたいになりそうとは思う。(何々を食べると健康によいみたいな。)

できれば、このような、個別指摘よりは、
ログの監査耐性、フリーで使える脆弱性検出システム、フリーのWAF等の充実など、システムチックなものの底上げで機械的に対処できるようになればいいなと思うよ。(人間がいちいち頑張るのは間違っている。 parosみたいなものはもう作られないものかね。)
ココらへんは金がなる木だから、難しいんだろうけど。

ID:23pac.

ひどい暴論だね

ID:iBxfye

webがどうとかSQLがどうとかHTMLがどうとかって話ではなく、
言語で言語を吐き出しててしかもそれにユーザーパラメータが絡んでくるっていう設計構造なら言語がなんだろうとサニタイズしなきゃ同じ事なんだよね。

どうせWeb物で複雑なSQL使う事なんて稀なんだから言語仕様は全部隠してカプセル化してしまうのが良いんだろうけど末端ではいまいち流行らない。
さらに言えばHTMLもHTMLなんか書く必要はないと思う。
完全に構造をオブジェクト化できるのにいまだに生で書いている。
オブジェクトとして構築すればパースエラーの類はほとんど未然に防げるはずなんだが。
これに関しては本来隠すべき「まず生で書くこと」を入門としてしまってるイカレた文化のせいだとは思う。

ID:ftqAIo

いや、正論でしょ。何が暴論に感じたんだろう。

ID:FH52v2

SQLは命令を書く言語だし、HTMLはただのマークアップ文書やろ。
「小学生が使うんだからこの電卓は1-2は計算できないようにするべき」
みたいな制限で道具の品質を下げるような話は暴論だと思うが…

ID:Qt/dcq

コメ主が言っているのは、÷0を入力するとエラーになるから割り算を考えた奴は死んで詫びるべきという事。

そして、皆がこの質問に対して語っているのはなぜ0で割ってはいけないのかを小学校低学年に理解させてから電卓に触らせるべきかどうかという事。
俺は小学生向けの入力制限のある電卓があっても良いと思うよ。

ID:8dlLWs さんの回答

確かに入門書に書くことはどうかという議論はあるでしょうが、この時代セキュリティを意識しないWebアプリの開発は、そのユーザー企業の生命線ですらある。

最初から意識を持った開発経験を積むのは十分有効かと

ID:OeXyBH さんの回答

セキュリティも踏まえて、良くわかる初心者向けの入門書を執筆する能力と、実務で記載するコード生成能力とは別のものと思います。
なので、実務でもへんてこなのか、そうでないのかは入門書を見て判断ができるものですかね?(もちろん、すぐ分かるものもあると思いますが)。もし、全てを満たす入門書があればそれを推薦すれば良いし、それが無いのであれば、入門書を執筆すると良いのではないかと思う。
ちなみに、わたしはどんな執筆能力が無いので、どのようにすれば、入門者でも分かりやすく、しかもセキュアにコーディングできる知識を得られるようにすべきかや、入門者にPHP言語能力以外にセキュアな意識を持たせる方法も良くわかりません。

ただ、ビデオでは、やる人はやるけれど、やらない人に対してどうするのが良いのかが主題のようですし、それに関して業界的に問題だよねって言う点は全くの同意です。

ID:iBxfye

たぶんなんだかんだ言って、ここにも「正しい入門書」がなんなのかを明確に書ける奴なんか一人もいないんだよ。
だってなんやかんや盛り込んでいったらそれは既に「入門書」じゃねえもん。矛盾してる。

ID:iBxfye

>やる人はやるけれど、やらない人に対してどうするのが良いのか

Webに限らずIT系全般に言えることではあるんだが、
技術者を免許制にすれば良いだけの話なんだよな。
ビジネスモデルは建築業界に準拠してるのに、従事者と顧客を守るモノが何もない。
それができないのがこの業界が世間から「下基準」で見られがちな原因の一つでもあると思う。

ID:ftqAIo

>「正しい入門書」がなんなのかを明確に書ける奴なんか一人もいないんだよ。
Web制作に従事しているなら分かりそうなもんだが、プログラムを打つこちに毒されてしまっているんだろうか。「情報を伝える」ことを目的にした時、「誰を対象にするか」によってその形は変わる。一口に入門者と言っても様々な人が存在する。「すべての入門者に向けて」なんて誰も一言も言っていない。Webとかセキュリティ以前の話なんだよ。

最終更新日:2014-11-11 (14,069 views)

関連するトピックス

ページ上部に戻る