[メモ]特定のディレクトリをhttpsへ[memo]

連投・・・

仕事で入力系がある箇所をhttpsにし、それ以外をhttpとしたいという感じになったので、調べた・・・

結構な数のファイルがあるので、対象のページへのリンクをhttpsにしたりhttpにするというのは、ちょっとアフォな感じだったので、mod_rewriteを使用する方向で。

htdocs直下の.htaccessに以下のように記述

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{SERVER_PORT} 443 #httpsでアクセスがある場合にhttpへリダイレクト
    RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

httpsにしたいディレクトリの.htaccessには以下のように記述

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{SERVER_PORT} 80 #httpでアクセスがあった場合httpsへリダイレクト
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

ただし、共通で使用するファイルなどがある場合(たとえば、cssやjs、画像ファイル)、そのディレクトリの.htaccessは以下のように記述すると、どちらからのアクセスであってもhtdos直下で設定した.htaccessに影響されないようになる。

<IfModule mod_rewrite.c>
    RewriteEngine off
</IfModule>

これを設定しないと、httpsでアクセスしているページでの読み込みでセキュリティエラーになる。chromeだとファイルがよみこまれないようなるなど・・・IEだとアクセスする度にセキュリティが~といわれる・・・orz

ということで、上記のように書くといいらしいです。

スポンサーリンク

[メモ]プログラムによるpdf出力[memo]

久しぶりに・・・
書く時はいつも久しぶり・・・

IEでSSL環境下の場合にPDFファイルをプログラムで出力すると、セキュリティがうんたらかんたらと言われるというのがある。

IE意外だと以下のように書くと普通に出力(表示)される。

header('Content-type: application/pdf');
readfile('original.pdf');

IEだと以下のヘッダーがないと上手くいかない

header("Pragma: public"); //<----- これ
header("Cache-Control: public, must-revalidate"); //<----- これ
header('Content-type: application/pdf');
readfile('original.pdf');

※たぶん古いIEで出る現象だったきがする・・・

スポンサーリンク

[メモ].htaccessで、IP制限+Basic認証[すぐ忘れる]

久しぶりの更新だけど、自分用のメモです。。
いつも使うくせに忘れてしまうという・・・orz

AuthType Basic
AuthUserFile “パスワードファイルまでの絶対パス”
AuthName “Please input your coins’s Account & Password”
Require valid-user

Satisfy Any

Order Deny,Allow
Deny from all
Allow from 192.168.0.0/16

apache2.4以降
AuthType Basic
AuthUserFile “パスワードファイルまでの絶対パス”
AuthName “Please input your coins’s Account & Password”
Require valid-user

Require all denied
Require ip 192.168.0.0/16
#Require valid-user

スポンサーリンク

[Facebook]Fbページのカバー画像[メモ]

かなり久しぶりの更新です。

Facebookページのカバー画像についてちょっとしたメモを・・・

graph APIでカバー写真のデータを取得できるのですが、サイズが合わないものがあります。。。
現在のカバー写真のサイズは、851×315で表示されるようになっているらしい。

graph APIで取得したイメージは丁度のものから、縦サイズが大きいものがあったりします。
縦サイズが大きい場合、大抵cover.offset_yに値が入っています。

で、ピクセル的に何ピクセルのoffsetかというところになるんですが、、、

その計算式をメモしておきます。。

まず、ソースの縦横サイズを取得
$size = getimagesize($data[‘cover’][‘source’]);

で、オフセットの取得
$offset_y = ceil($data[‘cover’][‘offset_y’]/100*((851/$size[0]*$size[1])-315));

$url = str_replace(“/s720x720/”, “/c0.”.$offset_y.”.851.315/p851x315/”, $data[‘cover’][‘source’]);

とりあえずここまで・・・

スポンサーリンク

[メモ]PHPでアップロード進捗状況がわかるらしい[未検証]

とりあえず、↓こんなのを見つけたので後で実験してみる。
セッションのアップロード状況

コレができるなら、もう少し面白そうなuploaderが作れるのでは?とか思ったりします。

追記:
php5.4.0以降から使えるのか・・・・
ちょっとめんどうなので、またの機会だな・・orz

スポンサーリンク