httpsのみCookieを許可する
1 2 |
// httpsのみ許可する ini_set('session.cookie_secure', 1); |
在宅プログラマーの備忘録として2005年に始めたブログです。
httpsのみCookieを許可する
1 2 |
// httpsのみ許可する ini_set('session.cookie_secure', 1); |
セッションIDインジェクション対策
1 2 |
// セッションIDインジェクション対策(透過セッションID禁止) ini_set('session.use_trans_sid', 0); |
JavaScriptインジェクション対策
1 2 3 4 |
// JavaScriptインジェクション対策1(http経由のみアクセス可能にする) ini_set('session.cookie_httponly', 1); // JavaScriptインジェクション対策2(不正なセッションIDを拒否) ini_set('session.user_strict_mode', 1); |
保守しているECサイトで定期購読商品を取り扱っていますが、
定期商品の月ごとのLTVを表示する機能を作った時のメモ。
まずは月ごとの「解約率」を求める。
1 |
月内の解約者数を月初の会員数で割ったもの。 |
LTVは
1 |
定期商品の月額 ÷ 解約率 |
別ウィンドウを開く際にPOSTでパラメータを送るには、
window.openで空のページを開いてから
そこに対してSUBMITを行います。
ページ上のフォームからもできますし、
フォームのないページでもPOSTできます。
まずは、ページ上のフォームからSUBMITする場合:
JavaScript
1 2 3 4 5 6 7 |
function post_open() { window.open('', 'new_window'); document.form1.action = 'page2.php'; document.form1.method = 'POST'; document.form1.target = 'new_window'; document.form1.submit(); } |
HTML
1 2 3 4 5 |
<form name="form1"> <input type="hidden" name="param1" value="hoge"/> <input type="hidden" name="param2" value="hage"/> <input type="button" value="送信" onclick="post_open();"/> </form> |
開いたウィンドウに名前をつけて、
その名前をtargetで指定するだけなので難しくないですね。
次に、フォームのないページでPOSTする場合:
※jQueryを使っています。
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
function post_open() { window.open('', 'new_window'); // フォームを動的に生成 var html = '<form id="temp_form" style="display:none;">'; var data = { 'param1': 'hoge' ,'param2': 'hage' }; for(var x in data) { if(data[x] == undefined || data[x] == null) { continue; } var _val = data[x].replace(/'/g, '\''); html += "<input type='hidden' name='" + x + "' value='" + _val + "' >"; } html += '</form>'; $("body").append(html); $('#temp_form').action = 'page2.php'; $('#temp_form').method = 'POST'; $('#temp_form').target = 'new_window'; $('#temp_form').submit(); // フォームを削除 $('#temp_form').remove(); } |