のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,397,161人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 86

    php覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    151 = :

    「違和感」を感じるかは、
    セキュリティを重視するか、
    セキュリティを軽視したコードを書くかの主観の問題。
    セキュリティを重視すれば違和感を感じない。

    毎月のようにある Web アプリの XSS 脆弱性は、
    まったくエスケープしていないのではなく、
    出力時にエスケープしているため。

    152 = :

    自分はフレームワークでも >>142 みたいのを入れてるよ

    155 = :

    XSS 脆弱性を出す人はみんなそう言うんだよ

    157 = :

    >>151
    出力時にエスケープしているのにXSS 脆弱性があるってのはどういう状況?
    できれば解説お願いします。

    単に「うっかりミスが出やすい」という話?

    158 = :

    セキュリティ云々じゃなくて単純に変なだけでしょ
    とにかく$_GET $_POSTは有無をいわさずエスケープっておかしいよ
    入力値はまずチェック(バリデーション)からはいるでしょ?
    わざわざエスケープ済みのデータを基準にしてチェックするわけ?
    入力時エスケープにするとしてもタイミングが悪いよね?
    やるとしてもデータ格納直前にやるべきでない?

    160 = :

    ううむ・・・
    色々調べてみたけど
    入力時エスケープによって脆弱性が生まれると主張する人も結構いるね

    161 = :

    htmlspecialcharsは表示直前
    DBに入れるのは受け取った生のデータが基本だろ

    162 = :

    もちろんSQLインジェクション用のエスケープはするよ

    163 = :

    たぶんうっかりミスで過去にひどい目にあったんだろ。

    164 = :

    「htmlspecialcharsは表示直前」だと「うっかり」忘れる。
    世の Web アプリの XSS 脆弱性のほとんどはこの「うっかり」。
    だから、最初の段階でエスケープ。

    従来のソフトウェア工学的には変かもしれないけれど、
    人間工学的には必要。

    165 = :

    議論がループしている。
    >>142- から再読を。

    166 = :

    ただの個人の主張をさも学問ぶるとか。。

    167 = :

    うっかりミスというかルール作りすればそんなのおきないでしょ
    たとえば文字列出力時は

    function es($str) {
     echo htmlspecialchars($str, ENT_QUOTES);
    }
    es("<strong>ほげー</strong>");
    っていう風にやるとか

    voidにしたけどStringにして
    echo es("<strong>ほげー</strong>");
    にするとか

    必ず何かを通すようにルール作りしとけばよい

    168 = :

    うっかりDBパスワードをechoしてしまうかもしれないからDBは使用厳禁ってか?

    169 = :

    >>167
    たぶんそのルールを忘れるって事だと思うぞ。
    議論は平行線のままだろうな。

    厳密なコーディング規約を作れば良い
    →ルールを守らない奴がでてくる

    しっかりテストすれば良い
    →テストに抜けがあるかもしれない

    こういう事だろ?

    170 = :

    >>169
    コードレビューとかしないの?

    172 = :

    じゃ最初の段階でエスケープするのは絶対忘れないの?

    173 = :

    >>172
    子供じゃないんだから…。

    「一か所に入れるだけ」というルールは守られやすいし、
    コードレビューでも一か所を見るだけだから
    見落としの可能性は極めて低いでしょう?

    その逆に、表示直前だと、ページ数が数百、
    出力箇所が数千ある場合、
    見落とす確率が非常に高くなるよね。
    そして、それこそが Web アプリの脆弱性なんですよ。

    174 = :

    規模が大きいとエスケープの確認するだけで数時間いるかもね

    175 = :

    その数時間を 20 回、100 回と繰り返せば、確実に見落とすから。

    176 = :

    設計がヘボいからそういう考えに陥る

    177 = :

    >>176
    ヘボくない設計って?

    178 = :

    ウェブアプリの脆弱性君
    お前のアプリケーションは入力データをそのまま出力するだけなのか
    信頼しないデータは入力されたものだけなのか
    次のスクリプトを読んで>>142が無価値なものだと気付こうぜ

    <?php $uri = $_GET['uri']; $filename = apache_lookup_uri($uri)->filename; ?>
    URI <?php echo $uri; ?> に対するファイル名は <?php echo $filename; ?> です。

    例外処理は本質じゃないので省いてあります

    180 = :

    たまに>>142みたいなの湧くけど
    HTML以外への出力、例えばメールとかPDFとかに乗っける場合は
    わざわざ元に戻すのかな?

    181 = :

    マクロ用意しとけばうっかりなんておきねえよ

    182 = :

    >>178
    これの実行結果はどうなるの

    183 = :

    >>180
    まあ、そうだろうな。

    意外と、メールはすべてHTMLメールで、
    PDF出力はHTML2PDF的なものを使う、
    とかかも知れんけど。

    185 = :

    俺はその手のはテーブル構造を書いたArrayをまわすようにしてる。

    でも、値によって保存方法のルールが複雑なら、別に愚直に長く
    書いてもいいと思うぜ。

    187 = :

    SQLスレでやれ

    188 = :

    >>186
    where 1は全件検索
    そのSQLだと
    select * from 物件表 where 1 or 市町村id=1
    とかになるから結局全件表示されちゃうんじゃね?
    見直したほうがいいよ

    195 = :

    >>188
    ぼけてた・・・andじゃなくてorだもんな。

    みなさん、間違った回答をしてしまいすみませんでした。

    196 = :

    >>180
    そう。戻す。

    HTML 出力時に「わざわざ」直前にエスケープして
    それを忘れて XSS 脆弱性を出すように、
    メールや PDF の「わざわざ」直前にデエスケープして
    それを忘れて脆弱性じゃないバグの方を選択する。

    それに、HTML より、メール、PDF の方が出力箇所が圧倒的に少ないから。

    だから脆弱性を重視するかどうかなんだって。

    198 = :

    標準機能じゃ満足にできないことをやるためのもの

    ペイントじゃうまくできないからPhotoshopいれたり
    CADやりたいけど標準じゃないから新しく入れたりみたい

    200 = :

    >>199
    なぜ自分で試してみないんだ?
    試した上で疑問点を質問しなさい。


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について