【総合】PHPフレームワークを語るスレ8
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/10/17(水) 16:01:41ID:72/gWtt1http://pc11.2ch.net/test/read.cgi/php/1181350116/
0320nobodyさん
2007/10/31(水) 10:44:52ID:???0321nobodyさん
2007/10/31(水) 10:52:17ID:???エスケープ漏れをなくしたいなら、view側がデフォルトでエスケープする仕様になってればいいだけ。
それで十分だし>>293のような問題も起きない。
それでも一括エスケープの方がいいという根拠は何?
0323nobodyさん
2007/10/31(水) 14:58:56ID:???0324nobodyさん
2007/10/31(水) 15:16:03ID:???別にViewでやったっていいだろ?
テンプレートコーディングがうんこだと言うのは認めるが。
アサイン時のオートエスケープがどうか?という提起なのであって、
それをやるオブジェクトがViewだろうとControllerだろうとWebアプリじゃ違いはないじゃん。
あと文句言ってる奴はちゃんとオートエスケープの実装と意図を見てから言えよ。
かなり的外れになっちゃってるぞ。
0325nobodyさん
2007/10/31(水) 15:18:09ID:???0327nobodyさん
2007/10/31(水) 15:44:34ID:???0328nobodyさん
2007/10/31(水) 15:47:17ID:???0329nobodyさん
2007/10/31(水) 16:06:33ID:???0330nobodyさん
2007/10/31(水) 16:27:25ID:???0332nobodyさん
2007/10/31(水) 16:32:49ID:???0333nobodyさん
2007/10/31(水) 17:18:03ID:???0334nobodyさん
2007/10/31(水) 17:18:17ID:???$_POSTと$_COOKIEのデータを自動的にエスケープする設定はあるみたいだが、まさかこれのことではないよな?
テンプレートを出力するときに勝手に一括エスケープされるのかと思ったけど、そうでもないみたいだし。
$data = array('var'=>'<b>FOO</b>');
$this->load->view('blogview');
とかしてみたんだけど、テンプレートでは $var はエスケープされてなかった。
モダンなフレームワークであるCodeIgniterでは一括してエスケープしてくれるから htmlspecialchars() は使う必要ないと>>273が語ってくれてるんだけど、見つからん。
もちろん>>273は知ってるはずだから、すまんがさくっと教えてくれ>>273
0335nobodyさん
2007/10/31(水) 17:25:15ID:???>あと文句言ってる奴はちゃんとオートエスケープの実装と意図を見てから言えよ。
>かなり的外れになっちゃってるぞ。
なにがどう的外れか書かないと、おまえこそ的外れだといわれるぞ。
オートエスケープ?の問題点が指摘されてるんだが、解決策は示されてない。
問題点が問題点でないというなら、解説希望。
0336nobodyさん
2007/10/31(水) 17:26:23ID:???記憶は定かではないが、今見てないならないのかもな
自分で拡張したciに実装しただけかもしれん
ciって筋はいいけど、ちょっと機能的には弱いだろ
まあいずれにしろテンプレートレベルでエスケープするのは
いい方策ではないと思うがな
0339nobodyさん
2007/10/31(水) 17:36:36ID:???レゴじゃないんだよな
なんかパーツがでかいっていうか
0340nobodyさん
2007/10/31(水) 17:43:01ID:???コンポーネント間で依存性をほとんどなくしたい
ただ設定クラスとかContextを作ると、そこに依存性が生まれてしまう
何にも依存してないコンポーネント群を、
それらに依存するコアコンポーネントが動かす形にしようかとか考えてる
0341nobodyさん
2007/10/31(水) 17:48:56ID:???0342nobodyさん
2007/10/31(水) 17:50:36ID:???どのくらいからDI系コンテナのメリット出てくるんですかね
0343nobodyさん
2007/10/31(水) 18:01:53ID:???ユニットテストも書きやすくなる
依存が多いとモックとか用意するの面倒だ
DIコンテナとかは要らないと思うけど
0344nobodyさん
2007/10/31(水) 18:08:30ID:???フレームワークのフレームワークにすることが出来るから
フルスタックFWの「この機能だけ欲しい」ってなっても
それだけを切り離すことは難しいから
ごっそり捨てるはめになる
0345nobodyさん
2007/10/31(水) 18:17:17ID:???php5でstrictエラー出まくってうぜえええ
0346nobodyさん
2007/10/31(水) 18:25:32ID:???4用の箇所を洗い出すための機能みたいなもんなんだからさー
0347nobodyさん
2007/10/31(水) 18:30:36ID:???ありがd
0348nobodyさん
2007/10/31(水) 19:02:17ID:???0349nobodyさん
2007/10/31(水) 19:17:59ID:???0350nobodyさん
2007/10/31(水) 20:05:57ID:???0351nobodyさん
2007/10/31(水) 20:12:16ID:???エラーメッセージはしょぼいし
パスワード忘れた時のナビゲーションもない
0352nobodyさん
2007/10/31(水) 20:13:09ID:???>まあいずれにしろテンプレートレベルでエスケープするのは
>いい方策ではないと思うがな
だから、それはなんで?理由が述べられてないじゃん。俺、エスパー力が少ないから336の考えが読み取れない。
モダンなフレームワークがそうしてるから?ナントカの神様がそうしてるから?
>>337
実物ってどれのこといってるの?
指摘された問題点に対する回答は?
0354nobodyさん
2007/10/31(水) 20:26:19ID:???0355nobodyさん
2007/10/31(水) 20:37:28ID:???その辺で楽できないZFは正直どんなもんかと思いますね。
0356nobodyさん
2007/10/31(水) 20:40:54ID:???フルスタックを志向しなかったコンセプトは好き
0358nobodyさん
2007/11/01(木) 01:06:33ID:???いまいち想像できない
0359nobodyさん
2007/11/01(木) 01:58:12ID:???0360nobodyさん
2007/11/01(木) 07:57:27ID:???おれ、あほだからわからん。
テンプレートでエスケープする方法と比べてなにが利点なの?
SymfonyもCIも、テンプレートが素のPHPだからデフォルトではエスケープされないのがそもそもの問題であって、
デフォルトでエスケープされれば、別に一括してやる必要なんかまったくないと思うけど。
賢い>>353、答えよろしく。
0361nobodyさん
2007/11/01(木) 09:07:17ID:???CIはそうではなく>>273のねつ造であることがわかったけど、ほかに何があるの?
>>273
>モダンなFWはだいたいそう
と書いてるから、ほかにもいろいろあるんだよね?
まさかsymfonyだけとかいうオチじゃないと思いたい。
もしかして>>273は未来人?将来的にはCIも一括エスケープするようになるのを知ってて書いてるとか。
そりゃ過去から書いてるように見えるわな。
0362nobodyさん
2007/11/01(木) 10:37:52ID:qneMLrtCまさかこいつらを実用してる人とか居るの……?
0364nobodyさん
2007/11/01(木) 10:40:12ID:???私はCI使うときも生PHPでビューを書いてるからよく知らないけど、CIにもテンプレートエンジン?みたいなのが
あったと思う。
あれを使うと自動でエスケープされるのかもしれない。
0365nobodyさん
2007/11/01(木) 12:22:45ID:???氏ね
0366nobodyさん
2007/11/01(木) 12:32:12ID:???レス見ればFWなんかどーでもいいと思ってるのがよくわかるw
0367nobodyさん
2007/11/01(木) 12:44:45ID:???自分が出した疑問点なのに実装は確認せず「お前がもってこいや」発言、
テンプレートロジック推奨、極度の煽り文体・・・。
もう荒らしたいだけちゃうんかと。
0368nobodyさん
2007/11/01(木) 12:49:17ID:QDpKWleMしょっぱいフレームワーク量産してるのが滑稽で仕方ないよwww
0370nobodyさん
2007/11/01(木) 13:12:28ID:???パンチカード式プログラミング
↓
マシン語
↓
アセンブラ
↓
構造化プログラミング ←今ココ
↓
オブジェクト指向プログラミング
フレームワークを使いこなしている人は少数と見た!
0371nobodyさん
2007/11/01(木) 13:45:41ID:???>まともな議論はスルー、
スルーしてるのは一括エスケープ推進派だよね。ちゃんと>>360の質問に答えてよ。
>WebアプリにおけるMVCの役割分担は思考から排除、
VですべきことをCでしてるのはそっちでしょ。
権威に弱いみたいだから紹介しとくね。
http://www.ipa.go.jp/security/awareness/vendor/programming/a01_02_main.html
>サニタイジングは(2)HTML生成時のタイミングで行うべきである。
>自分が出した疑問点なのに実装は確認せず「お前がもってこいや」発言、
確認したよ?CI使ってみたら、そんなのなかった。つまりそっちのデマカセであることを確認しました。
だから「一括エスケープしてくれるモダンなFWってどれ?」と聞いているんだけど。>>273みるとなんかたくさんあるみたいじゃん?
うそっぱち紹介しといてこれはないよな。
>テンプレートロジック推奨、
テンプレートロジックってどのことを言ってる?HTMLエスケープすること?まさかそれをロジックといってるのかな。
symfonyでもCIでも、テンプレート中にifやforeachをバリバリ埋め込んでるけど、それは見ないふり?
>極度の煽り文体・・・。
>>353のことかぁぁ!
>もう荒らしたいだけちゃうんかと。
答えられないなら黙っとけば?負け惜しみミットモネー
0372nobodyさん
2007/11/01(木) 14:08:54ID:???単なる面倒くさい奴になってることに気づけよ
ヒントはいっぱい転がってるのにも関わらず理解できない奴に
これ以上丁寧に説明してやる義理はねーんだよ
というより説明しなくても分かるだろ、フツー
既に説明することすらアホらしいレベルの話なんだよ
一言で言うとお前にはプログラマとしてのセンスが決定的に欠けているんだよ
0373nobodyさん
2007/11/01(木) 14:08:59ID:???出力するときに、出力する媒体(HTMLとかSQLとか)によって適切な
エスケープするのが基本だろ。
これに異論言う奴はいないだろ?
で、実際問題、CからVに渡すとき、出力媒体はHTMLなわけだから
一括エスケープでもいいじゃん。って発想でもいいわけだし、
Vレベルでデフォルトが、エスケープ有りでもいいわけだろ?
俺にとっては微妙な差異なんだが、そこにそんなにこだわる
必要があるのか疑問だな。
0374nobodyさん
2007/11/01(木) 14:55:02ID:???現実をかたくなに拒絶し、
甘く非現実的な幻想のみを受け入れ、
自分が考えたいように考え、
自分が信じたいことだけを信じる、
という思考パターンを強化学習しているようなものだから、
その嗜好がプログラマとしての資質を破壊していくようにできてるんだな。
0375nobodyさん
2007/11/01(木) 15:10:15ID:???0376nobodyさん
2007/11/01(木) 15:14:56ID:???0377nobodyさん
2007/11/01(木) 15:16:17ID:???だからそういってるんだけど。
テンプレート側がデフォルトでエスケープするようになっていれば、べつに何の問題もない。
しかし未来人は一括エスケープするほうがいい方法だと思っているらしい。
引用:
>>310
>少なくともテンプレートの層でエスケープするより
>入り口でエスケープするアプローチの方がスマートだと俺は思うね。
>>336
>まあいずれにしろテンプレートレベルでエスケープするのは
>いい方策ではないと思うがな
その根拠を聞いているのに答えられていなくて、わめいてばっか。
>>372
>ヒントはいっぱい転がってるのにも関わらず理解できない奴に
>これ以上丁寧に説明してやる義理はねーんだよ
どこにヒントが?説明できないだけなのを認めることができないだけだろ?
おまえがちゃんと説明すればいいだけの話。本当にわかってるんなら、そんなに説明が難しいことでもないだろ?
0378nobodyさん
2007/11/01(木) 15:16:48ID:???0379nobodyさん
2007/11/01(木) 15:45:12ID:???回りくどいことをせずに言いたいことを言えばいい
0381nobodyさん
2007/11/01(木) 16:23:49ID:???実現できないことがあるからアドバイスが欲しいの?
代替手段が欲しいと作者にメールしたいの?
0382nobodyさん
2007/11/01(木) 16:29:20ID:???でもそんなのどうしろっていうんだ。
「知らんがな」としか言いようがない。
0383nobodyさん
2007/11/01(木) 16:51:14ID:???記録メディアとしてのパンチカードはかろうじて見たことあるけどなあ
その世代で現役の人いるんだろうか
人ってか仙人だな
0385nobodyさん
2007/11/01(木) 17:23:17ID:???今どうなってるか知らないがいずれciもそうなると思う
symfonyもescaping outputは後から付いたんだよ
0386nobodyさん
2007/11/01(木) 17:27:46ID:???非テンプレ非FWこそ賢者ということが良く分かりました
0387nobodyさん
2007/11/01(木) 17:30:32ID:???0388nobodyさん
2007/11/01(木) 17:38:40ID:???それがPHPだろ
Smartyとかエスケープするだけの自作テンプレートエンジン(爆笑)とか
はやくゴミ箱に捨てろよwww
0390nobodyさん
2007/11/01(木) 17:47:15ID:???パンを挽いて粉に戻して・・・またパン作ってますけどwww
しかもどえらく不味いし
お前ら元々まずいパンをもっとまずくする天才だなw
0391nobodyさん
2007/11/01(木) 17:48:16ID:???これ思い出した
J-CASTニュース : 「オレも裸、オマエも裸になれ」 セクハラ調教師HP大炎上
ttp://www.j-cast.com/2007/10/22012451.html
0393nobodyさん
2007/11/01(木) 17:59:39ID:???むしろ「え?なに一人で裸になってんの?」
あるいは「ちょww王様が裸www」
ま、王様というより乞食だけどなm9(^Д^)プギャー
0396nobodyさん
2007/11/01(木) 20:41:09ID:???答えになってねーよ!
それが理由になるって、間違いなく勘違いー!
コントローラで一括エスケープした場合:
<?php echo $foo; ?> // エスケープされる
<?php echo $sf_data->getRow($bar); ?> // されない
デフォルトでエスケープするテンプレートの場合:
{% $foo %} // エスケープされる
{%% $bar %%} // されない
どこが違うのー?なんで一括エスケープのほうが優れているかの理由になってないー!
これで答えたつもりになってる>>380はアニヲタ以下ーwwww
うまく答えられないから、詳しい説明は必死で避けてるーwwww
0397nobodyさん
2007/11/01(木) 20:44:23ID:???まあニートの趣味グラマってレベルだな
0398nobodyさん
2007/11/01(木) 20:47:12ID:???0399nobodyさん
2007/11/01(木) 21:49:01ID:???>今どうなってるか知らないがいずれciもそうなると思う
未来人の大予言キター!
さすがえらそうにみんなを過去の人扱いしただけのことはあるー!
しかも今どうなってるかしらないくせにCIを「一括エスケープするモダンなフレームワーク」とねつ造してたー wwww
でも>>385がいる未来ではきっと違うーwww それは何年後の未来なのー?
で結局、一括エスケープしてくれるモダンなFWはsymfonyと他になにがあるのー?
>>273
>モダンなFWはだいたいそう
と言い切ってるからほかにもあるんでしょ、はやく教えて>>385www
なんならPHP以外でもいいよー モダンならねーwww
0400nobodyさん
2007/11/01(木) 23:29:28ID:???デフォルトでエスケープするテンプレートとの違いマダー?>>380
0401nobodyさん
2007/11/02(金) 00:56:32ID:???0402nobodyさん
2007/11/02(金) 02:14:03ID:???デフォルトでエスケープするテンプレートエンジンとほとんど同じだよ、もちろん。
っていうか、
エスケープするテンプレートエンジンのオルタナティブとして、
モダンなFWは一括エスケープをしているぞって言ったんじゃん。
だから同じなのは当然なんだよ。ナイスアシストw
0403nobodyさん
2007/11/02(金) 02:25:58ID:???捨てトリつけるとかしてくれよ
0404nobodyさん
2007/11/02(金) 02:44:33ID:???自分のシュチョーとレスで指摘されてることが噛み合ってないことも分かってないんだろ
その阿呆っぷりを利用していつまでもギャップを保って弄り続けてる奴もどうかと思うが
0407nobodyさん
2007/11/02(金) 03:13:27ID:???現実には論点の読めてない阿呆が一人いるというだけのことだが
0408nobodyさん
2007/11/02(金) 03:22:37ID:???その思いこみの激しさ・・・
お前アニヲタか?
0409nobodyさん
2007/11/02(金) 03:23:52ID:???他人の醜態なんか興味ないって。
0410nobodyさん
2007/11/02(金) 03:25:26ID:???俺にはどうぜ最初から全然分からない議論なんだから、考えるだけ時間の無駄。
0411nobodyさん
2007/11/02(金) 03:28:40ID:???0412nobodyさん
2007/11/02(金) 04:49:22ID:???対応できるフレームワークってありますか?
格納時には、内部→dbコードに変換
取り出し時には、db→内部コードに変換
こういう感じの動作するような…
0414nobodyさん
2007/11/02(金) 04:55:52ID:???追悼コメントのひとつもないペチパーなんて・・・
0415nobodyさん
2007/11/02(金) 05:12:23ID:???0416nobodyさん
2007/11/02(金) 05:15:47ID:???0418nobodyさん
2007/11/02(金) 06:13:56ID:???0419nobodyさん
2007/11/02(金) 07:30:13ID:???以前Symfony使ってた時に、どこかでFilterで対応してたのを
参考にしたよ。
PostgreSQLだとSET client_encoding = で、MySQLだとSET NAMESだっけ?
でも大垣さんがSET NAMES使ってんじゃねーよバーローって言ってたけど、
あの人いつも答え言わないからなんでか理由がわかんない。
■ このスレッドは過去ログ倉庫に格納されています