Block Rockin’ Codes

back with another one of those block rockin' codes

Private Gist の注意点

最近書けてなかったから、ここらへんで大事な小ネタを。
以外と知らない人がいるようなので、書いておきます。

結論

Private Gist は URL を知ってれば誰でも見える。

Gist

Github と Gist は普通に使ってる前提です。
使ってない人は読む必要ないです。
あと、前提読んで知ってたら読む必要ないです。

Private Gist は他人から見えない?

Gist って、作るとき Private と Public が選べますよね。
Public は全世界に公開されて、 Private は他には見えない。
という説明がされてるサイトもあるようです。


検証してみましょう。

Private Gist を作る。

自分の Gist に Private Gist を作りました。
以下の URL でアクセスできます。みなさんご覧下さい。

https://gist.github.com/152eda109927f624c978

どこが Private なんだ!

Private Gist のページの、鍵のマークをクリックしてみてください。


Private Gist の説明がひっそりと載ってます。

All pages are served over SSL and all pushing and pulling is done over SSH. No one may fork, clone, or view it unless they are given this private URL.

Every gist with this icon () is private.
ページは SSL で、 push/pull は SSH だから安心。誰もフォーク、クローン、閲覧はできないよ、 URL を知らなければね!


「URL を知らなければ。」

これが Gist の Private なんです。

どの程度「見える」か

要するに、 URL を人に教えたり、知られたりしたら、見えます。
Github のアカウントが無い人だろうと見えます。


MyGist リンクから行くログイン中アカウントのリストにはもちろん出ます。

https://gist.github.com/mine ですね。


でも、ユーザの Gist 一覧には、 Private Gist は出ないはずです。

https://gist.github.com/Jxck ここは自分のです。


あと、たぶん Gist の検索には出ないんでしょう。確かめてませんが。


じゃあ、 検索サイトとかのクローラはどうでしょう?

Private Gist のページには

<META NAME="ROBOTS" CONTENT="NOINDEX, FOLLOW">

が 一応 入ってるみたいですね。

でも自前のクローラなら。。

Private と Public の当てられる URL を比べてみましょう。

public
https://gist.github.com/1778601
private
https://gist.github.com/152eda109927f624c978


この場合は Public 7 桁に対して、 Private 20 桁ですね。
Private の方が一応ハッシュが長いですね 。英数だけみたいです。
(他はしりません。)


さっきの META タグなんか無視して自前でクロールしている人は多分、
世界中にいるんじゃないでしょうか。

まとめ

だから Private Gist は、ちょっと内輪で共有したいけど、
Public Gist はなぁ、程度の使い方にはとてもいいんです。


そのかわり、ユーザごとの閲覧権限どころか、
自分だけしか見えないなんてものではなく、



「予測は難しい URL だけど、知られれば丸見え。」



です。
それを踏まえて便利に使いましょう。


個人的には Github User のアカウントで、認証制限できたらうれしいですが。
お金払ったらそういうプランあるのかな?