技術一覧

一見、もっともらしい嘘回答のケース

Googleの日本語検索の精度の低さの話です。

例えば、PHPプログラミングしていて、ページリダイレクトした際、リダイレクト前のページのURLを取得するのって何だっけかな?と確認の為に日本語で検索してみた結果が下画像です。

 

検索結果の最初のリンクを辿ると、ヤフー知恵袋でした。まあこの知恵袋は、ネットの一部でクソ回答の宝庫と揶揄される程、役に立たない回答の温床となっているとかいないとか。

質問としては、調べたかったものと合致しています。回答に期待したいところです。

 

そして、下の画像がベストアンサーとなっています。

回答の書き方からして捻くれたというか、出だしから質問を質問で返すことから始まっているのはまあヤフー知恵袋でありがちなご愛嬌として、結論は

$_SERVER['REQUEST_URI']

を使えば良いとあります。

ですがこれ、全くの嘘回答です。

REQUEST_URI は、リダイレクトした先のURLを取得するもので、正解は、

$_SERVER['HTTP_REFERER']

でないと、リダイレクト元のURLを取得できません。

検証すれば簡単に結果が出るものですが、回答者は無責任に検証せずに回答しているのですね。しかも上から目線でもっともらしい回答で嘘って、なんなのかと。

この事例だけでなくヤフー知恵袋だけでなく、日本語で技術系の疑問を検索すると、こういう検索結果が多いのです。グーグル社の本社に日本人エンジニアが極めて少ないので、英語の検索精度と比べ日本語の検索精度が極めて低いのが現状です。

日本のエンジニアが頑張って、グーグルを超える日本語サーチエンジンを開発して欲しいものですが、残念ながら少なくともここ10年は無理なのでしょうね。


Crome で閲覧サイトの SSL証明書を確認する方法

インターネットの通信内容を暗号化して、ユーザ端末と接続サーバ以外の第三者へデータ漏洩を防止するのが SSL暗号化通信の役目です。

SSL通信のWebサイトにアクセスすると、下図のようにブラウザのURLの左側に鍵マークが表示されます。


【参考】DigiCert社のサイト

以前は、鍵マークをクリックすると SSL証明書を確認する事ができましたが、最新版 Chrome では、何故かデフォルトで見ることが出来ない仕様に改悪されていました☹️

これでは不便なので、以下、Chromeで SSL証明書を確認する方法を書きます。

設定手順

1. Chrome の URLバーに下記を貼り付けます

chrome://flags/#show-cert-link

2.Show certificate link Mac, Windows, Linux, Chrome OS 欄 の「有効にする」をクリックします
※ 有効になっている場合は「無効にする」と表示されています

3.Chrome を再起動します

4.アクセスすると、今度は「証明書」が表示されているので「有効」をクリックします

5.証明書が表示されます。

以上、Chrome でSSL証明書を確認する手順を紹介しました。

それにしてもグーグルさん、できればデフォルトで証明書表示がオンの仕様に戻してくれませんかね?


デジタル写真のファイル名を一括で撮影日時に変更するツール【NAMEXIF】

Windows OSの場合、NAMEXIF というフリーウェアを使えば、大量ファイルをまとめて一括で Exif のタイムスタンプの日時に変更する事ができます。

Namexif: Rename Photos or Videos to EXIF date
Namexif is a software to rename photos or videos by date and time based on EXIF. It's a bulk EXIF renamer.

秘密鍵の作成

OpenSSLを使って秘密鍵を作成するのは、コマンド一発です。下例は 2048 bit 強度 RSA秘密鍵の作成コマンドです。

$ openssl genrsa -out private.key 2048

実行例

$ openssl genrsa -out private.key 2048
Generating RSA private key, 2048 bit long modulus
………………………………………………..+++
………+++
e is 65537 (0x10001)

作成されたか確認(サンプル)

$ cat private.key
—–BEGIN RSA PRIVATE KEY—–
MIIEpQIBAAKCAQEAx3SaJdDxIAgdlC2rRETvWokFgfEruTKNFp3LzBDuh0cSYHqB
s1rWHsIGFf2uPOSiq7M6Plr8ClccWQJjw1T0b8JVIv9dqOKk5grhBstrvVT9H39Y
BSH3f89XE62UFoMIpbk4tfZV+O8CSZpyV5iAwmw3mgwL3LJlC3i3nkDg9QP3vBNv
m3ZbzCnRRCuwXOvKjNF3NRgTAnxnnIPHizBJuiV9iC75vOL3uyq4EciWgCBF5Yn6
VyhPuDOSWOK3PGoVGRIhxC0FC/W0NVvW+F5llszuioYKXvZ6LGKAph0urJLDA5Xm
PXTkCVYZaaKlHPi13EGNWQxlPHwsNnw9Ss+o3wIDAQABAoIBAQCmMnnzwtv5FeoX
u8o3M73CUeSd9yi4w++ehdP4ca9gV49vhwUmPy2mKYRKtLyIDvehXNHOfaAAub9s
R7p7XAHmUicA54rSnDBNY4lIUR6wf+3/XewpMrl57XogcoWwEHWXKfSgYugWaooc
bK6UYQYBe40FNr53osrhuTA/lM4eOjxasbGFLLHznWpi9RS16FgosYdc7XC48Vxx
n2zuTztQn254kNNfXCHN7R/jNMPHSfALW4HIwrwsiEhvKxeWMGcrxfUAANk3mJxo
30VBDtZMSaXqprMhee2Pf8/lSdgPHo1xnghLgzHF15FCwVKm7gOR74Vhi8/iBeEH
ClP0F0+RAoGBAOnDAV6QXJoAuQB9IQm1pBl3inheOG/TK98dAZlh1a/j7oPEIxla
BY8OkraCYJVkosuLkQWIpvgCjgQ73coqSS+jj+wuIxrVHyX4vGqqYlphV2sJiM+y
A50kv5WgMNswWR2JuzGnTVoT+b6B82JZt36yKE9J21BLYwsckRRXlf1ZAoGBANpu
G5Yt9ptUSY36b+8b9zIrDdACkylAYMeQaK4t30wuz+Eov/dRgg0FdkvmHpU8COEu
6DhL9He5+eURC0BLFN2VIxkgTufAQScx8zCnlCd4rvGgER7w+V/q+30l+H1QuAde
CfgNRV8FpRPb2rhbVxsCYyBhTusIceOkxFqRuvj3AoGBAKJyIHZ9rcxbqjSbwCTG
NJZ6CyEgoOmc/0TaHG1hnqTPqcWpvJZ2h5xljTEFo2bN+4+lmo8U6qs440Yv8C34
esl/SZngagbQigfSNeWOKDEUqjI4+vkShQ5kJjstiiYYECXFu++Ciu+JKCnqlp8H
J8wEtJx8/8ppyRdEr9FKGHJpAoGBAJchsiKyALwukIoU6pfVkK78jR0MewgCzDOo
XlWN1b+fcCQJDvGvSr15twUC3sxA8p/j1bcGDss8OYRdy5wblv9NrjA3Y4EES9Az
xmE2wdKhtOHn75CqCNFuA73upMUIMZyfW2Ruwj3h6PsZlncSc+1zNGT2DyWd/TcW
DOnhhS23AoGAXgSnDk0rn86rI6XCXP3zby26+XwJhEwKXav4PQO2ej7AaXcdVdu+
c1+1S8pAyXOw4GOwHBrPGfYH5LsG/wni4rIvS6TK5sawqWI/WNlHvWGlRrXJFcaU
W0pb4WaCuDsBGIMDo2Dx5aHM+y8Jromzla7uB2lddEQ/eOxjp7XaW+M=
—–END RSA PRIVATE KEY—–

以上です。


マイ ジェネリックトップレベルドメイン (gTLD) のレジストリビジネスの考察

キヤノンは、2016年5月に .canon のジェネリックトップレベルドメイン(generic Top Level Domain = gTLD)を獲得して、オフィシャルサイトに http://global.canon を使用開始しました。

gTLD を獲得すれば、 abc.canon、 123.canon など、セカンドレベルドメイン以降、自由にセルフ発行できるようになります。

そしてキャノンだけでなく、世界多くの企業が独自 gTLD の取得をしていますが、費用的に幾ら掛かるのでしょうか?

日本でドメインを管理しているのは JPNIC(一般社団法人日本ネットワークインフォメーションセンター)ですが、トップレベルドメインを管理しているのは、ICANN(The Internet Corporation for Assigned Names and Numbers)「アイキャン、ネイティブっぽい発音だとアイカン」という国際組織(法人登記的にはアメリカ合衆国カリフォルニア州法下の非営利団体)です。

ということで、新 gTLD の申請を審査するのも ICANN の仕事ですが、審査費用が 185,000 米ドルとなっています。
無事 gTLD の審査に通過し、許可された場合、年4回 6,250 米ドル = 年間 25,000 米ドルの使用料を ICANN へ支払う必要があります。ドメインの登録は自由に出来ますが、ドメイン毎に手数料が発生し、登録時および毎年の更新時に 0.20 米ドルが発生します。さらにドメイン数が5万件を超えた場合、ドメイン毎に年4回 0.25 米ドル = 年間 1.00 米ドルの費用が発生します。なので、もし独自に新たな gTLD を取得して、そのドメインを発行するビジネスをする場合、1,000ドメインを発行できる見込みなら、27 米ドル(日本円換算 2,970 円程度)あたりが損益分岐点(初期費用は除く)、10,000ドメイン見込みなら、3.7 米ドル(日本円換算 407 円程度)が損益分岐点となります。

GMOの運営している「お名前ドットコム」でも、 gTLD ビジネスをやっていて、.shop ドメインを販売しています。初年度299円(税込322円)だそうですが、勿論、年間299円ではどう足掻いても黒字にはできません。なので、2年目以降はしっかり利益確保で年 3,980円(税込4,298円)となります。これなら、仮に10,000ドメイン登録の場合 4,000万円の収益で ICANN 使用料は gTLD維持費 25,000 + 更新 2,000 = 27,000 米ドル = 300万円なので、3,700 万円残る事になり、まあまあ事業として成立する程度にはなります。勿論、知名度の高い GMO なので、1万ドメインという事はないと思いますが。

勿論、WHOIS システムやドメイン管理システム、DNSサーバなどの構築・運用も必要になるので、ICANN に払う使用料が経費の全てではありません。

以上、簡単に gTLD でのレジストリビジネスに参入する経費面での考察をしてみました。参考になれば幸いです。

ちなみに、ICANN が管理しているわけではありませんが、Public Suffix List で、どんな TLD があるかを確認できます。
https://publicsuffix.org/list/effective_tld_names.dat

※ 当サイトでは、いきなり専門用語を出しますが、すべてを説明していると本題から話が逸れるので、適時省略しています


日本の行政機関サイトのあるある「オレオレ証明書」

ブラウザで閲覧している際に、こんな表示があったら皆さんはどう思いますか?
これ、総務省系の公式サイトです。悪意の第三者にサイト乗っ取りされたわけではありません。
総務省だけでないのですが、どの日本の行政庁も、自作の電子証明書(通称:オレオレ証明書)をWebサイトに使っているのです。

きちんと電子的に信頼された証明書を使うか、オレオレ証明書を国際組織に申請して正規の証明書にして貰って欲しいものです。正直、先進国の行政機関でこれやっているのは我が国だけですから。

「オレやオレや、日本の官庁や!」で国際的、特に電子世界には通用しません。
下図のように、ブラウザからは思い切り怪しまれてしまって、安全なサイトと見なされていませんからね。


最安 VPS (Virtual Private Server) の料金スペック比較

最低月額コストが安い順一覧

名称 月額 初期費用 ストレージ メモリ CPU 追加 IP
Vultr $2.50  0  20GB 0.5GB 1コア $2.00
Linode  $5.00  0  20GB 1.0GB 1コア $1.00
DigitalOcean  $5.00  0  20GB 0.5GB 1コア 未対応
GMO ConoHa  ¥630  0  20GB 0.5GB 1コア ¥350
さくらのVPS  ¥685  ¥1,080  20GB 0.5GB 1コア 未対応

※ 上表の「追加IP」は、1サーバに複数IPを設定したい場合のことなので、通常の1サーバ1IPでの運用時には追加不要です。

Vultr は、上記リスト中では一番新しいサービスです。
サーバリージョンは、日本(東京)、シンガポール、ロンドン、フランクフルト、パリ、アムステルダム、シドニー、アメリカ合衆国は西海岸から東海岸まで8都市という充実のリージョンを配置しています。

支払い方法は、クレジットカードの他にペイパル、ビットコインまで可能とのこと。
最近は、AWS や GCP、Azure などクラウドプラットフォームが主流となっていますが、選択肢は多いに越したことがありません。用途によっては VPS を利用するケースもあるでしょう。

以下、それぞれのサービスの料金表を示します。サーバを立てる際の参考にどうぞ!

※ Vultr は日本国内のユーザの場合、消費税8%が掛かります。

最新の Windows Server 2016 も使えます。月16ドル。

その他、豊富な ISO ライブラリも用意されています。
それだけではなく、もし手持ちの Windows ライセンスがあるなら、「Upload ISO」から自分でISOをアップロードしてインストールする事も可能です。Windows 10 でも可能だと思いますが、ネットで事前にリサーチしてくださいね。Vultaで用意されているWindows Server インスタンスを使うと、毎月16ドルの追加料金が課金されますが、手持ちのライセンスで使うなら、ディスクスペースだけ借りて ISO アップロードしてインストールすれば、この16ドルを節約する事が可能です。これは Vulta だけでなく、どの VPS プロバイダでも同様です。

ブロックポートは下記の通りです。

・サポートに依頼すれば解放されるポート
TCP/25

・サポートに依頼しても解放不可なポート
TCP & UDP/17
TCP & UDP/19
TCP & UDP/1900
UDP/53413

そもそも VPS とは?

既にこのページへ飛んで来ている読者諸兄の皆さんには、今更VPSの解説は不要と思いますが、一応、説明すると、VPS とは Virtual Private Server の略称で、日本語では「仮想専用サーバ」といいます。

仮想専用サーバとは、文字の通り、仮想的(論理的)に独立した専用サーバっぽく使えますよというもので、VPSをレンタルしている管理者から見て、物理的に独立して立てたサーバと同じ気分で使えます。OSも何でもインストールできるケースもありますが、どのプロバイダも数クリックで簡単にOSインストールできる機能を提供しているので、それほど専門知識は要りません。Linux であれば、当然、root 権限が使え、自由に MySql や WordPress から、メールサーバなどもインストールできます。

では、ロリポップなどの共用レンタルサーバと、何が違うのか?
先ず、root 権限がレンサバでは持てません。という事は、勿論、OSインストールもできないし、プロバイダが用意しているアプリケーションしかインストールできません。例えばロリポップの一番安い料金プランだと WordPress が使えませんね、VPS であれば、管理者権限が付与されているので、そういう制約が一切ありません。独自ドメイン数も共用レンタルサーバでは上限が決められていますが、VPS であれば無限(ハードウェアが耐えられるまで)です。管理者権限が無いパワーユーザーレベルの権限で使うのが共用レンタルサーバです。

共用レンタルサーバのメリットは、VPS よりもさらにサーバ知識が無くても使える事と、サーバメンテナンスをプロバイダに任せる事ができる事です。VPS の場合、OSのバージョンアップなどのメンテナンスは自分でやる必要があります。ただ、自分でバージョンアップできるという事は、最新のOSやアプリケーションを使えるというメリットがあります。共用レンタルサーバの場合は、プロバイダが提供してくれるまで最新バージョンはお預けになります。

しかし VPS の場合は、Linux をコマンドラインで操作できないと、使うことは困難です。逆に言えば勉強になるという事です。Linux はディストリビューションによって多少の方言はありますが、基本的には応用が利きます。月250円程度でサーバが使える時代になって有り難いことですね。

AWSの料金は?

AWSの場合、1時間単価で複雑な料金体系なので、VPSや共用レンタルサーバのように毎月◯◯円ポッキリ!とはならないのですが、一例として考えてみます。

ECC (インスタンス) Linux t2.micro ($0.012 x 744時間) $8.93
EBS (ストレージ) SSD (gp2) 20GB $2.00
合計 $10.93

最低金額が上記の金額なので、VPS よりも若干高めですね。AWSのメリットはスケールのしやすさにあるので、用途によって使い分けですね。

国内 VPS

さくらのVPS

GMO ConoHa

海外 VPS

Vultr

Linode

DigitalOcean


無料のオンライン画像エディタ「PIXLR」が凄すぎる!

結論から言います。この PIXLR で、もう Photoshop は要りません!
それどころか、アプリをインストールする必要さえありません。

このURLへ飛ぶだけで、直ぐに画像エディタが使えるのです。
https://pixlr.com/editor/

上記URLへ行くと、このような画面が表示されます。日本語も完璧ですね。

サインアップせずログインしていない状態でも、PIXLR はちゃんと使えちゃいます。
フィルター類も下の画像の通り、Photoshop と遜色ありません。

使っている内に、これがブラウザで動作している事を忘れてしまいます。
なお、PIXLR は、Googleドライブから起動することもできます。
画像ファイルの上で右クリックし「アプリで開く」を選択します。

Photoshop など、アプリをインストールすると数百MBのストレージ容量を占有されてしまいますが、このツールなら、インストールは必要ないし、占有ディスクスペースも必要ありません。最近のMacやノートPCはSSDタイプが増え、ハードディスクよりも容量が小さかったりするので、思い切って Photoshop をアンインストールして、空き容量を増やしてみては如何でしょうか?


国際宇宙ステーション(ISS)内をストビューで見る

Googleストリートビューで国際宇宙ステーション(ISS)内が見れるようになりました。

勿論、マウス操作で宇宙ステーション内を自由に移動することができます。
一般の人が滅多に入る機会の無いISSの内部を見れるのは嬉しいですね。

リンクはこちらからどうぞ。
https://goo.gl/maps/JaAQesWRkUJ2

 


SSH接続のキーペアの作成&更新(最新の 4096 bit RSA 版)

従来、SSHキーは 2048 bit での作成が主流だったので、現在もそのまま使い続けている人が多いと思いますが、セキュリティ上そろそろ 4096 bit へアップグレードしておくと良いでしょう。その手順を紹介します。置き換えだけでなく、新たにSSHを設定する際も下記と同じ手順です。

先ず 4096 bit RSA キーの作成方法ですが

$ ssh-keygen -b 4096

これをコマンドラインで実行します。質問される項目は、ファイル名とパスフレーズ(&再入力)の2種類だけです。基本はどちらもエンターで良いでしょう。

$ ssh-keygen -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/foo/.ssh/id_rsa): (エンター)
Enter passphrase (empty for no passphrase):(エンター)
Enter same passphrase again:(エンター)
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:uqWzrNSC89DAAKBu9xL4yGzR//+n5zW+CRYkkZ6smqo foo@local
The key's randomart image is:
+---[RSA 4096]----+
|+          ..    |
|o          ..    |
|o         o...   |
|.oo        +o    |
| =o+    S .  .   |
|+ =++. . .    .  |
| =+o+oo +    o o |
|.  =.oo*    .o+ o|
|   E+o*+...o=. +.|
+----[SHA256]-----+

これで、秘密鍵(id_rsa)と公開鍵(id_rsa.pub)のキーペアがホームディレクトリ下の .ssh ディレクトリ内に作成されているはずです。

次に作成した公開鍵を ssh-copy-id コマンドで、サーバ側のホームディレクトリの .ssh ディレクトリへコピーします。

$ ssh-copy-id -p 22 -i ~/.ssh/id_rsa foo@server

各自の変更箇所ですが “-p 22” はサーバ側のSSHで使用しているポート番号です。
(注:デフォルトでは 22/TCP を使うのですが、そもそもこのポート番号はセキュリティ上、変更しておくほうが良いでしょう)

次に “foo@server” の部分もユーザ名@サーバ名(IPアドレス)に置き換えてください。

コマンドを実行すると、サーバログイン時のパスワードを求められます。パスワードが認証されると公開鍵がサーバの .ssh ディレクトリへコピーされ、これで、ログインできる準備は整いました。

$ ssh -p 22 -i ~/.ssh/id_rsa foo@server

これでログインできる筈です。-p と -i オプションは省略可能なので、適時省略してください。

最後に注意点として、秘密鍵はサーバへコピーしないでください。そして秘密鍵は必ずバックアップを取っておきましょう。紛失したら管理者の作業が必要となるし、あなたが管理者ならばサーバにログインできなくなって一大事です。

ちなみに、今使っているキーペアが 2048 bit なのか 4096 bit なのか分からん!という方へそれぞれの公開鍵の例を示します。4096 bit の方はこれだけ長いので、短いなと思ったら更新しちゃいましょう。そもそも既に 4096 bit だったとしても、定期的にキーペアを変更するのがセキュリティ的にオススメです。

2048 bit RSA 公開鍵の例

ssh-rsa BBAAB3NzaC1yc2EAAAADAQABAAABAQCsbWBUOHkOKzXmqWVlWTWbGgU5ckeqJJaCUiOEvc0yyjjYCdfJozQts69OsYbIT/obRmDfyYK/8enmI9fD34Q0GAC2/0r8dMVVaO13X6iew6ETQIT6HM7v+Y+IqkYx5B+hWOtw7JGZ/eWd5gCn0N7w3OLFmwnmxEFKo0KoaHEzRRIUvMwTlSrxLYT3AB3T3E7WxVGX+F7M1cDpmXDsJKPU6ZI7W4XqZlQn2mxoKInbVDSv1c5RWz92lBaUPSvIFL0DXfS1kR94GB6RYb1RSOfoz9bAioBcXVmfTJ0GshxgMdRB5mrDrBlROzsLm4fHYNAXB2gT0nFaWhfaE0liCWTh foo@local

4096 bit RSA 公開鍵の例

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC5pk1MuSJGQ8tdlRO+b0IHLMSwMH4uI9RWsUPWSbcJ6n8SqI452hdj9i0YZvC6H0Pmwh/4uIlTGaeSE4ZxCMEi6hAPkl87EqLAUho/0lsBPiA+n1eas5PwbSRYVnB2vFEx/L/MTjaCXELFtS5qvTN4GPGHw7WJAKXzjnTGNbmU7QGjHBSL/5k7szZrVMq7k7pmglBUTzUDwoChA3ZPGP/91kBXfffMZwJzW4tYHPMSFX/uVz00nwCzqayNLF3wOzWG0/l5IvcefadXWSj2kip2d4/2Sjg22qCEVpsjofyEfUO/5+FN5Nq88KZUtxZ9jEoxXOUtBmk4t1CVek+rLgvqzPGRiKpVSV9zVZE1M0QKuKbzhz7QtX8Ip7CRyahZ4tJAL/cX0YkLqFbxS6owHKKihS5FCXQSWSw5qHlzQ//b0HfQGHYwFyAkUKCaBLD7anm06QtwpRLuCGzCpOfBNa7+OSs3UVARvKU7GdZ5KVGnCiLCb5UxhtWw84uSACG0d08SdJPQmfO8/W/N+PX0MZfRCW82maM0aa8/75+HlRsPc+lu8+evw1MBNpyI5vKOMsUTERw2yEz7dGNGN988Jd23atjBnq33QWkkw6yxK3eO0AJMcJ01mSwLLG4dPg00HSZ8HOuOmrgU2HHCjF+YazQ0UreWLxFMxnhNtGYE+lIvyQ== foo@local