DNS問い合わせ

PHPでDNS問い合わせをソケットを使って試す。 https://www.ietf.org/rfc/rfc1035.txt とにもかくにも厄介なのが、PHPでバイナリデータを扱うのに四苦八苦する。 とりあえず、DNSでAレコードの問い合わせを簡易的に作成。 今回は、DNSの応答ヘッダのみ出力するところまでを作成。 もちろんヘッダのみなので、肝心のIPアドレスを表示するまでには至っ...
続きを読む

MOJO

Chord Electronics 社の Mojoが日本でも発売された。 興味を引かれたのは、ポータブルアンプとしては勿論だが、何よりもFPGAを利用したアンプが この価格帯で手に入る事です。 FPGAはXilinx(ザイリンクス)社の Atrix7 。 知る術はありませんが、どんなアルゴリズムでどうプログラミングされているのか全容を知りたくなる。 私はオーディオマニアでも何でもないので...
続きを読む

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

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

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

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

再帰的に実行 | 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 ...
続きを読む

php bool値をそのまま演算

20150331
前の記事で 「作ったコードをささっとストック」とあったが滅多にストックしないので効率の悪い 制作になる事もある。 ストックしようと思って過去の同じ機能のソースを追うと・・・・ これが結構違っていて、やはり新しいコードの方が作りとして進化しています。 ストックしない方が良いコードになるケースが多い事に気付きました。 だからと言ってストックしないわけではなくライブラリーやSQL、フレー...
続きを読む

PHPセッションでうっかりミスにご注意を!

1
CMSなどの管理ページを作成する際、PHPのセッションを利用することは多いと思いますが、みなさんはどのような手順で利用していますでしょうか。きっと「session_start()」して、「$_SESSION」へデータを入れたり見たりして、最後はある方法で破棄して、という感じでしょう。(ある方法はまた後日) まぁ元々こういう使い方なんで当然と言えば当然ですよね。普通に利用する分には特に問題は無...
続きを読む

あいまい検索 前方一致

前に会社で作成したCMSで色々なデータを入力、管理できるものを作成したのですが、 そのCMSで入力したデータ内から、前日入力した件数を表示させたいという依頼がありました。 ぶっちゃけ簡単だろうと思ってましたが・・・ まず前日のデータを取得するために、前日の日付を取得することからはじめます! 徐にブラウザを立ち上げ、Google先生に質問します「PHP 昨日の日付」・・・ 色々な方...
続きを読む

PHP 連想配列の書き方注意

php で連想配列を記述するときに、 $data[name] と、シングル、ダブルクォートを省略して記述するのは、間違い。 define との関係で思わぬバグになる事がある為。 例えば、 define('name', 'watanabe'); という定義があった場合に、 $data[name]は、 $data['watanabe'] と置き換えられる。 もし、name とい...
続きを読む