jQuery使っているならJSONのパースはeval使わないで$.parseJSONを使う
スポンサードリンク
まえ、
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);
と書き換えるほうがよい。
いまさら何でこれ直しているかというと、とあるサイトに組み込んだからなんですよね、実績システム(閲覧率表示システム)。成果物は個人ブログで発表してはいけないのでどことはいえませんが。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3698
コメントする