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

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    701 : nobodyさん - 2012/07/14(土) 21:55:03.23 ID:??? (+56,+28,-13)
    PHPは欠陥言語だからな
    致命的な不具合の寄せ集め
    702 : nobodyさん - 2012/07/14(土) 22:09:33.37 ID:??? (+31,+13,-2)
    するーするー
    703 : nobodyさん - 2012/07/14(土) 23:40:38.99 ID:63YLPZRT (-28,-30,-142)
    配列に入った値をサニタイズする関数をつくったのですが、

    function check($data) {
    if (is_array($data)) {
    return array_map('datacheck', $data);
    }
    else {
    $d = htmlspecialchars($data, ENT_QUOTES);
    }
    }

    シェル上では、問題なく動作しているのに、
    ブラウザでPOSTされた値を上記関数に入れ込むとなぜかサニタイズされません
    しかし、check(check($data))のように2回上記関数に入れ込んでやるとしっかりサニタイズされます
    POSTされた値だけ1回でうまくサニタイズされないのはどうしてでしょうか
    705 : nobodyさん - 2012/07/14(土) 23:51:27.26 ID:??? (+57,+29,-28)
    サニタイズって何だよ
    セキュリティの専門家に怒られるぞ
    何が毒かなんて使う場所によって違う
    706 : nobodyさん - 2012/07/14(土) 23:53:36.17 ID:??? (+52,+29,+0)
    サニタイズ言うな!
    708 : nobodyさん - 2012/07/15(日) 00:15:56.17 ID:??? (+57,+29,-15)
    こうやって脆弱性が作られていくんだな
    709 : nobodyさん - 2012/07/15(日) 00:21:30.97 ID:??? (-1,-29,-27)
    charsetがーとか言っちゃう人ですか
    この段階でこんなことするのがそもそもおかしいけどね
    710 : nobodyさん - 2012/07/15(日) 01:01:39.01 ID:??? (-1,-29,-23)
    charsetまでいくといちいち突っ込まないけど
    これはだめでしょ

    半角英数字以外をすべて削除するなら
    個人的にサニタイズって呼んであげてもいいよ
    でも文字列長はチェックしてね
    711 : nobodyさん - 2012/07/15(日) 01:10:06.12 ID:??? (+3,-30,-39)
    これでいけるはず。

    function sanitize($data)
    {
    if (is_array($data)) {
    return array_map('sanitize', $data);
    } else {
    return 'Don\'t say SANITIZE!';
    }
    }
    713 : 703 - 2012/07/15(日) 05:37:24.30 ID:??? (+6,-26,-80)
    補足です
    どうもPOSTから受けた配列を変換用関数に入れると、配列の判定をしてはいるものの
    再帰処理せず、1回目の配列判定をしたところで処理が終わってるようです
    自分で変数に配列をセットした場合は、再帰処理されるのに
    POSTの値が再帰処理されないのはなぜでしょう・・・
    714 : 703 - 2012/07/15(日) 06:00:50.97 ID:??? (+38,-30,-209)
    $d = $_POST['data'];
    var_dump($d);

    $d2 = datacheck2($d);
    var_dump($d2);

    $d3 = datacheck2($d2);
    var_dump($d3);

    上記処理をかますと、
    array(2) { [0]=> string(3) "<<<" [4]=> string(2) "<<" }

    array(2) { [0]=> string(12) "<<<" [4]=> string(8) "<<" }

    array(2) { [0]=> string(24) "<<<" [4]=> string(16) "<<" }

    となります  なぜこうなるのでしょうか・・・
    string(3) string(12) と長さは変わってるようですが
    715 : nobodyさん - 2012/07/15(日) 10:50:26.28 ID:??? (+23,+30,+0)
    716 : nobodyさん - 2012/07/15(日) 11:17:01.94 ID:??? (+3,-29,-1)
    >>714
    $youAreUnko = $_POST['mail'] === 'sage';
    717 : nobodyさん - 2012/07/15(日) 12:44:31.04 ID:??? (-1,-24,-2)
    PHPでできますか?
    718 : 703 - 2012/07/15(日) 14:44:00.05 ID:??? (+57,+29,-33)
    サニタイズと言って入力値をエスケープするという考え自体が、
    脆弱性を作りやすい間違った考えということが分かりました
    ありがとうございました
    720 : nobodyさん - 2012/07/15(日) 15:25:40.30 ID:??? (+85,+28,+0)
    リクエストトークンがないから
    721 : nobodyさん - 2012/07/15(日) 15:38:16.39 ID:??? (+69,+29,-17)
    >>720
    リクエストトークンがないとはどういう意味なんでしょう?
    サンプルプログラムを丸写ししてキーを入力しパスなどを変えただけなんです。
    722 : nobodyさん - 2012/07/15(日) 15:59:21.04 ID:??? (-4,-22,-1)
    マルチ?
    723 : nobodyさん - 2012/07/15(日) 21:13:23.03 ID:??? (+62,+29,-73)
    twitterやってないからしらんけど

    ・投稿するAPIがあるならその仕様をちゃんと読む
    ・APIがないなら通信をトレースして何をしたらどうなるかを把握して専用のクライアントを作成する

    結局この2つになるんじゃないの
    724 : nobodyさん - 2012/07/15(日) 21:16:49.41 ID:??? (+14,-3,-12)
    スレチ
    725 : nobodyさん - 2012/07/15(日) 21:43:34.81 ID:??? (-11,-29,-32)
    >>719
    アクセストークンがない。

    read and wrightにしてない

    おなじ内容の投稿を繰り返してる。



    たぶんどれか
    726 : nobodyさん - 2012/07/15(日) 21:47:32.56 ID:??? (+14,-3,-12)
    スレチ
    727 : nobodyさん - 2012/07/15(日) 22:16:56.04 ID:??? (+94,+29,+0)
    そういえばピンク色のイノキとかいうのどうしてんだろうな。
    728 : nobodyさん - 2012/07/15(日) 22:30:26.21 ID:??? (-6,-29,-5)
    wright
    wright
    wright
    731 : nobodyさん - 2012/07/16(月) 09:11:06.54 ID:??? (+75,+30,+0)
    学ぶ力には三つの条件があります。

    第一は自分自身に対する不全感。
    自分は非力で、無知で、まだまだ多くのものが欠けている。
    だからこの欠如を埋めなくてはならない、という飢餓感を持つこと。

    第二は、その欠如を埋めてくれる「メンター(先達)」を探し当てられる能力です。
    メンターは先生でもお母さんでも、ネットの中の無名の人でもいい。
    生涯にわたる師ではなく、ただある場所から別の場所に案内してくれるだけの
    「渡し守」のような人でもいいのです。
    自分を一歩先に連れて行ってくれる人は全て大切なメンターです。

    第三が、素直な気持ち。
    メンターを「教える気にさせる」力です。オープンマインドと言ってもいいし、
    もっと平たく「愛嬌(あいきょう)」と言ってもいい。

    「学ぶ姿勢」のある人は、何よりも素直です。
    つまらない先入観を持たないから、生半可なリアリズムで好奇心を閉ざさない。
    素直な人に聞かれると、こちらもつい真剣になる。知っている限りのことを、
    知らないことまでも、教えてあげたいという気分になる。そういうものです。

    以上、この三つの条件をまとめると、

    「学びたいことがあります。教えてください。お願いします」

    という文になります。これが「マジックワード」です。
    これをさらっと口に出せる人はどこまでも成長することができる。
    この言葉を惜しむ人は学ぶことができないのです。
    学ぶ力には年齢も社会的地位も関係がありません。
    >>727さんも、早く学ぶ力を身に付けてください。
    732 : nobodyさん - 2012/07/16(月) 11:12:31.31 ID:??? (+57,+29,-16)
    phpには問題がない。悪いのは工夫しないこと。
    733 : nobodyさん - 2012/07/16(月) 11:36:56.93 ID:??? (+57,+29,-4)
    今日も回答者のみなさま、よろしくご指導くださいませ。
    735 : nobodyさん - 2012/07/16(月) 11:56:18.41 ID:??? (+33,-17,-1)
    >>734
    HTMLソースを見てみることをお勧めする
    736 : nobodyさん - 2012/07/16(月) 12:24:47.48 ID:??? (+80,+29,-1)
    >>735
    お忙しい中、ご助言ありがとうございます!
    737 : nobodyさん - 2012/07/16(月) 12:32:52.88 ID:??? (+72,+4,+2)
    >>736
    ID
    738 : nobodyさん - 2012/07/16(月) 13:28:06.98 ID:??? (+67,+29,+0)
    >>737
    いつもご案内ありがとうございます。
    739 : nobodyさん - 2012/07/16(月) 13:31:55.86 ID:xItWI94M (-5,+29,-46)
    >>735
    たしかにHTMLソースを見るとしっかりエンティティ変換できてますね
    ブラウザが変換されたものを認識して表示
    2回目を通ると、2回変換されたものを1回分戻して表示しているから1回目が変換されたように
    錯覚していたのですね
    理解致しました、教えて頂きありがとうございました

    ちなみに>>736は私じゃないです・・・
    741 : nobodyさん - 2012/07/16(月) 14:25:27.61 ID:??? (+42,+24,+0)
    勿論
    742 : nobodyさん - 2012/07/16(月) 14:29:14.51 ID:QG6eRF1A (-29,+25,+1)
    ですよねー
    ありがとうございました
    743 : nobodyさん - 2012/07/16(月) 15:01:18.57 ID:??? (+50,+28,-15)
    >>740-742
    されてねーよw
    どうやって確認したんだ
    744 : nobodyさん - 2012/07/16(月) 15:22:21.12 ID:??? (+4,-13,-2)
    マニュアルで
    745 : nobodyさん - 2012/07/16(月) 15:23:35.71 ID:??? (+4,-13,+0)
    オートマで
    746 : nobodyさん - 2012/07/16(月) 15:30:57.84 ID:??? (+3,-29,-109)
    フォームの内容を送信するとき、GET か POST かにかかわらず data は ブラウザによって URL エンコードされ、PHP によって URL デコードされます。 要は、URL エンコード/デコードを自分で行う必要はなく、これらの処理は すべて自動的に行われると言うことです。

    エンコと勘違いしてないか?
    747 : nobodyさん - 2012/07/16(月) 23:27:29.62 ID:gCazxRKa (-13,-30,-23)
    <?php
    session_start();~
    ?>
    <html>~</html>
    としたとき、グーグルクロームで上の方に空白ができるって
    なんとかならないですか?
    748 : nobodyさん - 2012/07/16(月) 23:31:36.01 ID:??? (+54,+26,-30)
    サーバで処理したものを返すから
    同じ結果ならブラウザでソースが変わるってのはない
    PHPとは関係ないんじゃね
    749 : nobodyさん - 2012/07/17(火) 11:59:23.23 ID:??? (-1,-29,-9)
    UTF-8 BOMで保存してるんじゃないの?
    750 : nobodyさん - 2012/07/17(火) 12:12:53.44 ID:??? (+57,+29,-50)
    クロームでというのが気になるが別のブラウザでも同じならBOMか改行かそこらへんだな
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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