Rumah pembangunan bahagian belakang tutorial php 解决启用Csrf后出现400错误

解决启用Csrf后出现400错误

Dec 27, 2017 am 11:43 AM
csrf Muncul kesilapan

如何解决启用Csrf后出现400错误?本文主要介绍了启用Csrf后POST数据时出现的400错误的相关资料。希望对大家有所帮助。

最近一直出现这样的错误,一直在查找原因,偶然看到一篇解决的文章,分享给大家看看。

第一种解决办法是关闭Csrf

public function init(){
  $this->enableCsrfValidation = false;
}
Salin selepas log masuk

第二种解决办法是在form表单中加入隐藏域


第三种解决办法是在AJAX中加入_csrf字段

var csrfToken = $('meta[name="csrf-token"]').attr("content");
$.ajax({
 type: 'POST',
 url: url,
 data: {_csrf:csrfToken},
 success: success,
 dataType: dataType
});
Salin selepas log masuk

Yii这个匹配的过程和Yii::$app->request->csrfToken 这个值存储位置说明:

存储位置

  protected function createCsrfCookie($token)
  {
    $options = $this->csrfCookie;
    $options['name'] = $this->csrfParam;
    $options['value'] = $token;
    return new Cookie($options);
  }
Salin selepas log masuk

校验方法

  public function validateCsrfToken($token = null)
  {
    $method = $this->getMethod();
    // only validate CSRF token on non-"safe" methods http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.1.1
    if (!$this->enableCsrfValidation || in_array($method, ['GET', 'HEAD', 'OPTIONS'], true)) {
      return true;
    }

    $trueToken = $this->loadCsrfToken();

    if ($token !== null) {
      return $this->validateCsrfTokenInternal($token, $trueToken);
    } else {
      return $this->validateCsrfTokenInternal($this->getBodyParam($this->csrfParam), $trueToken)
        || $this->validateCsrfTokenInternal($this->getCsrfTokenFromHeader(), $trueToken);
    }
  }
Salin selepas log masuk

相关推荐:

有关对同源策略和csrf安全策略的知识点讲解

XSS及CSRF的详细介绍

Yii2.0防御csrf攻击方法

Atas ialah kandungan terperinci 解决启用Csrf后出现400错误. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tidak dapat menyelesaikan operasi (Ralat 0x0000771) Ralat pencetak Tidak dapat menyelesaikan operasi (Ralat 0x0000771) Ralat pencetak Mar 16, 2024 pm 03:50 PM

Jika anda menemui mesej ralat semasa menggunakan pencetak anda, seperti operasi tidak dapat diselesaikan (ralat 0x00000771), ini mungkin kerana pencetak telah diputuskan sambungan. Dalam kes ini, anda boleh menyelesaikan masalah melalui kaedah berikut. Dalam artikel ini, kami akan membincangkan cara membetulkan isu ini pada Windows 11/10 PC. Keseluruhan mesej ralat berkata: Operasi tidak dapat diselesaikan (ralat 0x0000771). Pencetak yang ditentukan telah dipadamkan. Betulkan 0x00000771 Ralat Pencetak pada Windows PC Untuk membetulkan Ralat Pencetak operasi tidak dapat diselesaikan (Ralat 0x0000771), pencetak yang ditentukan telah dipadamkan pada Windows 11/10 PC, ikut penyelesaian ini: Mulakan semula Print Spool

Mendedahkan punca kod status HTTP 460 Mendedahkan punca kod status HTTP 460 Feb 19, 2024 pm 08:30 PM

Menyahsulit kod status HTTP 460: Mengapakah ralat ini berlaku? Pengenalan: Dalam penggunaan rangkaian harian, kami sering menghadapi pelbagai gesaan ralat, termasuk kod status HTTP. Kod status ini ialah mekanisme yang ditakrifkan oleh protokol HTTP untuk menunjukkan pemprosesan permintaan. Di antara kod status ini, terdapat kod ralat yang agak jarang berlaku, iaitu 460. Artikel ini akan menyelidiki kod ralat ini dan menerangkan sebab ralat ini berlaku. Definisi kod status HTTP 460: Pertama, kita perlu memahami asas kod status HTTP

Permulaan Kotak Pasir Windows gagal - Akses Ditolak Permulaan Kotak Pasir Windows gagal - Akses Ditolak Feb 19, 2024 pm 01:00 PM

Adakah Windows Sandbox ditamatkan dengan Windows Sandbox Unable to Start, Ralat 0x80070005, Access Denied message? Sesetengah pengguna melaporkan bahawa Windows Sandbox tidak boleh dibuka. Jika anda juga menghadapi ralat ini, anda boleh mengikuti panduan ini untuk membetulkannya. Windows Sandbox gagal dimulakan - Access Denied Jika Windows Sandbox ditamatkan dengan Windows Sandbox Unable to Start, Ralat 0x80070005, Access Denied message, pastikan anda log masuk sebagai pentadbir. Ralat jenis ini biasanya disebabkan oleh kebenaran yang tidak mencukupi. Jadi cuba log masuk sebagai pentadbir dan lihat sama ada itu menyelesaikan masalah itu. Jika masalah berterusan, anda boleh mencuba penyelesaian berikut: Jalankan Wi-Fi sebagai pentadbir

Penyelesaian kepada ralat segera Windows Update Ralat 0x8024401c Penyelesaian kepada ralat segera Windows Update Ralat 0x8024401c Jun 08, 2024 pm 12:18 PM

Jadual Kandungan Penyelesaian 1 Penyelesaian 21. Padamkan fail sementara Windows Update 2. Membaiki fail sistem yang rosak 3. Lihat dan ubah suai entri pendaftaran 4. Matikan kad rangkaian IPv6 5. Jalankan alat WindowsUpdateTroubleshooter untuk membaiki 6. Matikan firewall dan perisian anti-virus lain yang berkaitan. 7. Tutup perkhidmatan WidowsUpdate. Penyelesaian 3 Penyelesaian 4 Ralat "0x8024401c" berlaku semasa kemas kini Windows pada komputer Huawei Gejala Masalah Punca Penyelesaian Masih tidak diselesaikan? Baru-baru ini, pelayan web perlu dikemas kini kerana kelemahan sistem Selepas log masuk ke pelayan, kemas kini menggesa kod ralat 0x8024401c

Selesaikan ralat yang dihadapi semasa memasang autocad dalam win11 Selesaikan ralat yang dihadapi semasa memasang autocad dalam win11 Dec 30, 2023 pm 03:23 PM

AutoCAD adalah salah satu perisian reka bentuk lukisan yang paling biasa digunakan, tetapi apabila kami ingin menggunakannya pada win11, kami mungkin menghadapi ralat semasa memasang autocad pada win11 Pada masa ini, kami boleh cuba mengubah suai pendaftaran untuk menyelesaikannya. Ralat berlaku semasa memasang autocad dalam win11: Langkah pertama, tekan "logo win + r" pada papan kekunci untuk membuka larian. Dalam langkah kedua, masukkan "regedit" dan tekan Enter untuk membuka pendaftaran. 3. Tampal "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" ke dalam laluan di atas. 4. Selepas memasukkan, klik dua kali

Menyelesaikan Masalah Ralat Tomcat 404: Petua Pantas dan Praktikal Menyelesaikan Masalah Ralat Tomcat 404: Petua Pantas dan Praktikal Dec 28, 2023 am 08:05 AM

Petua Praktikal untuk Menyelesaikan Ralat Tomcat404 dengan Pantas Tomcat ialah pelayan aplikasi JavaWeb yang biasa digunakan dan sering digunakan semasa membangunkan dan menggunakan aplikasi JavaWeb. Walau bagaimanapun, kadangkala kita mungkin menghadapi ralat 404 daripada Tomcat, yang bermaksud bahawa Tomcat tidak dapat mencari sumber yang diminta. Ralat ini boleh disebabkan oleh pelbagai faktor, tetapi dalam artikel ini, kami akan membincangkan beberapa penyelesaian dan petua biasa untuk membantu anda menyelesaikan ralat Tomcat 404 dengan cepat. Semak laluan URL

Pelayan mengalami ralat, 0x80070003, semasa mencipta mesin maya baharu. Pelayan mengalami ralat, 0x80070003, semasa mencipta mesin maya baharu. Feb 19, 2024 pm 02:30 PM

Jika anda menghadapi kod ralat 0x80070003 semasa menggunakan Hyper-V untuk mencipta atau memulakan mesin maya, ia mungkin disebabkan oleh isu kebenaran, kerosakan fail atau ralat konfigurasi. Penyelesaian termasuk menyemak kebenaran fail, membaiki fail yang rosak, memastikan konfigurasi yang betul dan banyak lagi. Masalah ini boleh diselesaikan dengan menolak kemungkinan yang berbeza satu demi satu. Keseluruhan mesej ralat kelihatan seperti ini: Pelayan mengalami ralat semasa membuat [nama mesin maya]. Tidak dapat mencipta mesin maya baharu. Tidak dapat mengakses stor konfigurasi: Sistem tidak dapat mencari laluan yang ditentukan. (0x80070003). Beberapa kemungkinan punca ralat ini termasuk: Fail mesin maya rosak. Ini boleh berlaku disebabkan oleh serangan perisian hasad, virus atau adware. Walaupun kemungkinan ini berlaku adalah rendah, anda tidak boleh sepenuhnya

Selesaikan ralat kod 0xc000007b Selesaikan ralat kod 0xc000007b Feb 18, 2024 pm 07:34 PM

Kod Penamatan 0xc000007b Semasa menggunakan komputer anda, kadangkala anda menghadapi pelbagai masalah dan kod ralat. Antaranya, kod penamatan adalah yang paling mengganggu terutamanya kod penamatan 0xc000007b. Kod ini menunjukkan bahawa aplikasi tidak boleh dimulakan dengan betul, menyebabkan ketidakselesaan kepada pengguna. Mula-mula, mari kita fahami maksud kod penamatan 0xc000007b. Kod ini ialah kod ralat sistem pengendalian Windows yang biasanya berlaku apabila aplikasi 32-bit cuba dijalankan pada sistem pengendalian 64-bit. Maksudnya sepatutnya

See all articles