GNU/Linux >> Belajar Linux >  >> Linux

Guzzle &Sucuri:Memperbaiki 403 kesalahan permintaan

Saat menggunakan klien GuzzleHTTP jika domain tempat Anda berinteraksi menggunakan Sucuri, Anda mungkin menemukan beberapa hasil yang tidak terduga. Umumnya masalah datang di jalan kode respons kesalahan 4XX atau 5XX. Anehnya masalah ini muncul dengan sendirinya ketika Url bekerja secara normal di browser (atau curl), tetapi menghadirkan 403 yang tidak dapat dijelaskan dengan Guzzle. Beberapa jarak tempuh Anda mungkin berbeda berdasarkan pengaturan dan konfigurasi domain, tetapi tip ini biasanya dapat membuat Anda berada di jalur yang benar!

Memperbaiki 403 kesalahan saat menggunakan Guzzle dengan Sucuri

Jika Anda mengalami masalah dengan 'GET'-ing halaman menggunakan Guzzle tetapi URL berfungsi normal di browser, coba ini. Jika Anda mengonfigurasi klien Guzzle Anda untuk menggunakan beberapa header tertentu, maka itu mungkin membantu Securi menerima permintaan Anda. Dalam kasus ini, masalahnya sebenarnya bukan pada Securi, kode Anda, atau server – melainkan masalahnya adalah permintaan Anda memicu kesalahan positif di sistem mereka. Dengan menyetel tajuk ini, Anda dapat memberi sinyal ke Securi bahwa permintaan Anda tidak berbahaya.

Coba konfigurasi klien Guzzle berikut:

$guzzle = new Client([
  'headers' => [
    'User-Agent' => 'Name of your tool/v1.0',
    'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'Accept-Encoding' => 'gzip, deflate, br',
  ],
]);

Apa yang Dapat Diberikan Opsi Ini?

Opsi Guzzle yang digunakan di sini hanyalah header pilihan. Opsi ini menggunakan larik untuk mengatur header HTTP yang ingin Anda gunakan dengan permintaan. Opsi ini sangat mudah digunakan, Anda cukup mengatur kunci Header ke kunci dan nilai Header ke nilai! Di sini kami menggunakan tajuk berikut:

  • User-Agent:Header ini adalah string yang menjelaskan karakteristik perangkat lunak yang membuat permintaan. Ini membantu rekan jaringan mengidentifikasi jenis aplikasi, OS, vendor perangkat lunak, dan versi. Kuncinya di sini adalah hanya mengatur satu yang menjelaskan alat yang Anda gunakan dan buat! (Jadi perbarui “Nama alat Anda” agar sesuai.)
  • Terima: Header ini menentukan berbagai jenis dokumen dan sub-jenis yang diterima oleh perangkat lunak yang meminta. Dalam hal ini kami menggunakan nilai yang sama dengan yang mungkin digunakan browser modern. Anda dapat melanjutkan dan menggunakan yang ini apa adanya!
  • Accept-Encoding:Header ini mengiklankan pengkodean konten mana yang dapat diterima untuk respons yang digunakan. Umumnya digunakan untuk menentukan algoritme kompresi yang dapat dipahami oleh klien. Dalam kasus kami, kami menggunakan Gzip, deflate (zlib), dan br(Brotli).

Dengan 3 tajuk ini, pemicu positif palsu di Securi sekarang dapat diselesaikan! Anda dapat terus membangun/menggunakan alat Anda tanpa pusing lagi. Dan yang terbaik, tidak perlu menyesuaikan apa pun di Securi untuk memperbaiki masalah ini.

Jika Anda benar-benar tahu apa yang Anda lakukan dengan header HTTP, Anda mungkin bahkan dapat memperbaiki nilai Accept untuk hanya menyertakan doctypes yang ingin Anda tangani.

Apa itu GuzzleHTTP?

Guzzle adalah klien HTTP berbasis PHP yang digunakan untuk menyederhanakan pembuatan permintaan web di PHP. Sebelumnya kami telah membahas cara menggunakan Komposer dan bahkan menggunakan Guzzle sebagai salah satu contoh. Klien GuzzleHttp adalah pembungkus yang sangat ramah pengguna untuk fungsi curl PHP yang menyediakan fungsionalitas klien HTTP asli. Anggap Guzzle sama seperti menggunakan Curl atau Webbrowser – Anda memberinya URL dan itu akan mendapatkan sumber daya yang disajikan url. Ini jauh lebih dekat dengan curl karena, demikian pula, ia tidak memiliki mesin rendering browser.


Linux
  1. Kesalahan PHP

  2. 403 Kesalahan terlarang saat mengerjakan situs web Anda? Firewall, firewall, firewall

  3. Permintaan HTTP(S) manual

  1. Kesalahan pemasangan plugin WordPress

  2. Bisakah Linux menggosok memori?

  3. Pipa dempul konteks ke clipboard klien?

  1. Cutegram – Klien Desktop Telegram Tidak Resmi

  2. Berbagi Asal Referensi Silang (CORS)

  3. Apache VirtualHost 403 Dilarang