以下の内容はhttps://ryozi.hatenadiary.jp/entry/2024/12/22/201007より取得しました。


"ユーザー名をURLに含めるなら@始まりにするとよさそう"とそのコメントを見て。

zenn.dev

私はよさそう派だったのだけど、コメントでは結構否定的な感じに見受けられたので。感想文です。あと気になって少し調べたこととか。

ただ、よさそうと思っているだけであり、別に使わない選択でも良いと思ってます。お好みで、って感じ。

本文

Mediumは現在サブドメインにするルールになったようで、いつの間にかこの形式を辞めてしまった。

Mediumは使っていないので詳しくはわかりませんが、既存のMediumの記事のURLをいくつか調べた感じ、Mediumで@使った形式はまだ提供しているようです。ドットを持つユーザ名もいることは確認できました。

コメント

「意識した方が良い」程度にはある欠点

意識したほうがいいのはそうだと思いますが、これは非常にコスパが悪い課題になってしまうと思います。

採用しても採用しなくても要求を満たす機能(ルーティング)は提供できますから、あとはURLのオシャレさを取るか、安全側に倒すか、になるだけだと思います。わざわざ冒険せんでもほかのリソースの形式に合わせればよいって人の意見もよくわかります。@は例のフィッシングに使われる文字だから危険では?と思う気持ちもわかります。そこに「これ使いましょう」と持っていくと衝突が起きてしまうでしょう。(時間が無限にあると楽しい議論になるんですけどね)

私は安全側に倒しても安全になるとは思えないので、ルーティングができるならどちらでもいいと思ってます(個人的にはコンシューマ向けならオシャレさを取りたい)

というのも、以下のようなブラウザの挙動があるからです。

これ、実際にブラウザのどの挙動のことなのかわからなかったので試しました。

JS Bin - Collaborative JavaScript Debugging

PCのブラウザ(Chrome, Firefox)だと、多分リンクテキストにマウスホバーさせたときに出る左下か右下のリンクのことだと思うのですが、ここはちゃんとuserinfo部分が削られてevil.exampleが表示されるはずです。title属性で表示されていたことを指しているなたそれはアプリ側の話なので知らん・・・・

モバイルのブラウザ(Safari (iOS))の場合はそもそもリンクテキストのURLを確認できないので、踏むしかなさそうです。ただ踏んだ先のURLはちゃんとevil.exampleになります。

twitterの画像の件はOutlookのマウスホバー時の表示だと思います。現時点でもそう見えてしまうことは確認できています。

なので、PCブラウザにおいては踏む前に確認できるし、踏んでもURLから判別はできそうではあります。功名なドメイン名だと多分ダメでしょうけど。

Pathの@を許容するとフィッシング攻撃の成功率を上げてしまうのか?

わからないです。

私は上がらないと思っています。

ただ、観点として「@が入っていたら危険!」と覚えておけばよかったところが「このサイトは@を使うからそれを含めて妥当か」という考え方をしないといけなくなると思います。チェックが増えるとミスが増えます。それを指せばリスクが上がるといえば上がるでしょう。でも実際に有為な影響を与えるほどかというのは怪しいと思い込んでいます。踏む人は踏むんじゃない?

でも、そもそもあるユーザ名が入るようなエンドポイントに成り済ませるような攻撃ってうまみがあるのでしょうか?多分ユーザ名が入るようなエンドポイントって公開情報なのでは…(そのユーザのプロフィールを見せるとか。非公開だけど特別にURLを知っている人に、って感じだと悪用されるのかも?)

なので「いや、判断できないものは入れるべきではない!」と思うなら安全側に倒せばよいと思います。私は@を使うべきと言いたいわけではないので。

結局狙われたら後はユーザ頼み

そもそも、こういった悪意あるURLは悪意を持った者が作って送り付けることで始まり、それをこちらがコントロールすることはできません。@を採用がしようがしまいが攻撃の価値があれば狙われるだけです。

また、攻撃経路の問題がありそうです。まず、メール自体が送信者と内容の妥当性を保証してくれる仕組みはないので、結局URLの形式をどうするかという話は誤差にしかならないと思います。ブラウザのようにメールの送信元のドメインをOriginに見立てて内容のURLをsame-originを満たすものだけオートリンクにするとかメーラがやってくれるなら違うんですが、いまさらメールに機能追加とかね…メール、もう終わりにしませんか?信頼できるBotサービスを立てて各社のコミュニケーションツール(Slack, Discord)にインストールしていただくとかどうですか…いや面倒ですね、メールが簡単に送れるのが良くない!反省しろ!

メールに限らず様々な手口で攻撃してきます。「あなただけに特別に」みたいな口説き文句から誘導されたり、SteamとかFF14では知り合いのアカウントを乗っ取ってあなたをURLにアクセスするよう促してきたりします。

ただ、悪意あるサイトに飛ばされただけでは、今どきは直ちに影響があることはないでしょう。

どんなに頑張ってもここが最後の砦になります。ユーザの皆様におかれましては、個人情報を入力するときはちゃんとURLをチェックしましょう。

運営側…ユーザに呼びかけるしかないのではないでしょうか…

蛇足

twitterのように /:username とするのはどうか

/homeなど予約されているpathがあり、そのユーザが表示できなくなります。その逆で例えば/settingsを追加しようとすると、ユーザ名 settingsが存在しないことを確認するとか、存在してしまう場合どうするか考えないといけなくなります。

それだったら、/@:username/users/:usernameのどちらかを選んだほうが無駄な考え事が減ってよくなるでしょう。後から無理やりこちらに変えろというわけではないですが。

とはいえ、こういったのは一般的な英語が多く、そんなもんusernameにするな、という方針にしているならそれもまたアリだと思います。Webは運用しているほうが偉い。

@usernameの文化はいつからか?

私の認識上ではtwitterな気がします。あと多分関係ないですが、IRCではそのチャンネルの特権を持つユーザを@usernameで表現することがありましたね。「なるとください」ってかんじで。

起源を調べてみましたが、すぐには見つからなかったです。

海外のWikipediaにも似た言及がありましたが、要出典とあるのでご参考まで。

https://en.wikipedia.org/wiki/At_sign#Social_media

hostを騙すアレはいつ頃から触れられているのか?

まずフィッシング攻撃の件はRFC3986でもWhatWGでも触れられている割と昔(2001年ごろ)からの問題だと思います(には触れられておらず、直接的ではないですが)

2001年に言及があってから今まで、効果的な策が打てていないのは、どうしようもないからでしょう。比較的最近のWhatWGでもブラウザ側でユーザが誤認しないようにがんばれ、ですから。




以上の内容はhttps://ryozi.hatenadiary.jp/entry/2024/12/22/201007より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14