HSTS に対応してもHTTPで接続してレスポンスで判断はする。
ブラウザ側でできれば最初から判断してほしいって事で Chrome 側で判断してもらうには
HSTS (HTTP Strict Transport Security) の導入
を見ると https://hstspreload.appspot.com/ から登録すれば良いみたいなので早速登録してみました。
確認はChromeブラウザで chrome://net-internals/#hsts の Query Domain でOKみたい。
2016年11月22日火曜日
2016年6月28日火曜日
CakePHP3 フォーム利用せずに hasMany 指定のテーブルに追加して save する
何か意味不明なタイトルになりましたが。。
今回シェル内でhasManyに指定されたTagsにデータを追加する事をsave一つでやりたかったんです。
何かしっくりこない気がまだしていますが、とりあえずこんな感じかな。。
今回シェル内でhasManyに指定されたTagsにデータを追加する事をsave一つでやりたかったんです。
何かしっくりこない気がまだしていますが、とりあえずこんな感じかな。。
$article = $articles->get(1, ['contain' => 'Tags']); $data = $article->ToArray(); $data['tags'][] = [ 'name' => 'Tag Name', ]; $articles->patchEntity($article, $data, ['associated' => 'Tags']); $articles->save($article);
2016年6月3日金曜日
iOS PowerPointファイルをsafariで開いて戻るとフォントが大きくなっちゃった!
そう、そんな時はこれ!
上記を指定してあげれば対応できました。
body { -webkit-text-size-adjust: 100%; }
上記を指定してあげれば対応できました。
2016年5月29日日曜日
Chrome で Selenium を利用する
FireFox の拡張機能で提供されてる Selenium を Chrome でも使いたい。。
けどまだ Chrome ウェブストア の 拡張機能(https://chrome.google.com/webstore/category/extensions) で提供してくれない。。
しばらく待ってたけど、まだ提供されないので、もう 検索したら良く出てくる WebDriver 入れてFireFoxの拡張機能から実行するってやつ入れちゃいました。。
http://www.seleniumhq.org/download/
今回は D:\app\selenium\server というフォルダーを作成して、そこの以下を保存。
※ Selenium 立ち上げたらFireFoxのブラウザ側は閉じてもOK。
何か問題があれば、Seleniumのログとコマンドプロンプトを確認する。
けどまだ Chrome ウェブストア の 拡張機能(https://chrome.google.com/webstore/category/extensions) で提供してくれない。。
しばらく待ってたけど、まだ提供されないので、もう 検索したら良く出てくる WebDriver 入れてFireFoxの拡張機能から実行するってやつ入れちゃいました。。
簡単に手順まとめ
- ダウンロード
- 設置
- サーバー起動
- FireFox起動
- テストケース実行
手順
ダウンロード
Selenium - Downloadshttp://www.seleniumhq.org/download/
必要なファイル
- Selenium Standalone Server (version 2.53.0)
- The Internet Explorer Driver Server (version 2.53.1)
- Third Party Drivers, Bindings, and Plugins > Google Chrome Driver > 2.21 > chromedriver_win32.zip (version 2.21)
※ ()内は自分が入れた時のバージョンです。
設置
設置はファイルをどこかに置くだけの簡単な作業今回は D:\app\selenium\server というフォルダーを作成して、そこの以下を保存。
- selenium-server-standalone-2.53.0.jar
- IEDriverServer.exe
- chromedriver.exe
サーバー起動
コマンドプロンプトを立ち上げて、以下を実行するとサーバーアプリが起動する。D: \ cd \app\selenium\server \ java -jar selenium-server-standalone-2.53.0.jar -Dwebdriver.ie.driver=.\IEDriverServer.exeこれでサーバーは起動する。
FireFox起動
FireFox を起動して Selenium を立ち上げる。※ Selenium 立ち上げたらFireFoxのブラウザ側は閉じてもOK。
テストケース実行
後は、いつも通りテストケースを実行すると、Chromeのウィンドウが新規作成されて、実行されていく。何か問題があれば、Seleniumのログとコマンドプロンプトを確認する。
2016年5月25日水曜日
CakePHP3 文字数チェックで改行コードがWindowsの時は2文字扱いになる
簡単に予想するからに
Macintosh CR
Linux LF
って感じで Windows だけ2バイトになってるからだろう。。
って事で Validation.php を確認すると
環境別改行コード
Windows CR+LFMacintosh CR
Linux LF
って感じで Windows だけ2バイトになってるからだろう。。
って事で Validation.php を確認すると
public static function maxLength($check, $max) { return mb_strlen($check) <= $max; }やっぱり。。 って事で AppController.php(デフォルトでは無い?) の initialize() に
array_walk_recursive($this->request->data, function(&$item, $key){ // 改行コードをLFに統一 $item = preg_replace("/\r\n|\r|\n/", "\n", $item); });
を追加して今回は対応。
2016年3月21日月曜日
Bootstrap3 と jQuery UI のtooltip が衝突してる
jQuery UI の tooltip 使おうと思ったらなんか想像とは違う結果が。。
って事で調べたら Bootstrap にも同じJS関数が用意されていてそいつを上書きしてしまっている様子。
という事で以下のように記述して、jQuery UI の方を uitooktip という名前で利用できる事を見つけたので、これで対応。
2016年3月1日火曜日
JavaScript n日ごとに開始位置を切り替える
PHPでやるのも面倒なので、JavaScriptで実装。
4日毎だとして、
こんな感じかな。
4日毎だとして、
var start = Math.floor(Math.floor(new Date().getTime() / 1000) / (60*60*24)) % 4; console.log(start);
こんな感じかな。
2016年1月8日金曜日
CakePHP2 & CakePHP3 の alphaNumeric は日本語も通過する
CakePHP2 & CakePHP3 の alphaNumeric が日本語も通過しちゃうので、内容を確認したメモ
\p{Ll} | 小文字アルファベット
\p{Lm} | 擬似文字
\p{Lo} | 大文字小文字の区別や修飾文字を持たないその他の文字
\p{Lt} | タイトル文字
\p{Lu} | 大文字アルファベット
\p{Nd} | 多言語における10進数字
この修飾子を設定しない場合、ドル記号は、 検索対象文字列の最後の文字が改行文字であれば、その直前にもマッチします。
この修飾子は、m を設定している場合に無視されます。
Perl には、この修飾子に等価なものはありません。
パターンと対象文字列は、 UTF-8 として処理されます。
この修正子は、UNIX では PHP 4.1.0 以降、Win32 では PHP 4.2.3 以降で 使用可能です。
また、PHP 4.3.5 以降では、パターンの UTF-8 としての妥当性も確認されます。
な対象文字列を preg_* 関数に渡しても、何もマッチしません。
無効なパターンを渡すと、E_WARNING レベルのエラーが発生します。
5オクテットおよび6オクテットの UTF-8 シーケンスは、PHP 5.3.4 以降 (PCRE 7.3 2007-08-28 以降) では無効とみなされます。
以前のバージョンでは、これらも UTF-8 として有効だとみなされていました。
※ 上記説明解りにくい人はこのサイトの説明見たら解るかも?
http://pentan.info/php/reg/use.html
ソース
public static function alphaNumeric($check) { if (is_array($check)) { extract(self::_defaults($check)); } if (empty($check) && $check != '0') { return false; } return self::_check($check, '/^[\p{Ll}\p{Lm}\p{Lo}\p{Lt}\p{Lu}\p{Nd}]+$/Du'); }
パターン
http://php.net/manual/ja/regexp.reference.unicode.php\p{Ll} | 小文字アルファベット
\p{Lm} | 擬似文字
\p{Lo} | 大文字小文字の区別や修飾文字を持たないその他の文字
\p{Lt} | タイトル文字
\p{Lu} | 大文字アルファベット
\p{Nd} | 多言語における10進数字
パターン修飾子
D (PCRE_DOLLAR_ENDONLY)
この修飾子を設定すると、パターン内のドルメタ文字は、検索対象文字列の 終わりにのみマッチします。この修飾子を設定しない場合、ドル記号は、 検索対象文字列の最後の文字が改行文字であれば、その直前にもマッチします。
この修飾子は、m を設定している場合に無視されます。
Perl には、この修飾子に等価なものはありません。
u (PCRE_UTF8)
この修正子は、Perl 非互換な PCRE の機能を有効にします。パターンと対象文字列は、 UTF-8 として処理されます。
この修正子は、UNIX では PHP 4.1.0 以降、Win32 では PHP 4.2.3 以降で 使用可能です。
また、PHP 4.3.5 以降では、パターンの UTF-8 としての妥当性も確認されます。
な対象文字列を preg_* 関数に渡しても、何もマッチしません。
無効なパターンを渡すと、E_WARNING レベルのエラーが発生します。
5オクテットおよび6オクテットの UTF-8 シーケンスは、PHP 5.3.4 以降 (PCRE 7.3 2007-08-28 以降) では無効とみなされます。
以前のバージョンでは、これらも UTF-8 として有効だとみなされていました。
※ 上記説明解りにくい人はこのサイトの説明見たら解るかも?
http://pentan.info/php/reg/use.html
処理内容
つまり上記文字のどれかが1回以上利用された文字だけで構成されたものかをチェックする
登録:
投稿 (Atom)