Text
MySQL: アクセスログテーブルのアクセス日時情報から、ユーザの最終閲覧日時を更新
UPDATE m_user as u, (SELECT user_id, MAX(accessed_at) as logined_at FROM m_log GROUP BY user_id) as l SET u.logined_at = l.logined_at WHERE u.user_id = l.user_id
0 notes
Text
fuelPHP: ログファイルの主力先を変更
fuelPHP では、ログの出力先はデフォルトで以下のようになっている。
~~/fuel/app/logs/2015/3/19.php
なので、ログローテー��ョンとかめんどくさいからなんとかしてよって言われた。 /var/log/fuel/20150319.log みたいな感じ。 そんなこと言われたってどうすりゃいいのさ('.3_ヽ)_
config.php のログについての記述。
'log_threshold' => Fuel::L_WARNING, 'log_path' => APPPATH.'logs/', 'log_date_format' => 'Y-m-d H:i:s',
ログ出力レベル、出力先ルートパス、ログファイル内の日時フォーマットは設定できそう。 2015/3/19.php みたいな出力が気に入らないのになーと思って、Logのコアファイルのぞいたら、
// determine the name and location of the logfile $path = \Config::get('log_path', APPPATH.'logs'.DS); $filename = \Config::get('log_file', null);if(empty($filename)) { $rootpath = $path.date('Y').DS; $filepath = $path.date('Y/m').DS; $filename = $filepath.date('d').'.php'; } else { $rootpath = $path; $filepath = $path; $filename = $path.$filename; }
こんなん書いてあった。
ので、config.phpのログ関連記述の下とかに ‘log_file‘ => date(’Ymd).’.log‘ を追記。 あと 'log_path' => ‘/var/log/fuel/', に修正。
これで、/var/log/fuel/20150319.log にログ出力されるはず!
0 notes
Text
chromeのデベロッパーツールのウィンドウ切り替え
chromeのdeveloperツールでウィンドウ内の下、右の切り替えと、別ウィンドウの切り替えのやり方。
右上のウィンドウアイコンを長押しすると、切り替えられます。
別ウィンドウに切り替えられなくなってしばらく困ったので。
0 notes
Text
Vagrantでつまったこと
vagrantでいろいろつまったので。
vagrantで必要なものは、
VirtualBox
Vagrant
の二点。
ただ、仮想化ソフトはほかにもいろいろあるけど、他のものと共存が難しい。
最初Hyper-Vの設定が有効になっていて、うまく起動しなかった。
Hyper-Vを無効化する方法はいろいろあるが、GUIから設定できないこともあるので、下記のコマンドをcmdから実行し、マシンを再起動すると無効化される。
その後、VagrantからVirtualBoxで起動できるようになった。
bcdedit /set hypervisorlaunchtype off
また、もし、それ以前に起動に失敗したイメージがあれば、vagrantディレクトリ内のファイルを消すだけでなく、VirtualBoxの画面からも削除してクリーンな状態にしないとだめ。
0 notes
Text
PHP: 演算子 && と and
論理積(AND)を意味する演算子には、&& と and があるが、使い分けはほぼしてない。 個人的には読みやすさから AND とすることが多いが、&& とは挙動が異なる状況が稀にあるみたい。
【&& と and の違い】
"&& は and よりも処理の優先度が高い"
各演算子には、式に結合して使用するときの評価順が設定されている。 (例えば、1+2×3 という式では 2×3 が優先して計算される、など。)
&& は and よりも早く処理されるので、特定の状況で結果に差異が出たりする。
【結果に影響する状況例】
$result_1 = true && true ? 'OK' : 'NG';
$result_2 = true and true ? 'OK' : 'NG';
上記のような場合、違いは && と and の部分にしかないが、 代入結果は以下のようになる。
$result_1 : string(2) "OK"
$result_2 : bool(true)
これは、代入演算子 = と条件演算子 ?: の優先度が and よりも高く、&& よりも低いためである。
【おまけ:優先度が and よりも高く、&& よりも低い演算子一覧】
|| (論理和 OR) ?: (条件演算子) = (代入) +=, -=, *=, /=, .=, %=, &=, |=, ^=, ~=, <<=, >>= (演算結果の代入)
0 notes
Text
GTMを使っているとga関数が使えない
Google タグマネージャ(GTM) + Google analytics (ユニバーサル アナリティクス) を使って、手動でイベントトラッキングを行う方法 http://qiita.com/emegane/items/906b21f1fb268565afa5
これね。はまりました。
イベントトラッキングで複雑な集計を実装したくてGTMの機能を使わず、jsべた書きする場合、ga関数が使えません。
要注意。
0 notes
Link
Security Casual Talks (すみだセキュリティ勉強会その2) あんしんなWebサーバーのための SSL設定 2013/12/07 FALZ (@falz_yineng)
0 notes
Link
SSLv3 に関して脆弱性がレポートされました。apache に対策を施したのでこの手順に関して書きます。主要 Web ブラウザにおける対策に関しても記しています。2014/10/17, 10/18 一部追記
0 notes
Link
概要 2014年10月15日、SSL 3.0に深刻な脆弱性が発見されました(CVE-2014-3566)。この脆弱性は「POODLE」と称されています。 この脆弱性を使用してSSL通信を解読され、個人情報、パスワード、C … 続きを読む →
0 notes
Link
SSL3.0の脆弱性の確認方法
こちらのシェルスクリプトを実行することで確認できる
0 notes
Text
Analytics:権限付与について
アナリティクスの権限付与には��権限の種類(ユーザー管理、編集、共有設定、表示と分析)という概念以外にも、権限の単位という概念がある。
https://support.google.com/analytics/answer/1009618?hl=ja
たとえば、編集権限をもっていたとしても、ビュー単位の権限だった場合、フィルタの設定変更ができない。
設定変更でエラーがでる場合、権限の単位を確認しましょう。
0 notes
Text
突然メールが送信できなくなるのもSELinuxのせい
PHPで組んだユーザ登録系のプログラムでコードを弄っていない部分から突然メール送信のエラーが発生した。
でおかしいと思って、PHPのmail関数で簡易的に送信してmaillogをチェック。
すると/var/spool/postfix: Permission deniedとかいうエラーが出てる。
原因:全部SELinuxのせい
#sudo getsebool httpd_can_sendmail #httpd_can_sendmail --> off#setsebool -P httpd_can_sendmail 1
というわけで
http://snickerjp.blogspot.jp/2014/05/httpdsendmail-selinux.html
を参考にhttpd_can_sendmailをonにすることで解決。
本当になんなんやこいつ…。
0 notes
Text
PHPでDB接続できないのはだいたいSELinuxのせい
WebサーバからSSHでDBに接続はできるが、アプリケーション(PHP)からDBに接続できなくなってた。
原因: WebサーバのSELinuxのhttpd_can_network_connectが無効になってた
ので、
# setsebool -P httpd_can_network_connect 1 # getsebool httpd_can_network_connect httpd_can_network_connect --> on
いつの間にかSELinux関連が初期化(?)されてたんですけど何なんですかほんと。
0 notes
Text
linux:bash脆弱性対応による不具合※信頼性低情報
先日bash脆弱性(https://www.jpcert.or.jp/at/2014/at140037.html)が発見され、アップデートを行いましたが、サイトがpermission deniedでみれなくなるという事象がおこりました。
過去の記事、
linux:デフォルト以外のディレクトリにドキュメントルートを設定するとForbiddenになる
で紹介しているとおり、こちらではデフォルト以外にドキュメントルートを設定していましたがこちらの設定がリセットされてしまっているようでした。
再度、設定しなおして解決しましたが、問題の関連性は不明です。
0 notes
Text
Datepicker for Bootstrap で、設定の違う複数のカレンダーを利用する
datepicker を利用するにはクラス名に"date"を使用しなくてはならないので、 日付カレンダー: class="date day" 月カレンダー : class="date month" などにしておく。
スクリプトでカレンダーの設定をするとき
$('.date.day').datepicker({ format: 'yyyy-mm-dd', language: 'ja' }); $('.date.month').datepicker({ format: 'yyyy-mm', language: 'ja' });
0 notes