html a タグで target="_blank" を使うときは、rel="noopener" をつける

パフォーマンス改善 他のページがあなたのページと同じプロセスで実行されている可能性があります。 他のページがJavaScriptを大量に実行している場合、あなたのページのパフォーマンスが低下する可能性があります。 セキュリティ対策 他のページは、window.opener プロパティを使用してウィンドウ オブジェクトにアクセスできます。 これにより、他のページがあなたのページを悪意のある URL にリダイレクトする可能性があります。 リンク先が悪意のあるサイト、またはハッキングされている場合などに、window.openerを用いてリンク元が操作されてしまう可能性がある Refs Links to cross-origin destinations are unsafe - Chrome Developers https://developer.chrome.com/docs/lighthouse/best-practices/external-anchors-use-rel-noopener/?hl=ja リンクのへの rel=noopener 付与による Tabnabbing 対策 | blog.jxck.io https://blog.jxck.io/entries/2016-06-12/noopener.html rel=“noopener noreferrer"の意味とアフィリエイト広告への影響 - WEBST8のブログ https://webst8.com/blog/rel-noopener-noreferrer/

2023-08-02 ·  2023-08-18 · 1 分 · 35 文字

インスタ投稿をブログへ設置する為のInstagramビジネスアカウントIDと長期トークンを取得する

InstagramグラフAPIを利用して無期限アクセストークンを発行し、InstagramのビジネスアカウントIDなどのJSONデータを取得する 手順は以下の通り Instagramアカウントをビジネスアカウントに変更する。 Facebookページ(無ければ作成)でInstagramアカウントをリンクする。 Facebook開発者ツールを使って新たにアプリを作成する。 Facebook開発者ツールでFacebookページの短期アクセストークンを取得する。 短期アクセストークンを使って長期アクセストークンを取得する。 長期アクセストークンを使って無期限アクセストークンを取得する。 無期限アクセストークンを使ってInstagramのビジネスアカウントIDなどのJSONデータを取得する。 注意点 アクセストークンを取得するには、Instagramビジネスアカウントが紐付いたFacebookページの管理者権限を持っていることが必要 無期限アクセストークンの取得には3段階の手順(短期アクセストークンの取得、短期アクセストークンを使った長期アクセストークンの取得、長期アクセストークンを使った無期限アクセストークンの取得)が必要 InstagramのビジネスアカウントIDは、「無期限アクセストークン」と「Instagramのアカウントが紐づいているFacebookページのID」が必要で、「グラフAPIエクスプローラ」で取得可能 1. Instagramアカウントをビジネスアカウントに変更する。 Instagramアプリを開き、プロフィールページ右上のメニューボタンをタップする 「Settings」を選択する 「Account」を選択する メニューの下の方にある「Switch Account Type」を選択する 「Switch to Business Account」を選択する 注意:アカウントタイプの変更はInstagramアプリからのみ可能( 公式ヘルプ ) 2. Facebookページ(無ければ作成)でInstagramアカウントをリンクする。 Facebookページにアクセスし、「ページを管理メニュー」内の「設定」を選択する 「Instagram」を選択する 「アカウントをリンク」を選択し、Instagramアカウントを指定してリンクする 3. Facebook開発者ツールを使って新たにアプリを作成する。 「 マイアプリ 」にアクセスする 「アプリを作成」をクリックして新しいアプリを作成する アプリのタイプとして「ビジネス」を選択し、Instagram Graph API用のアプリを作成する 作成したアプリのAPIバージョンを確認する 作成したアプリのダッシュボードを開く 左メニューの「設定」を選択する 「詳細設定」を選択し、APIバージョンが確認できる 4. Facebook開発者ツールでFacebookページの短期アクセストークンを取得する。 短期アクセストークンを使って長期アクセストークンを取得する。 https://developers.facebook.com から取得した短期アクセストークン, App ID, App Secretをフォームに入力し、ボタンを押下 短期アクセストークンを使って長期アクセストークンを取得する。 export api_ver=v17.0 export app_id=xxxxxxxxxxxxxxxxxxxx export app_secret=xxxxxxxxxxxxxxxx export fb_exchange_token=xxxxxxxxx echo "https://graph.facebook.com/${api_ver}/oauth/access_token?grant_type=fb_exchange_token&client_id=$app_id&client_secret=$app_secret&fb_exchange_token=$fb_exchange_token" # 表示されるURLへブラウザでアクセスする # 以下のような形式でトークンが取れる # {"access_token":"xxx","token_type":"bearer","expires_in":5183874} 長期アクセストークンを使って無期限アクセストークンを取得する。...

2023-07-15 ·  2023-09-22 · 1 分 · 182 文字

Mac に SSH接続した際に日本語がアンダースコア2個になる問題は SendEnv LANG で解決した

SSH接続先の相手がMacであるかはあまり問題ではないかもしれないが、 Manjaro ArchLinux から Macbook に ssh 接続しようとして発生していた文字化け(日本語のみアンダースコア2つで表示される)が治った .ssh/config で SendEnv で 環境変数を接続先のリモートに引き継がせる事ができる 以下のように共通で設定するように設定して解決した ~/.ssh/config Host * SendEnv LANG LC_* 重要なのは LANG 設定でこの設定が一致している必要があるようで、LC_*だけでは治らなかったが、 ローカルで表示しても、アンダースコア2つ表示されている状態で調べても同じ値が設定されていた。。(謎) env |grep LANG= LANG=en_US.UTF-8

2023-06-03 ·  2023-09-22 · 1 分 · 28 文字

VIMの外部で変更されたファイルの自動読み込み設定が効いていない問題を解決した(ようやく手をつけた)

長らく放置していた以下の問題 vimでファイルを開いている際に、裏で IntelliJ Idea や、 VSCode やらで編集しても自動再リロードがかからない 以下の設定をしていた。 " 元のファイルの変更を Vim が検知し、かつバッファが変更されていなかった場合、バッファは自動的に再読み込み set autoread もう少し処理を足して checktime を自動発行すればよいことがわかったので、以下を追加したけど動作しなかった " 以下タイミングで、checktime を実行 " WinEnter: ウィンドウがアクティブになった時 " FocusGained: ウィンドウがアクティブになった時 " BufEnter: バッファがアクティブになった時 augroup auto-checktime autocmd! autocmd WinEnter,FocusGained,BufEnter * checktime augroup END 色々調べるうちに FocusGained イベントが発行されていない事を確認 イベントが発行されない原因を調査中以下コメントを発見 Feature: neovim/vim does not always trigger FocusLost/FocusGained when a client is detached/attached respectively · Issue #2856 · tmux/tmux Tmux のフォーカスイベント検知設定を有効にしてなかった。 以下を tmux.conf についかして無事解決 tmux.conf set-option -g focus-events on Refs vim-jp » Hack #234: Vim外にいるときはVimを透けさせる

2023-05-16 ·  2023-09-22 · 1 分 · 76 文字

terraform ステートを強制スキップする

遭遇したエラー Error: reading Secrets Manager Secret (arn:aws:secretsmanager:ap-northeast-1:xxxxxxxxxxxx:secret:sample-secret-xxxxxx): couldn't find resource 環境構築時、デプロイ中にいきなりTokenの有効期限切れエラーが発生した。 terraformのステート管理はS3に保存している。 99designs/aws-vault を使ってローカルでシークレット管理していたら急に.. ここの原因はわかってないけど、デプロイ中でしかもステート保存失敗のエラーが出たので、完全に状態がおかしくなった。 rdb接続情報のSecret保存部分でエラー 幸い新規構築中だったので、一度 destroy してから再度作成しようとしていた。 このタイミングで上記エラーが発生しだした。 コンソールから削除しても、refresh しても何してもだめなので、ステータスが壊れたのだと思う。 まずは、削除する上でもリソースのスキップが必要 下記内容で強制スキップし、リソースは手動削除するなどして、削除完了できた。 terraform で持っている状態の一覧 $ terraform state list : (省略) module.db.aws_secretsmanager_secret.sample : (省略) 調べたステート名を指定して削除 $ terraform state rm module.db.aws_secretsmanager_secret.sample

2023-05-08 ·  2023-05-08 · 1 分 · 41 文字