M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2011年9月 3日 18:51

jQuery使っているならJSONのパースはeval使わないで$.parseJSONを使う

このエントリーをはてなブックマークに追加 mixiチェック

まえ、

M.C.P.C.: 「ゲームの実績システム」をフィーチャーした「スタンプラリーシステム」でサイト巡回を強制する(案)

で、

    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="jquery.cookie.js"></script>
    <script type="text/javascript">
    $( function() {
      var sr = $.cookie('sr');
      var h = {};
      if (sr != null) {
        h = eval("("+sr+")");
      }
      h['products'] = 'passed'; // スタンプラリーとして登録するページ名を変える
      $.cookie('sr', JSON.stringify(h), { expires: 365 } );
    });
    </script>


という書き方をしていたのだけれども、evalすると圧倒的に危ないので、

        h = eval("("+sr+")");

        h = $.parseJSON(sr);

と書き換えるほうがよい。

いまさら何でこれ直しているかというと、とあるサイトに組み込んだからなんですよね、実績システム(閲覧率表示システム)。成果物は個人ブログで発表してはいけないのでどことはいえませんが。

投稿 大野 義貴 [Web] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3698

コメントする