パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

コンピューターを破壊する不運な名前を持つ人々」記事へのコメント

  • null で空文字列を意味するというのは、そのまんま加工せずにパラメータとして入れ込んでしまっているのではないか? こっちはインジェクション・アタックとか大丈夫なんかいな?

    長すぎる方をよく見てみると、名前の途中にアポストロフィが入ってるし。ど初級のSQLインジェクションアタックで最初に試みるのがアポストロフィとか \ エスケープとかだから、たぶん対処はされているんだと信じるが…

    物理学の'tHooft先生も、ご自身の名を冠された小惑星について、アポストロフィを削られているから、この小惑星上ではアポストロフィを禁止する、と怒っておられたなあ。

    #ハイフン記号とかも名前として入力できないシステムもある。

    • by Anonymous Coward

      インジェクションアタック自体は、入力文字をそのままSQLにぶっこむことが問題なので、
      SQLパラメータにすればシングルクオート付きの名前でも問題ない。Nullって名前でも。

      で、入力がNullの時、文字列のNullを返すというインターフェイスで、「Null」ならデータ未入力だという判定ロジックの問題と思われるが、
      Nullって名前の人がいるというテストはしなかったと言われると、否定出来ない。
      マジで居るんだなあ。

      • 他にどういう名前がまずいの?
        未定義さんとかいたら問題起こる?

        親コメント
        • by Anonymous Coward on 2016年03月30日 18時30分 (#2988895)

          とある会社のWebサイトで、外部と連携してる(顧客から申し込みがあると外部サイトにも情報を送信する)システムを作ってた頃。
          自システムの文字コードがUTF-8、連携先のシステムがEUC-jpで動いてたんだ。

          で、名字がJISの第3水準だか第4水準だかの文字(1文字)の人が申し込みしたとき、変換インターフェースが空文字に置き換えた挙げ句、連携先のサーバーアプリが所謂「ぬるぽ」で落ちて騒ぎになったことはある。

          親コメント
          • by Anonymous Coward

            そういや Mailman-jp は UTF-8 に公式対応したのかな。

        • by Anonymous Coward

          javascript処理系ならundefinedさんあたりは問題になりそう。

          • by Anonymous Coward

            javascript処理系ならundefinedさんあたりは問題になりそう。

            どちらのjavascriptでどう組むと問題になりそうなんですか?

            • 書いてみた。間違いに至る例を意図的にかつ再現しやすいよう書くのって難しいね。

              // input要素nameに値をセットすることを意図したこんな感じの関数があったとして
              function setHogeText(text) {
                document.getElementById("name").value = text;
              }

              setHogeText();// こういう記述ミスを防ぎたい(呼び出しに引数が足りてないのでundefinedになる)

              // じゃあ検出ロジックを追加しよう!
              function validateHogeText() {
                if (document.getElementById("name").value === undefined) {// あれれ、これじゃ検出されないや
                  window.alert("Undefined!");
                }

                if (document.getElementById("name").value ==="undefined") {// 直したよ!これで検出できるね!
                  window.alert("Undefined!!!");
                }
              }

              validateHogeText();// 確かに上記の呼び出しミスは検出できるのだが、nameに「undefined」と入れても検出されてしまう。

              親コメント
            • by Anonymous Coward

              あんたひたすら個別具体例を聞きたがってるようけど何ゆえ?

              • by Anonymous Coward

                > あんたひたすら個別具体例を聞きたがってるようけど何ゆえ?

                自分以外はもう一人しか書き込みしていないと思わないほうがいいです。
                ありえないから聞いているんでしょう。

身近な人の偉大さは半減する -- あるアレゲ人

処理中...