+ JavaScript の質問用スレッド vol.126 + [転載禁止]©2ch.net (740レス)
上下前次1-新
333: 2023/01/01(日)16:22 ID:??? AAS
>>331
イタズラ乙
2chスレ:tech
334: 2023/01/02(月)18:52 ID:??? AAS
>>325,331
4ヶ月前もRuvyスレ移行で受け入れられなかったのに、懲りない人だね
335(1): 2023/01/03(火)15:44 ID:??? AAS
画面遷移に伴って、リクエストヘッダを追加したいときどうすればいいか教えてください。
・1 サーバサイドで「Location」レスポンスヘッダを指定してリダイレクトさせるときに、
リダイレクト先アクセスにリクエストヘッダを添付させることは可能ですか?
・2 ブラウザ側で画面遷移するときに、リクエストヘッダをつけることは可能ですか?
<a>タグ、JavaScriptの「location.href」にリクエストヘッダ追加できますか?
・3 同じく<form>を飛ばすときにリクエストヘッダ付けられますか?
(補足)リクエストヘッダをつけるときに、思い浮かぶのはAjax, XHRを使うことですが、
これを使うと画面遷移は伴いません。
OAuthの勉強をしていて、アクセストークンをブラウザで保持して、それをAuthorizationヘッダーに
添付しないといけないことが分かったので、それをどうやってリクエストヘッダにセットするのかを調べています。
省1
336: 2023/01/03(火)15:59 ID:??? AAS
>>335
これを質問した者と同じ者ですが、解決方法が分かったかもしれないので書きます。
まず一度、認証情報なしでアクセスすると、
サーバ側が「401: Authorization Requed」ステータスを返してきて、
そこに「WWW-Authenticate」というレスポンスヘッダで認証が必要である指定が返ってくるので、
それが返ってくるとブラウザは自動でAuthorizationヘッダをセットして再アクセスするので、
サーバサイドは、401を返して、WWW-Authenticateヘッダをレスポンスするように実装しておいて、
一度401でわざと失敗させればよいため、最初から自分でAuthorizationヘッダを添付しなくてもいいのかもしれません。
しかし、ブラウザはそれで自動的に正しいアクセストークンを選んでくれるのでしょうか?
認証サーバ(IdP)から払い出されたアクセストークンをブラウザのローカルストレージか何かに保存しとくと思いますが、
省1
337(1): 2023/01/03(火)16:25 ID:??? AAS
リダイレクト時にカスタムヘッダーを追加するのは無理
ブラウザがローカルストレージから自動的に特定のアクセストークンを取得してヘッダーに追加するようなことがあればセキュリティ的に大問題なのでこれも無理
(カスタムヘッダー無しのCookieだけでいいなら可能)
XHRで取得したレスポンス使ってクライント側JavaScriptで画面を更新する他ない
338: 2023/01/03(火)16:31 ID:??? AAS
>>337
そのクライアント側JavaScriptで画面を更新するときに、
Authorizationヘッダーを要求されませんか?
そもそも、アクセストークンを要求するのはデータ取得用のAPIだけにとどめておいて、
画面を描画するようなURLに対してアクセストークンを要求してはいけないということでしょうか?
339(1): 2023/01/03(火)23:40 ID:??? AAS
最近までAuthorizationヘッダーがそのままリダイレクトされてたみたいw
外部リンク:github.com
HTTPの仕様的にはAuthorizationは削除したほうがいい的なことを書いてるのに・・・
Consider removing header fields that were not automatically generated by the implementation (i.e., those present in the request because they were added by the calling context) where there are security implications; this includes but is not limited to Authorization and Cookie.
外部リンク:www.rfc-editor.org
340(1): 2023/01/04(水)00:34 ID:??? AAS
Ruby on Rails では、Turbolinks を使って、
pjax(ajax と、historyAPI(popState, pushState))を利用して画面遷移する。
通信データを減らすために、body 部分しか変わらない
認証は、退屈な雛形を自動生成する
github.com/abhaynikam/boring_generators
Devise とか、Devise Omniauth(Facebook, GitHub, Google, Twitter)
一番分かりやすい OAuth の説明
qiita.com/TakahikoKawasaki/items/e37caf50776e00e733be
基本、日本の未経験者用のバックエンドで採用しているのは、
YouTube で有名な雑食系エンジニア・KENTA の言う通り、Rails優先
341: 2023/01/04(水)20:25 ID:afahpZwg(1) AAS
>>339
XHRで非同期でリクエストヘッダを付けてサーバへ送信すると
サーバサイドでLocationヘッダーでリダイレクトすると次のリクエストにも暗黙的に前のリクエストヘッダーが引き継がれるのか?
なかなか複雑だな。
だけどXHRでリダイレクトが帰ってきても自動的には画面遷移しない。
ブラウザ側でlocation.hrefしないと画面遷移しないがこの時はさすがに非同期の戻りのリクエストヘッダは引き継げないだろ。
それと、クロスオリジンでリダイレクトする時もリクエストヘッダー引き継がれるの?
342: 2023/01/09(月)18:06 ID:??? AAS
初学者の者です
「Pixiv Filter」というChromeの拡張機能の話なんですけど、この拡張機能の一つに、Pixivの検索結果画面で、イラストごとの割り振られたタグを、本来は表示されない検索結果の画面で表示してくれるというものがある
この機能なんだけど、コード(GitHubで公開されている。URLはスパム対策で貼れない、申し訳ない)を読んでも仕組みがどうにも理解できなかった。
「イラストのURLに飛んで、そこからリンクを取得してくる」といったものかとも思ったが、どうやら違う模様
詳しい方いらっしゃったら、ご教授頂きたいです
343(1): 2023/01/09(月)19:33 ID:??? AAS
ざっと見たところ
・作品ごとのタグは検索結果画面には表示されないものの検索結果データとして飛んできている
www.pixiv.net/ajax/search/artworks/***のリプライ内のdata[].tags[]という配列がそれ
・バックグラウンドで取得し直してそれをストレージに格納している
background.tsの123行目あたり
type.d.tsのWorksData型にtags配列あり
・検索画面にそれを表示している
search_page.tsの97行目あたり
実際に拡張機能入れて動かしたわけでもないしソース追っただけだから適当だけど
344: 2023/01/09(月)21:27 ID:??? AAS
>>343
ご教授感謝です、参考にさせて頂きます
345(1): 2023/01/10(火)01:47 ID:??? AAS
ちょっとしたデータを取得するのに、
「イラストのURLに飛んで、そこからリンクを取得してくる」みたいな、
副問い合わせをやっていたら大変
346(1): 2023/01/11(水)00:32 ID:dBdRyffW(1) AAS
>>345
ですよね…なんかちょっと変かな?という気はしていました、ありがとうございます
「API」とか「ストレージ」「トークン」「クッキー」みたいな通信の部分がからっきしなもので、色々調べながらやらせて頂きます
347: 340 2023/01/11(水)04:43 ID:??? AAS
漏れらだって、Ruby on Rails, Linux, Docker, AWS Solution Architect しか分からない
>>340
に書いたように、誰かが作った、退屈な雛形を自動生成して作っている
CSRF, Strong Parameter, pjax, place holder、データベースの設計など、
全部Railsで勉強しているだけ
348: 2023/01/11(水)11:01 ID:??? AAS
>>346
察するにその拡張機能を調査分析するのに必要なスキルがまだ足りてないから
もう少し基礎知識を身につけてから挑んだ方がいいと思うよ
分不相応な挑戦は時間のムダにしかならない
あとRailsはNGワードに入れといた方がいい
349: 2023/02/21(火)11:34 ID:??? AAS
cssファイルのセレクタに、別のjsonファイルの値をインポートして使える方法とかありませんか?
【jsonファイルの値】{color:green;}
みたいな。
350: 2023/02/22(水)02:42 ID:??? AAS
sassファイルに、jsonファイルの読み込みとかってできたりする?
351(3): 2023/03/24(金)07:50 ID:ornKmOPA(1) AAS
コードを1人で書いてます。他人が見ることは100%ありません。
(a) function hoge(){ }
(b) var hoge = function(){ };
の区別や管理はどうしてますか?
・返り値のないものはa、あるものはb
・宣言のみは冒頭、実行の伴うものは後述
というルールで書いていましたが、
1万行近くなって見通しよくするために大まかな機能ごとにまとめるようになり
bが順序的に後述になる箇所が出てきました。
”機能ごと”は今後順序変更する可能性があります。
省2
352(1): 2023/03/24(金)18:33 ID:??? AAS
>>351
不便はありません
動的に変数の中身の関数を入れ替えたい場合だけ(b)で
上下前次1-新書関写板覧索設栞歴
あと 388 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.451s*