Googleは独自のルールに従って検索結果の表示順位を決めていますが、Googleの広告枠を購入すれば任意のウェブサイトを検索結果の最上部に表示することができます。この広告枠を悪用して人気画像処理ソフト「GIMP」の公式サイトになりすました偽サイトが検索結果の最上部に表示されてしまう事態が発生しました。偽サイトはドメインの見た目までソックリで、インターネットに慣れている人でも見分けることは困難となっています。 Dangerous Google Ad Disguising Itself as www.gimp.org : GIMP https://www.reddit.com/r/GIMP/comments/ygbr4o/dangerous_google_ad_disguising_itself_as/ Dangerous Google Ad Disguising Itself as www
数ある CDN のなかでも Fastly は圧倒的に優れた特性を持つものだと思うので、障害にかこつけてその優れた点を紹介していく。 キャッシュが消えるのがはやいCDN とは世界各地にあるキャッシュサーバーにコンテンツをキャッシュして配信してもらうことで、オリジンサーバーの負荷を軽減したりユーザーへの配信速度を上げたりするリバースプロキシのホスティングサービスだが、 Fastly の最大の特徴としてはそのキャッシュが消えるのが速い。普通の CDN が数十秒〜数分とかかるのにたいして 0.2 秒で全部消えることが保証されているし、キャッシュにたいしてキーをつけておけば(HTTP ヘッダーに Surrogate-Key って入れるだけ)特定のキーがついているキャッシュだけ 0.2 秒以内に消したりということができる。 これにより、 CDN による配信高速化の恩恵を受けながら、コンテンツをリアルタ
いつもMOONGIFTをご覧いただきありがとうございます。タイトルにあります通り、MOONGIFTの更新を恒久的に停止するご連絡となります。最終更新記事は2021年07月16日になります。 背景 MOONGIFTはオープンソース・ソフトウェアの紹介サイトとして2004年01月29日に運営を開始しました。一番最初はlivedoorブログにて開始し、その後様々なブログプラットフォームを利用し、さらに一時はサイト名の変更(Open Alexandria)を経て、MOONGIFTという名称で運営を続けてきました。 MOONGIFTでは、これまでに16,000以上のソフトウェア(一部オープンソース・ソフトウェア以外のソフトウェアを含む)を紹介してきました。オープンソース・ソフトウェアは多くの先進的な技術への取り組みが行われており、オープンソース・ソフトウェアを知ることはソフトウェアの開発トレンドを知
2005年2月10日 はてなブックマーク β版開始はてなブックマークはブックマークを通じて他の人とつながったり、注目の話題を簡単に探すことができる、国内初のソーシャルブックマークサービスです。 はてな、国内初ソーシャルブックマークサービス「はてなブックマーク」開始 ~ウェブサイトの内容からキーワード抽出し、コミュニティ要素を強化~ - プレスリリース - 株式会社はてな ソーシャルブックマークサービスの草分けは海外の「del.icio.us」で、はてブはいわゆるパクリタイムマシン経営だった。まさか本家よりも長く生き延びることになるとは。 そもそもソーシャルブックマークサービスにおいて「コメント」や「ホッテントリ」的なものは本質ではなく、Webサイトに大勢で「タグ」を付けていくことで検索しやすくする「フォークソノミー」のほうが重要視されていた。 まだ「Web2.0」の華やかなりしとき、「集合
今年もChrome開発者の集まりChrome Dev Summit 2019 (CDS) がサンフランシスコで開催されました。 今回、私が Chrome Customer Advisory Board (CAB) に選出していただいたこともあり、CDSに初めて参加しました。 これは、CDS終了後のCAB meetingで頂いたChrome Dinosaurフィギュアです。ちなみにゲームはできません。 タイトルの「なぜChromeはURLを殺そうとするのか?」は、2日目Chrome Leadsのパネルセッションで司会のGooglerが、Chrome UX担当のProduct Managerに対して一番最初に投げかけた問いです。 PMは直ちに「そんなことはしない」と即答しました。しかしChromeは、URLの表示領域からHTTPSの緑色表示の廃止・EV表示場所の移動・wwwサブドメイン表示の削
X(旧Twitter)で使われている短縮リンクt.coにおいて、古いものが機能しなくなっています。ユーザーが元々書いたURLは消えたまま、リンクの付かないt.coのURLが表示されるだけになっています。 これにより、古いポスト(旧ツイート)においてURLやドメインに言及していると、それがどこのURLだったのかわからなくなっています。 t.coが機能していない 例えば、以下は2014年9月に投稿したものです。 http://t.co/HNubkqk4Ruのドメイン更新完了ー。 — orefolder (@orefolder) September 19, 2013 「http://t.co/HNubkqk4Ruのドメイン」といってもわからないですよね。これは元々「android-home.netのドメイン」と書いたものです。X(旧Twitter)では本文にURLを入力すると強制的にt.coの短
最近見つけた現象で既に論じられているかと思ったがちょっと解説が見つからなかったのでまとめておく。 手短に X(旧Twitter)クライアントで表示されるTwitterカードについてカードに表示されるドメインとは違うページにリンクさせる手法が存在する この手法は第三者のTwitterカードを利用することができる つまり悪用者は第三者のTwitterカードを表示させながら自身の意図するページに閲覧者を誘導することができる これはフィッシングの手法になりうる 見つけたツイート 以下のツイートはGoogle、Bloomberg、日経ビジネスのTwitterカードが添付されているがクリックするとそれらとは異なる情報商材サイトにジャンプする。リンク先に危険な仕組みはないと思われるがクリックは自己責任で。念を入れたい人は curl -L で。 PCブラウザでカーソルを合わせてもXの短縮URLサービスであ
フィードバックを送信 コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 e コマース ウェブサイトの URL 構造を設計する Google が e コマースサイトのウェブページを効率的に発見して取得できるように、URL を適切に設計してください。お客様が URL の構造を管理されている場合には(たとえば、独自のサイトをゼロから構築されているなど)、このガイドを参考にして URL 構造を決定すると、Google が e コマースサイトをインデックス登録する際の問題を回避できます。 URL 構造が重要である理由 URL 構造の設計が適切であれば、Google はサイトをクロールしやすく、インデックス登録もしやすくなります。URL 構造に不十分な点があれば、以下の問題が発生する可能性があります。 Googlebot が 2 つの URL で同じコンテンツが返される
IPAウェブサイトリニューアルによるリンク切れや不具合について、ご不便をおかけしまして大変申し訳ありません。 IPAは本年3月31日、ユーザーの皆様にIPAウェブサイトについて、より快適にご利用いただけるようリニューアルを行い、スマートフォンやタブレットから閲覧する場合でも適切に表示されるようにマルチデバイス対応を行うとともに、ユーザーが目的のコンテンツを探しやすくするため、掲載内容やサイト構造の見直し等を行い、多くのページのURLも変更することとなりました。 URL変更の対応にあたっては、安定的なレスポンスの確保を考慮し、リダイレクト対象とするコンテンツの選定を行いました。しかし、今回の対応は、多くのユーザーがIPAウェブサイトに掲載されたコンテンツへのリンクを自組織のサイトや資料等で活用していることの影響に関して、認識が不十分でした。頂いた多くのご指摘を重く受け止め、ユーザーの皆様のコ
カスタムURLスキームの乗っ取りとその対策 May 17, 2021 カスタムURLスキームは、モバイルアプリ内のコンテンツへ直接誘導するディープリンクに広く利用されている¹。そのような中で、2020年3月にLINEはカスタムURLスキーム line:// の使用を非推奨とした²。非推奨の理由をLINEは「乗っ取り攻撃が可能なため」と説明し、代わりにHTTP URLスキームによるリンクを推奨している。この変更に対して私は、なぜHTTP URLスキームによるリンクだと乗っ取り攻撃を防げるのか疑問を抱いた。この疑問に答えるためにLINEアプリの乗っ取りを試み、対策の有効性を確認した。 要約 HTTP URLスキームによるディープリンクは対象のアプリを一意に特定できるため、不正アプリによるリンクの乗っ取りが発生しない。カスタムURLスキームでは複数のアプリが同じスキームを宣言できるため、モバイル
多機能なウェブサーバーとして2004年に登場したNginxは、2023年6月時点では業界トップシェアとなるほど人気を集めるサーバーです。そんなNginxの設定において、スラッシュを一つ付けるか付けないかの差で大きなセキュリティホールができてしまう問題について、大手パスワードマネージャーやGoogle製のツールの例をとりあげてセキュリティアナリストのダニエル・マツモトさんがブログで解説しています。 Hunting for Nginx Alias Traversals in the wild https://labs.hakaioffsec.com/nginx-alias-traversal/ Nginxの設定には、特定のURLへのアクセスをどう処理するべきかを記述できる「location」というディレクティブが存在しており、URLをサーバー内のファイルに対応させるのによく利用されています。例
Intro 従来の History API を改善する Navigation API の仕様策定と実装が進んでいる。 これは、 History API の使いにくかった部分を補うだけではなく、「JS で画面遷移をする」という現状のミッシングピースに取り組み、 SPA が抱える多くの問題だけでなく MPA すら改善する可能性がある。 この API の目的と仕様を解説しつつ、実装のメモを残す。 画面遷移と SPA の軌跡 Web は HTML の取得と描画を繰り返す、画面遷移(Navigation)を前提としたアーキテクチャ(のちに SPA からの逆算で MPA と呼ばれる)が基本であり、ブラウザなどの実装もそれに最適化されている。 一方「アプリケーション」の設計手法をそのまま Web に持ち込んだ SPA は、この Navigation によってもたらされる UX の低下を防ぐ部分がある一方
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第8日目の記事です。 JSON Web Token(JWT)の単語を目にすることがよくあると思いますが、それと一緒に認証と認可や、RSAの署名や暗号化、そしてOpenIDConnectやOAuth2.0までと難しそうな用語とセットで説明されることも多いため、JWTって難しいなぁと思われがちです。しかし、JWT自体はシンプルで分かりやすいものです。そこで今回は素のJWTの説明からJWS、そしてJWT(JWS)を使った認証を段階的に説明していきます。 おな、この記事はJWT全体の仕組みや使い方の理解を目的としているため、以下の説明は行いません。 RSAやHMACなど暗号化やアルゴリズムの細かい説明 JWTを暗号化するJWEとJSONの暗号鍵表現のJWKについて OpenIDConnectとOAuth2.0について 記事は上記のような内容
情報処理推進機構(IPA)の公式Webサイトリニューアルにおいて、多くのページにリダイレクト設定がなされず問題視されていた件を巡り、IPAは4月3日「ご不便をおかけしまして大変申し訳ありません」と謝罪した。 IPAは3月31日に公式Webサイトの全面リニューアルを実施。モバイル端末からの閲覧を意識したデザイン改修、コンテンツへの導線の改善などを図ったとしていた。その中で多くのページのURLも変更したが、リダイレクト設定がほとんどなく、既存のリンクを開いても「404 Not Found」とのみ表示されることが問題視されていた。 謝罪文によると、リニューアルに際して「安定的なレスポンスの確保を考慮し、リダイレクト対象とするコンテンツを選定した」という。しかし、多くのユーザーがIPAのコンテンツを資料として使っており、その影響について認識が不足していたのが原因の一つとしている。 なぜ「404エラ
このエントリは、PHP Advent Calendar 2021 の20日目のエントリです。19日目は @takoba さんによる PHPプロジェクトのComposerパッケージをRenovateで定期アップデートする でした。 SQLインジェクションやクロスサイトスクリプティング(XSS)の対策を行う際には「エスケープ処理」をしましょうと言われますが、その割にPHP以外の言語ではあまりエスケープ処理の関数が用意されていなかったりします。それに比べてPHPはエスケープ処理の関数が非常に豊富です。これだけ見ても、PHPはなんてセキュアなんだ! と早とちりする人がいるかもしれませんが、しかし、他言語でエスケープ処理関数があまりないのはちゃんと理由があると思うのです。 本稿では、PHPのエスケープ処理用の関数を紹介しながら、その利用目的と、その関数を使わないで済ませる方法を説明します。 SQL用
はてブについて、情報検索したりクエリを投げたりして調べてまとめてみた。自分用メモとして書いたもので、極少数の人しか興味を持たない内容かと思うが、読んでいただければ幸い。 公式等[1・2(参照したページURLを最後に記載。以下同様)]で詳細を確かめられず素人の憶測で説明した箇所がいくつもあり、簡潔明瞭でも網羅的でもない解説だがご容赦を。 トップページホットエントリと新着エントリの一覧への導線がある。 URL1. https://b.hatena.ne.jp/ 1a. https://b.hatena.ne.jp/hotentry/{1}(引数に"all"を入力した場合、1のエイリアス) 1b. https://b.hatena.ne.jp/ctop/{1}(カテゴリトップ[3]が過去に存在していた場合、1aにリダイレクト) 1c. https://b.hatena.ne.jp/hotentr
udm14.com このサイトのドメイン名にもなっている「&udm=14」とは何かということだが、その前に the disenshittification Konami code というサイト名にも注意する必要がある。 disenshittification とは、ワタシも何度も(その1、その2)取り上げているコリイ・ドクトロウによるオンラインプラットフォームの質低下を指す造語 enshittification(メタクソ化)の対義語である。 そして、Konami code だが、もちろんコナミに由来する言葉で、いわゆる「隠しコマンド」全般を指すフレーズになってるそうな。 つまりは、「メタクソ化に抗う隠しコマンド」、それが「&udm=14」というわけだ。サイトデザインを見れば分かることだが、ここで対象となっているのは Google である。 検索エンジンとしての Google の質低下につい
RESTful APIのリソース設計で述べた通り、何をリソースとするかを決めたらそのリソースを識別するURIを検討する必要がある。 エンドポイントとは何か エンドポイントとはAPIにアクセスするためのURIのこと。例えば、QiitaのAPIで自分の情報を取得する時のエンドポイントは以下となる。 http://qiita.com/api/v2/users/nagaokakenichi 似たような言葉に「エントリポイント」というものがある。エントリポイントとはプログラムやサブルーチンの実行を開始する場所のこと。 Qiita視点で考えると、 http://qiita.com/api/v2/users/nagaokakenichi を参照されることでプログラムが開始されるので、Qiitaからすると上記URIはエントリポイントとなる。 つまり、エンドポイントはAPIにアクセスする側からの、エントリポ
情報処理推進機構(IPA)の公式Webサイトリニューアルについて、Twitter上で批判の声が上がっている。新URLへのリダイレクト設定がなく既存のリンクを開いても「404 Not Found」になっているとの報告が相次いでいる他、RSSがなくなって困るというユーザーもいる。 IPAが新サイトを公開したのは3月31日。「ユーザーがコンテンツを探しやすいよう導線を改善した」「スマートフォンやタブレットでの閲覧を想定してマルチデバイス対応をした」としている。 リニューアルによりURLの変更もあったが、新ページへのリダイレクト設定がなく、既存のリンクを開いてもコンテンツが表示されないケースが多発している。 例えばGoogle検索で「情報セキュリティ白書2021」を検索すると、検索結果トップに該当ページが表示されるが、リンクを開いても「お探しのページ・ファイルが見つかりませんでした」とのみ表示され
2020年 東京都知事選 ※ここは公式サイトではありません。 2020年6月21日設置 2021年5月19日追記: ドメイン失効が近づいてきたので、まだリンクが付いている政治家の方の投稿などをリストにしました。 2020tochijisen.tokyo にリンクしている政治家・政党・公的機関など Contact Osumi, Yusuke / CISSP,CISA mail: ozuma5119@gmail.com PGP: keybase.io Twitter: https://twitter.com/ozuma5119 ひとことで(読むのがダルい人用) 以下のいずれかがベターです。 管理組織のサブドメインで運用しましょう。(例:senkyo2020.metro.tokyo.lg.jp など) 現在のWebページのサブディレクトリで運用しましょう。(例:https://www.senky
ロケーションバーでアニメーションするのをtwitterで見かけて、いいなと思ったのでやってみる。 <script> (() => { let chars = ["🌕", "🌖", "🌗", "🌘", "🌑", "🌒", "🌓", "🌔"]; setInterval(() => { history.replaceState({}, '', location.pathname+location.search+'#'+chars[0]); chars.push(chars.shift()); }, 100); })(); </script> Animate your url transitions for that extra flair ✨ pic.twitter.com/w4VEeQjfJf— Neal Agarwal (@nealagarwal) 2020年8月12日
いつもニコニコをご利用いただき、ありがとうございます。 ニコニコ大百科やニコニ立体とページ内容がまったく同じコピーサイト(※)の存在を確認しました。また、これらのサイトがGoogle検索等で上位に掲載されてしまっている場合があります。 これらのサイトはドワンゴが管理しているものではありません。 また、そのようなサイトには悪意のあるコンテンツやツールが仕込まれている可能性があり、コピーサイト経由でニコニコにログインした場合、第三者にアカウントを乗っ取られてしまう可能性もあります。 ※ proxyfly.org、proxybot.cc といったドメインで運営されていることを確認していますが、これら以外にも類似のコピーサイトが存在する可能性があります ドワンゴとしてもGoogleへの通報やコピーサイトからのアクセス遮断などの対応を進めておりますが、ユーザーの皆様におかれましても、下記の自衛方法を
Decentralized Identifiers (DIDs) v1.0 Core architecture, data model, and representations W3C Recommendation 19 July 2022 More details about this document This version: https://www.w3.org/TR/2022/REC-did-core-20220719/ Latest published version: https://www.w3.org/TR/did-core/ Latest editor's draft:https://w3c.github.io/did-core/ History: https://www.w3.org/standards/history/did-core Commit history
雑なメモ書きの様な内容です。 自分の知識、知恵の引き出しの整理も兼ねてます。 実践的で有用な対応パターンをまとめました。 HTTP Method with URI| http method | explain | URI | |GET| ドキュメントリソースの取得| https://api.example.com/v1/items/1 | |GET| コレクションリソースの取得| https://api.example.com/v1/items | |POST| リソースの作成 | https://api.example.com/v1/items | |PUT| リソースの更新 | https://api.example.com/v1/items/1 | |PATCH| リソースの部分更新 | https://api.example.com/v1/items/1 | |DELETE| リソ
url.js `B�y�U pJ�y�U /* href ┌────────────────────────────────────────┴──────────────────────────────────────────────┐ origin │ ┌────────────┴──────────────┐ │ │ authority │ │ ┌───────────────┴───────────────────────────┐ │ │ │ host resource │ │ ┌──────────┴─────────────────┐ ┌────────────┴───────────┬───────┐ │ │ hostname │ pathname │ │ │ │ ┌──────────────┴────────────┐ │ ┌──────┴───────┐ │ │ pro
ウェブサイトを作成するにあたってURIの作成は避けられない要素ですが、「長期間運営することを前提としたURI」をあらかじめ考えておかないと、分類がしづらくなったり、環境の変化でURIを変更しなければならなくなったりと、後になって面倒が生まれてしまいます。ウェブサイトを長期間存続させるうえで、どのようなURI作成のルールを設けるべきかをWorld Wide Web(WWW)の考案者であるティム・バーナーズ=リー氏が解説しています。 Hypertext Style: Cool URIs don't change. https://www.w3.org/Provider/Style/URI 例えば、アメリカ国立科学財団(NSF)のオンラインドキュメント検索ページでは、過去に「http://www.nsf.gov/cgi-bin/pubsys/browser/oldbrowse.pl」というURI
Gitは認証の必要なリポジトリへアクセスするとき、ユーザ名とパスワード入力を必要としますが、アクセスするたび入力するのは煩わしいので、資格情報を記憶するために、git-credential-から始まる名前のカスタムヘルパーコマンドが存在します。これらカスタムヘルパーはGitから標準入出力を扱う普通のコマンドで、標準入力経由でGitから渡されたパラメータに従って、対応するパスワードを標準出力を介してGitへ返します。ヘルパーコマンドが呼ばれるルールはgitcredentials(7)に書かれています。 これらのヘルパーコマンドとGitの間で使われるプロトコルがGit credentialプロトコルです。プロトコルは1行に1つのキーバリューが書かれるテキストプロトコルで、リクエストは空行で終わります。ヘルパーコマンドは空行までを読み取って、不足しているパラメータ(通常はパスワードだけ)を返しま
A little experiment with seeing how complex of an app I can store entirely within a url. The basic idea revolves around the fact that a data urls can define their encoding as text/html. i.e data:text/html;charset=utf-8,hello%20world is a valid url (try pasting it in your url bar). So is data:text/html;charset=utf-8,%3Cstyle%3E%20*%20%7B%20color%3A%20red%3B%20%7D%3C%2Fstyle%3EHello%20world!. Aditio
Studying HTTP > RFC-Translations related HTTP この文書は、 T. Berners-Lee, R. Fielding, L. Masinter: Uniform Resource Identifier (URI): Generic Syntax (RFC 3986), January 2005. を 橋本英彦 が日本語訳した物です。 この文書の取り扱いについては、[Studying HTTP] の RFC 日本語訳を利用するにあたってに従って下さい。 Network Working Group Request for Comments: 3986 STD: 66 Updates: 1738 Obsoletes: 2732, 2396, 1808 Category: Standards Track T. Berners-Lee W3C/MIT R.
TL;DR ansible.builtin.uri でコンテンツを取ってきて ansible.builtin.shell の stdin を使って流し込む サンプル たとえばrustupのインストールは公式ドキュメントでは次のようなスクリプトを使っている rustup.rs curl -sSf https://sh.rustup.rs | sh -s -- -y これをこのまま ansible.builtin.shell に記述して実行すると warning が出ます。たとえばこういう具合にすると - name: Install rustup ansible.builtin.shell: cmd: curl -sSf https://sh.rustup.rs | sh -s -- -y 実行時にこういうふうにwarningがでます。 TASK [common : Run rustup] *
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く