携帯サイトではIPアドレスで制限するのが一般的です。
簡単にやるには、.htaccessにallow from で各社のIPアドレス帯域を記載していけば良いのですが、PCなど他から来たときにはリダイレクトでPCページですよ、などの対処があると楽です。403エラーになるので、そこでURLを指定。
htaccessでは以下のように書けば、OKです。
ErrorDocument 403 http://koyamataro.com/….403.html
order allow, deny
deny from all
allow from IPアドレス帯域
allow from IPアドレス帯域
参考URL
ドコモ IPアドレス帯域
http://www.nttdocomo.co.jp/service/imode/make/content/ip/
AU ezweb IPアドレス帯域
http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html
ソフトバンク IPアドレス帯域
http://creation.mb.softbank.jp/web/web_ip.html
特定のホスト(IPアドレス。プロバイダ)からのアクセスを制限する
http://www.shtml.jp/htaccess/host.html
apache 2.0でIPアドレスによるリダイレクトは可能か?
http://q.hatena.ne.jp/1159960161
apacheドキュメント ErrorDocumentディレクティブ
http://httpd.apache.org/docs/2.0/ja/mod/core.html#errordocument

前回は、空メールを送ったらPHPが起動し、指定したメールアドレスに内容をそのまま送るところまでいきました。
今回は、サーバ側で届いたメールの内容を解析したいと思います。
とりあえずfromから来たメールアドレスで主要3キャリアを判別しましょう。
Read more… »
携帯でWebサービスに会員登録するのに一般的な方法は、以下のような感じかと。
1.サイトにアクセス
2.登録ボタンを押すとメールが開く
3.そのまま空メール送信
4.すぐにメールが届き、中にURLが書いてある
5.URLにアクセスして登録完了
今回は、さくらインターネット上で3をした後、サーバ側で4のメールを送るまでを記載します。
Read more… »
メモ。
WordPress3.0をベースに進めます。
WordPressでサイトを作成して、ソースを表示すると、metaに
<meta name=”generator” content=”WordPress 3.0″ />
というような1行が表示されます。
こういうのは、defualt-filters.phpでやっているようです。
wp-includes/default-filters.php L.196付近
をコメントアウトすればでなくなります。
//add_action( ‘wp_head’, ‘wp_generator’ );
三菱 Diamondcrysta RDT232WX-S 23インチフルHD IPS方式グレアパネルをNTT-X Storeで購入したら、5/26日に到着しました。
設置すると色は気になるものです。
カラープロファイルを設定しましょう。
購入しても箱の中にはCDが入っていないことが珍しくありません。
今はダウンロードするようになっています。
三菱ディスプレイ:ユーティリティーファイル

現在、さくらインターネット スタンダードプランを借りてますが、10Gあってもなかなか使い切ることは出来ません。
そこで、一部をYahooブリーフケース(古い!?)のようなファイル共有サーバとします。
誰もが置けるのもなんなので、ログインした人だけがアップロード、ダウンロード出来るようなものを。
PHP Navigatorを入れてみます。
http://navphp.sourceforge.net/
Read more… »
Androidアプリ開発をするための準備を。
結構インストールするものがあります。
最低限、EclipseとAndroid SDKを設定すればアプリは開発出来ますが、CygwinとNDKを入れないと、アプリのパフォーマンス的には厳しいでしょう。
Javaアプリは所詮VM上で動くもの。しかも携帯端末のような非力なハードでは、いかに処理速度を上げるかが肝なので、SDKではGUIのみ、NDKでGUIから呼ばれた処理を行うライブラリを作るのが、今後一般的になると思います。
つまり、Androidアプリ開発は、JavaとC/C++を知ってる必要があるってことですね。
うーん、iPhone開発のほうが実は楽なのかもしれませんね・・・
Read more… »
Canonのレーザプリンタ LBP3800をネットワークでつなぎ、誰でも印刷できるようにします。自分のためのメモ
NetSpotDeviceInstallerをインストールし、LBP3800を設定
LBP3800マニュアルを以下からダウンロードし、2章「TCP/IPネットワークで使用するために必要な作業」を見る
http://cweb.canon.jp/manual/lasershot/pdf/3800-3700-nwg.pdf
LBP3800の電源を入れ、ネットワークをつないだ状態で、NetSpotDeviceInstallerをインストール&起動します。
ダウンロードは以下から
http://cweb.canon.jp/drv-upd/netspotsuite/nsdi/nsdiwin7.html
プリンタドライバをインストール
設定したら、LIPSLXをインストールすればプリンタを追加したことになります。
ダウンロードは以下から
http://cweb.canon.jp/drv-upd/lasershot/drv_winxp.html
※自分のWindows7 64bitではインストーラが起動しなかったが・・・
参考リンク
LBP3800リサイクルトナー(ヤフオクのが安い)
http://www.t-v-s.com/
CKEditorのツールバーをカスタマイズしてみます。
複数のCKEditorを1ページに用いることも可能で、それぞれ異なるツールバーを入れることも考えてみます。
各CKEditor用config.jsを用意する
独自のCKEditor用config.jsを用意すればOKです。
流れとしては、
1.独自config.jsを作成し、その中にtoolbar設定を書く。
2.CKEDITOR.replace()時に、1で作成したファイルをcustomConfig: で呼ぶ
だけです。
では、まず独自config.jsを作りましょう。ファイル名はedit1config.js とします。
JAVASCRIPT:
-
//設定をするものであり、toolbarだけでなくいろんな設定をここで行える
-
CKEDITOR.editorConfig = function( config )
-
{
-
config.toolbar = 'CustomToolbar'; //CustomToolbarという名前にしてみた
-
config.toolbar_CustomToolbar =
-
[
-
['Preview'],
-
['Cut','Copy','Paste','PasteText','PasteFromWord'],
-
['Undo','Redo','-','RemoveFormat'],
-
['Image','Flash','Table','HorizontalRule','SpecialChar'],
-
'/',
-
['Styles','Format'],
-
['Bold','Italic','Strike'],
-
['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
-
['Link','Unlink','Anchor']
-
];
-
};
で、 edit1テキストエリアに上記config設定をしたCKEditorを組み込みます。
参考リンク
CKEditor API documentation
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html
CKEditor Developers Guide
http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Toolbar
まるひろの独学-者(どくがくもん)の独り言の記事
http://ameblo.jp/dokugakumono/entry-10400796859.html
CKEditorで入力フォームを作ります。
form.php で入力(CKEditor、CKFinder付き。前回参照)
conf.phpで確認。戻るでform.phpに戻るようにして、form.phpにはPOSTで入力していた情報をデータとしてセットする。
を行います。
form.phpで入力と戻ってきたときのデータをセット
- form.phpでは、CKEditor(CKFinder含)をセットし、formタグで囲み、action="conf.php" method="post"にします。
- conf.phpで戻ってきたときに入力していたデータをセットします。
1.は普通にCKEditorを組み込めれば、フォームと同じです。
2.では、textarea name="editor1" だったとすると、editor1にPOSTで戻ってきたデータをセットすることになりますが、CKEditorの準備が完了してからセットしないと反映されません。
イベントinstanceReadyを使い、準備が出来た時にセットするようにします。
JAVASCRIPT:
-
<script type="text/javascript"> //<![CDATA[ CKEDITOR.on(\\'instanceReady\\', function(e) { var tmpEditor = CKEDITOR.instances.editor1; tmpEditor.setData( \\'<?php echo ; ?>\\' ); });
-
-
//]]> </script><script type="text/javascript">
-
//<![CDATA[
-
CKEDITOR.on('instanceReady', function(e) {
-
var tmpEditor = CKEDITOR.instances.sentence;
-
tmpEditor.setData( '<?php echo $sentence; ?>' );
-
});
-
-
//]]>
-
</script>
渡すデータは、改行などをあらかじめ削除しておきます。
PHP:
-
$sentence = $_POST['editor1'];
-
これで、CKEditorの準備が出来た時に、$_POST[''];のデータをセットすることが出来ます。
参考URL
CKEditor 3 JavaScriptAPI Documentation
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.html