日本に割り当てられたIPアドレス以外は拒否する

48979060
あるサーバーで海外からの不正アクセスが多い為、WEB管理画面へのアクセスを日本以外からの アクセスを全て拒否して欲しいという依頼があり、とりあえずIPアドレスの国別割り当てを 以下5つの組織から取得。 IPアドレス割り当て範囲取得URL 'APNIC' => 'ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-latest', '...
続きを読む

iPhoneやiPadでFTPやSSHを利用する

Webの開発会社は、緊急対応で休日も作業をしなければならないことが多いのです。 緊急時に家や近所にいたならば、自宅で作業を行えますが、旅行中やデート中に緊急対応が入ると 困ってしまいますよね。 旅行であればパソコンを持っていけば良いのですが、デートにパソコンは邪魔ですよね。 旅行だって、できれば身軽で行きたいものです。 そんな時、iPhoneやiPadでちょっとした作業ができれば...
続きを読む

fgetcsvにはまる・・・何度もね。

PHP5になって、サーバのロケール設定に無い文字コードをfgetcsvで扱うとおかしくなるのは 有名な話ですが、PHP4時代の残骸によって、今だにはまってしまいます。 しかも今回は、エラーや文字化けではなく、ある条件によってその行が抜けるというもの。 ある条件はまた時間がある時に調査&報告するとします。 csvファイルを扱うときは、だまってfgetcsv的なところがありましたが、も...
続きを読む

YouTube Data API V3 での動画のアップロード

20150512
API利用の目標は、googleが用意している各種言語のライブラリーを利用せずに、Youtube APIを 利用することだったので、かなりの遠回りをしながら試行錯誤しました。 最終的には、Youtubeに動画をアップロード。 もちろん、事前にPHPライブラリーを利用してアップロードが出来ることを確認しています。 結果として、プログラム完了しましたが、はまりどころとして phpでcurl...
続きを読む

良く使うAjaxメモ

20150508
今回は久々にスクリプトのお話です。 個人的に、僕はAjaxが嫌い、というかJavaScriptが嫌いです。理由は当然、ブラウザによって挙動が違うからです。こう思う人、結構いますよね。 リリース後の誤動作や検証コストを考えても、開発現場では、JavaScriptを使わなくても実現できるならば使わないべきと僕は考えています。 簡単なものであれば良いんですが、複雑になればなるほど問題が...
続きを読む

itunesのapiで楽曲IDを指定して曲の情報を取得する方法(jQuery使用)

20150430
itunesのapiで、該当の一曲の情報のみを取得する方法を調べていたので備忘録。 ①曲IDの取得(手動) もちろんapiをつかって単語検索したものの曲idを取得することも可能ですが 今回は決め打ちで「その曲の情報のみ」を取得したいので、itunesストアから手動でコピペしてきます。 取得したい曲を検索し、価格の欄の右側に「▼」があると思いますので そちらをクリック→リンクをコピ...
続きを読む

SQLインジェクション対策やエラー処理

20150403
プログラム改修でよく目にするのが、簡易SQLインジェクション対策でシングルクオーテーションで 値を囲っていても、数値項目や値の範囲チェックをしていない事が多くある。 ご存知のようにシングルクオーテーションだけでは不十分です(詳細なパターンは多くのサイトで 解説されているので検索してみてください)。 DBアクセスでSQL発行する場合にはSQL構築の前に、 1.数値項目はは、数値...
続きを読む

再帰的に実行 | PHP

名称未設定-1
PHPでPOSTでされた値に変数と配列が混ざっている場合に、すべての値を再帰的に実行したい場合があります。 例えば入力フォームの確認画面などにPOSTした値をhtmlentitiesして出力する場合など。 すべての値をhtmlentitiesして、ついでに第3引数をtrueにするとnl2brする関数のサンプルです。 なお、引数の配列を上書きしてしまいますので注意してください。 ...
続きを読む

電子メールアドレス

013
電子メールアドレスの書式チェックをした後に、サーバ側で DNSのMXレコードを問合わせ、見つからない場合はAレコードを問合わせる。 というのが、仕様で受信サーバのチェックとしていたが、ひとつ 疑問が残る。 RFC2821 5. Address Resolution and Mail Handling にて The lookup first attempts to locate ...
続きを読む

コマンドって便利ですよね~

変数名、定数名、関数名・・・ 最も適したものに命名することは、永遠のテーマだと思っている私ですが、仕様決めの段階でそれが決まっていたとしても、作りながら変更したくなってしまいます。変更したくなったら最後、いくら面倒でも全ファイルのそれをすべて変更しちゃいます。 こんな優柔不断な僕でなくとも、変数名を間違えてたり、あの関数やあの記述ってどこファイルに書いてあったっけ?など、そんな時っ...
続きを読む