私はwindow.location.href
をjavascriptでいくつか使用しています。すべてにCSRFトークンを追加する一般的な方法はありますか? window.locationのオブジェクトがあるのでwindow.location.hrefのCSRFトークンを追加する
と
window.location.href
は、我々はそれをオーバーライドすることはできません、そのプロパティの 一つです。以下のような共通の機能を記述し、すべての インスタンスをルーティングする方が手作業で時間がかかります。
addCSRFAndProceed(url);
function addCSRFAndProceed (url) {
window.location.href = url + getCSRFTokenAndValue();
}
バックエンドのコード は、ここに私のバックエンドからCSRFクッキーを設定するためのコードです。
$_COOKIE['CSRFTOKEN'] = '123456';
HTMLコード
<div class="redirect-button" onclick="TriggerRequest()">
Javascriptコード
function TriggerRequest() {
window.location.href="www.mysite.com/?index.php&from=desktop";
}
私はwindow.location.href
を使用するさまざまな機能を持っており、それがするので、URLにトークンを追加する一般的な解決策を期待手動ですべての機能を追加することに忙しい。
トークンを取得するための「標準的な」場所が必要な場合は、ヘッダーに置くことができます。しかし、リダイレクトにcsrfが必要ですか?フォームのために使用する方がいいですか? –
私はプレーンなJavaScriptを使用しています。私はCSRFトークンを作成し、それをクッキーに保存しました。 **フォームを使用するほうが良いことや、リダイレクト**のためにCSRFが必要ないかもしれないことに同意します**。 残念ながら、CSRFトークンをチェックする私のバックエンドのロジックは、さまざまなタイプのリクエストを分離するための知性がなく、フロントエンドからの修正を終了しました。 – Barath
しかし、どのようにクライアントサイドがcsrfトークンを生成してあなたを守るでしょうか? * "クライアントを信用しない" * –