バイト面接の質問の整理(パート3)

Cookie、同じサイトの構成、Cookieのクロスドメインソリューション、Chromeに同じサイトの制限があるのはなぜですか?

  • Cookieは、名前(Name)、値(Value)、およびCookieの有効期間、セキュリティ、スコープを制御するために使用されるその他のオプションの属性で構成される、4KB以下の小さなテキストデータです。

  • Chrome 51以降、新しいSameSite属性がブラウザのCookieに追加され、CSRF攻撃とユーザー追跡を防止しています。

  • クッキークロスドメイン:

    • domain-domain:この属性を設定することにより、複数のWebサーバーがCookieを共有できます。ドメイン属性のデフォルト値は、Cookieを作成したサーバーのホスト名です。Cookieのドメインを、サーバーが配置されているドメイン以外のドメインに設定することはできません。

    • path-path:Cookieを作成したサーバーのパス内のどのファイルがCookieを読み取る権限を持っているかを示します。デフォルトは、Cookieを作成したサーバーのルートディレクトリである/です。

token = '0821A9439FE4466395A2F4086538AEB4'
cookie = new Cookie('TT_TOKEN', token)
cookie.setPath('/')
cookie.setDomain('taotao.com')
response.addCookie(cookie)

xss攻撃(クロスサイトスクリプティング攻撃)を回避する方法は?

  • 悪意のある攻撃者が悪意のあるスクリプトコードをWebページに挿入します。ユーザーがページを閲覧すると、Webに埋め込まれたスクリプトコードが実行され、悪意を持ってユーザーを攻撃する目的を達成します。XSS攻撃は、ユーザーレベルの攻撃を目的としています。

  • 入力フィルタリング:すべてのユーザーの入力ヘッダーまたはリクエストヘッダーをフィルタリングする必要があります。

vue-routerの実現原理。達成方法:ページAからページBからページC、ページAに戻る?

  • Vue-routerは、ハッシュと履歴のインターフェースを介してフロントエンドルーティングを実装し、ページを再リクエストせずにビューを更新する」は、フロントエンドルーティングの原則の中核の1つです。現在、この機能をブラウザに実装するには、主に2つの方法があります。環境:

  • ハッシュ:ブラウザを欺くためにアドレスに「#」を追加します。アドレスの変更は、ページ内の進行中のナビゲーションによるものです

  • 履歴:H5のwindow.history関数を使用し、URLのハッシュを使用して完全なURLをシミュレートします。

HashHistory:HashHistory.push()およびHashHistory.replace()は
、window.hashをhistory.pushStateに変更し、window.replaceをhistory.replaceStateに変更します。

pushStateによって設定される新しいURLは、現在のURLと同じ任意のURLにすることができます。ハッシュは#の後の部分のみを変更できるため、現在と同じドキュメントのURLのみを設定できます
。PushStateは任意のタイプを追加できます。stateObjectを介してレコードにデータを追加します。ハッシュに追加
できるのは短い文字列pushStateのみです。タイトル属性は、後で
履歴モードで使用するために追加で設定できます。URLは、通常のリクエストのURLと同じになるように変更されます。バックエンド。バックエンドが/ user / idに対応するルーティング処理用に構成されていない場合、404エラーが返されます。

  • 達成方法:ページAからページBからページC、ページAに戻る?

  • BがCにジャンプするときに使用します:this。$ router.replace©

  • history.go(-2)//指定されたページに移動します
    history.back(2)//指定されたページに移動して更新します

2つのタブページ間で通信する方法

  • ローカルストレージ
window.localStorage.setItem('a', Math.random())
window.addEventListener('storage', (e) => {
    
    
	console.log(e)
})
  • webworker
  • Web-Socket
  • クッキー
  • postMessage

es5、es6、これがポイントです。

const foo = version => console.log(this)
この出力は何ですか?
ブラウザにwindowsオブジェクトを
出力ノードにグローバルオブジェクトを出力

CSSフォントは単語数に応じて適応します

200 * 200のボックスがあり、内部にテキストを入力し、テキストを中央に表示する必要があります。
テキストが1つしかない場合、テキストはボックス全体に表示されます。テキストが2つある場合、テキストは上下中央に配置され、頭は左右に配置されます。テキストが200の場合、フォントサイズは非常に小さく、ボックス全体が新しい行で埋められます。

おすすめ

転載: blog.csdn.net/qq_40289624/article/details/111956931