cari
Rumahpembangunan bahagian belakangtutorial phpPengalihan telus dengan Braintree

Pengalihan telus dengan Braintree

Takeaways Key

    Penyelesaian Pembayaran Braintree menawarkan pengalihan telus dan braintree.js sebagai penyelesaian untuk membantu meminimumkan beban pematuhan PCI untuk perniagaan kecil.
  • Redirect telus membolehkan data kad kredit dihantar terus ke pelayan Braintree, melangkaui sistem pemilik perniagaan, dengan itu mengurangkan risiko pelanggaran data.
  • Perpustakaan Pelanggan PHP Braintree memudahkan proses integrasi untuk pengalihan telus, tetapi ia boleh merumitkan pengumpulan dan pengesahan maklumat berkaitan tidak membayar pada bentuk yang sama seperti maklumat kad kredit pelanggan.
  • Untuk melaksanakan pengalihan telus, pemilik perniagaan mesti mengintegrasikan laman web mereka dengan API pembayaran Gateway, menubuhkan satu borang yang menyiarkan maklumat pembayaran pelanggan terus ke pintu masuk, dan mengendalikan respons yang dihantar kembali ke laman web mereka.
  • Walaupun redirect telus meningkatkan keselamatan dan meningkatkan prestasi laman web, ia memerlukan pemahaman yang lebih mendalam tentang pembangunan web dan API Gateway Pembayaran, yang boleh menjadi kelemahan yang berpotensi untuk beberapa pemilik perniagaan.
  • sebutan semata -mata "pematuhan PCI" biasanya menimbulkan gabungan penampilan keliru dan telapak tangan berpeluh dari pemilik perniagaan yang menerima pembayaran kad kredit dalam talian. Tetapi apa maksudnya?
Ini adalah topik yang rumit, tetapi versi pendek adalah bahawa syarikat kad kredit utama mengasaskan majlis yang dipanggil Majlis Piawaian Keselamatan Industri Kad Pembayaran (PCI SSC) pada tahun 2006 untuk mewujudkan satu set peraturan yang menyeragamkan dasar dan prosedur keselamatan Pedagang itu harus mengikuti (PCI DSS) apabila memproses dan menyimpan maklumat kad kredit sensitif. Untuk menentukan sama ada sistem anda mematuhi, anda biasanya akan memilih Soal Selidik Penilaian Sendiri yang sesuai (SAQ) dari satu daripada lapan pilihan, dan kemudian menjawab satu siri soalan untuk menentukan sama ada anda, sebenarnya, mematuhi. Syarikat -syarikat besar sering menggunakan perkhidmatan penilai keselamatan yang berkelayakan (QSA) untuk membantu mereka mengisi SAQ D (yang paling terlibat dalam SAQs), yang boleh menelan belanja ratusan ribu dolar. Dan untuk membuat keadaan lebih teruk: jika sistem anda dikompromikan dan ditentukan bahawa mereka tidak mematuhi apabila mereka dilanggar, anda boleh bertanggungjawab untuk denda sehingga $ 500,000 setiap insiden.

Jadi apa yang harus dilakukan oleh pemilik perniagaan kecil? Di sinilah penyelesaian pembayaran Braintree masuk. Saya harus menyebut bahawa tidak Braintree atau mana -mana pembekal perkhidmatan patuh PCI DSS yang lain boleh memberitahu anda yang SAQ untuk mengisi, atau sama ada sistem anda mematuhi. Tetapi mereka telah berpasangan dengan metrik keselamatan, QSA yang terkemuka di industri, untuk menyediakan penyelesaian bebas kos untuk membantu semua pelanggan mereka mencapai dan mengekalkan pematuhan PCI. Dan dalam pengalaman mereka, pelanggan menggunakan sama ada telus atau braintree.js biasanya dapat mengisi SAQ A, yang kurang terlibat (dan oleh itu mahal) daripada Saq D. Anda boleh membaca lebih lanjut di sini.

tetapi latar belakang yang cukup; Mari kita tulis beberapa kod.

Bermula

Artikel ini akan memberi tumpuan kepada kaedah redirect telus. Perkara pertama yang perlu kita lakukan ialah menuju ke Braintree untuk mendapatkan kunci API pelayan kami. Bagi anda tanpa akaun pengeluaran, arahkan penyemak imbas anda ke kotak pasir Braintree dan mendaftar untuk akaun ujian. Log masuk, dan klik pada "Akaun -> Kekunci API." Kemudian, klik butang "Menjana Baru", dan akhirnya klik "Lihat" di bawah lajur kunci peribadi kunci API yang baru dijana. Anda akan dibawa ke skrin berikut, yang mengandungi semua maklumat yang anda perlukan untuk mengkonfigurasi Perpustakaan Pelanggan Braintree.

Pengalihan telus dengan Braintree

anda dapat melihatnya walaupun mempunyai alat yang menghasilkan kod konfigurasi untuk anda dalam pelbagai bahasa.

Sekarang sudah tiba masanya untuk memasang perpustakaan klien Braintree PHP sebenar. Kita boleh melakukannya dengan komposer dengan menjalankan perintah berikut:

composer require braintree/braintree:*
Redirect telus

Salah satu faktor utama yang membantu menentukan sama ada anda perlu mengisi SAQ D atau SAQ A ialah sama ada data kad kredit dihantar melalui sistem anda. Dan pada permulaan model pelayan biasa ke pelayan (S2S), pelayan web anda akan menghantar borang pembayaran kepada penyemak imbas pelanggan. Selepas mengisi borang, pelanggan akan menekan Hantar, yang akan menyiarkan data kembali ke pelayan web anda, yang seterusnya akan beberapa data tersebut ke Braintree untuk pengesahan dan pemprosesan. Itu akan kelihatan seperti ini:

Pengalihan telus dengan Braintree Dengan pengalihan telus, bagaimanapun, tindakan borang ditetapkan supaya borang itu akan disiarkan terus ke pelayan Braintree, dan responsnya dihantar kembali kepada pelayar pelanggan. Pelayar kemudian diarahkan ke skrip pada pelayan web menggunakan redirect HTTP 303. Akhirnya, skrip pelayan web mengesahkan transaksi dengan Braintree, dan membentangkan hasilnya kepada pelayar pelanggan. Jadi model itu kelihatan lebih seperti ini:

Sekarang kita mempunyai teori di bawah tali pinggang kita, mari kita teruskan dan tulis beberapa kod. Mereka yang ingin melihat versi lengkap dapat menemuinya di GitHub.

Perkara pertama yang akan kita lakukan ialah membuat borang HTML yang sangat asas supaya kita dapat memasukkan beberapa data untuk dihantar ke Braintree untuk diproses. Saya akan membuat ini semudah mungkin supaya kita dapat memberi tumpuan kepada fungsi.

composer require braintree/braintree:*

Tidak ada yang rumit berlaku di sini. Satu -satunya perkara yang anda perhatikan ialah nama medan input berada dalam format array. Anda dapat melihat senarai penuh nama medan yang sah di sini. Perkara lain yang saya akan tunjukkan dari halaman itu ialah jika anda menggunakan rangka kerja yang mempunyai masalah dengan menggunakan array untuk nama input (saya melihat anda, rangka kerja Zend!), Maka anda boleh menggunakan pengganti berganda berganda sintaks. Jadi input tarikh tamat tempoh anda akan kelihatan seperti ini:

<span><span>
</span>	<span><span><span> lang<span>="en"</span>></span>
</span>		<span><span><span>></span>
</span>		    <span><span><span><div> id<span>="wrap"</span>>
		        <span><span><span><form> method<span>="post"</span> action<span>=""</span> autocomplete<span>="off"</span>></form></span>
</span>		            <span><span><span><label>></label></span>Name on Card: <span><span><input> type<span>="text"</span> name<span>="transaction[credit_card][cardholder_name]"</span>></span><span><span></span>></span>
</span>					<span><span><span><label>></label></span>Card Number: <span><span><input> type<span>="text"</span> name<span>="transaction[credit_card][number]"</span>></span><span><span></span>></span>
</span>					<span><span><span><label>></label></span>CVV: <span><span><input> type<span>="text"</span> name<span>="transaction[credit_card][cvv]"</span> class<span>="short"</span>></span><span><span></span>></span>
</span>					<span><span><span><label>></label></span>Expiration Date (MM/YYYY): <span><span><input> type<span>="text"</span> name<span>="transaction[credit_card][expiration_date]"</span> class<span>="short"</span>></span><span><span></span>></span>
</span>					<span><span><span><input> type<span>="submit"</span> value<span>="submit payment"</span>></span>
</span>			    <span><span><span></span>></span>
</span>		    <span><span><span></span></span></span></span></span></span></span></span></span></span></span></span></span>
</div></span>></span>
</span>		<span><span><span></span>></span>
</span>	<span><span><span></span>></span></span></span></span></span>

Satu -satunya perkara lain yang anda perhatikan ialah saya telah menambah atribut "autocomplete" ke borang saya, dan menetapkan nilainya. Braintree mengesyorkan melakukan ini, dan saya harap sebab ini jelas ...

Terdapat beberapa perkara lain yang perlu kita lakukan untuk memanfaatkan keajaiban pengalihan telus pada borang kami. Tetapi sebelum kita berbuat demikian, kita perlu mengkonfigurasi skrip kita untuk bekerja dengan API Braintree.

Sebelum saya memberitahu anda bagaimana untuk melakukannya, saya akan menyebutnya, demi kejelasan, saya telah meletakkan semua PHP dan HTML dalam fail yang sama dalam kod sampel saya. Saya harap ia tidak mengatakan bahawa dalam projek pengeluaran bahawa kod persediaan akan masuk dalam fail bootstrap projek saya, dan kod pemprosesan borang akan masuk ke tindakan pengawal atau fail berasingan yang lain. Ok, cukup minta maaf - mari kita buat perkara ini!

<span><span><span><input> type<span>="text"</span> name<span>="transaction__credit_card__expiration_date"</span>></span></span></span>

Baris pertama hanya membolehkan kami memanfaatkan autoloader komposer dan menggunakan perpustakaan Braintree tanpa secara eksplisit termasuk sebarang fail tambahan. Mudah -mudahan, empat baris seterusnya kelihatan biasa, kerana mereka telah disalin verbatim dari alat utama API Panel Kawalan Sandbox yang saya memperkenalkan anda ke bahagian sebelumnya. Jelas sekali anda akan menggantikannya dengan kod dari akaun panel kawalan anda sendiri.

Perkara seterusnya yang saya mahu lakukan ialah menetapkan tindakan borang supaya pelanggan kami akan menghantar data sensitif mereka terus ke Braintree, yang merupakan titik keseluruhan menggunakan TR. Nasib baik, Perpustakaan Braintree menjadikannya sangat mudah dengan menyediakan objek/kaedah penolong. Oleh itu, ubah suai kod borang anda seperti:

composer require braintree/braintree:*

satu -satunya perkara lain yang perlu kita lakukan ialah membuat input tersembunyi yang mengandungi perwakilan hashed URL yang anda mahu Braintree untuk mengalihkan pelanggan kepada selepas mereka menyerahkan borang itu, serta maklumat yang anda tidak mahukan mereka dapat menentukan. Sebagai contoh, ini adalah di mana anda boleh meletakkan jumlah urus niaga. Sama seperti gaya, saya suka menetapkan URL kembali ke borang pembayaran itu sendiri supaya saya dapat memaparkan sebarang kesilapan kepada pengguna dan memberi mereka peluang untuk menghantar semula. Jadi inilah yang akan kelihatan seperti:

<span><span>
</span>	<span><span><span> lang<span>="en"</span>></span>
</span>		<span><span><span>></span>
</span>		    <span><span><span><div> id<span>="wrap"</span>>
		        <span><span><span><form> method<span>="post"</span> action<span>=""</span> autocomplete<span>="off"</span>></form></span>
</span>		            <span><span><span><label>></label></span>Name on Card: <span><span><input> type<span>="text"</span> name<span>="transaction[credit_card][cardholder_name]"</span>></span><span><span></span>></span>
</span>					<span><span><span><label>></label></span>Card Number: <span><span><input> type<span>="text"</span> name<span>="transaction[credit_card][number]"</span>></span><span><span></span>></span>
</span>					<span><span><span><label>></label></span>CVV: <span><span><input> type<span>="text"</span> name<span>="transaction[credit_card][cvv]"</span> class<span>="short"</span>></span><span><span></span>></span>
</span>					<span><span><span><label>></label></span>Expiration Date (MM/YYYY): <span><span><input> type<span>="text"</span> name<span>="transaction[credit_card][expiration_date]"</span> class<span>="short"</span>></span><span><span></span>></span>
</span>					<span><span><span><input> type<span>="submit"</span> value<span>="submit payment"</span>></span>
</span>			    <span><span><span></span>></span>
</span>		    <span><span><span></span></span></span></span></span></span></span></span></span></span></span></span></span>
</div></span>></span>
</span>		<span><span><span></span>></span>
</span>	<span><span><span></span>></span></span></span></span></span>

Jelas sekali saya mengodkan jumlahnya di sini, tetapi dalam aplikasi pengeluaran anda sama ada akan menghasilkan ini menggunakan beberapa logik sisi pelayan, atau dalam hal borang sumbangan dengan jumlah yang tidak ditentukan, anda akan membuat medan borang dan biarkan pengguna menyediakannya. Saya juga biasanya menetapkan pilihan "Hantar Penyelesaian" kepada Benar. Jika tidak, transaksi ini hanya akan

sekarang saya hanya perlu menambahkan ini sebagai medan tersembunyi ke bentuk saya seperti:

<span><span><span><input> type<span>="text"</span> name<span>="transaction__credit_card__expiration_date"</span>></span></span></span>
3

<span><span><?php </span></span><span>		<span>require('vendor/autoload.php');
</span></span><span>
</span><span>		<span>Braintree_Configuration<span>::</span>environment('sandbox');
</span></span><span>	    <span>Braintree_Configuration<span>::</span>merchantId('YOUR_MERCHANT_ID');
</span></span><span>	    <span>Braintree_Configuration<span>::</span>publicKey('YOUR_PUBLIC_KEY');
</span></span><span>		<span>Braintree_Configuration<span>::</span>privateKey('YOUR_PRIVATE_KEY');
</span></span><span>
</span><span>	<span>?></span></span></span>
Sekarang mari kita cari apa yang telah kami lakukan. Apabila pengguna menekan butang Hantar, borang yang disiarkan terus ke Braintree, dan semua maklumat sensitif pelanggan disimpan dengan selamat pada pelayan patuh PCI CSS mereka. Kemudian, redirect HTTP 303 dihantar ke penyemak imbas, yang menghantar pengguna ke URL yang anda tentukan ketika menghasilkan pembolehubah $ tr_data, dan memasukkan beberapa parameter ke rentetan pertanyaan URL.

Apabila data berjaya diserahkan, salah satu daripada parameter tersebut akan menjadi http_status, dan jika semuanya berjalan lancar dengan pelayan Braintree, ia akan ditetapkan kepada 200. Tetapi buat masa ini kami hanya memastikan hanya melaksanakan kod di dalam ini jika pernyataan jika kami berjaya menyerahkan maklumat pembayaran kami kepada sistem mereka.

Perkara seterusnya yang berlaku ialah kita perlu mengambil rentetan pertanyaan dari pengalihan telus kami dan menghantarnya kembali ke Braintree untuk menyelesaikan transaksi. Oleh itu, kami menjalankan fungsi perpustakaan yang lain (Braintree_TransparentRedirect :: mengesahkan) dan memberikannya dengan rentetan pertanyaan URL kami, untuk memberitahu Braintree untuk meneruskan dan memproses pembayaran kami. Setelah itu berlaku, Braintree menghantar skrip kami kembali objek hasil. Secara dalaman, objek itu boleh menjadi braintree_result_error atau braintree_result_successful, tetapi kedua -dua objek mempunyai harta kejayaan Boolean supaya anda dapat melihat sama ada urus niaga itu berjaya atau tidak.

Anda juga mungkin menyedari bahawa saya membungkus keseluruhan pengesahan dalam blok percubaan/tangkapan. Satu kelemahan menggunakan halaman yang sama untuk memaparkan borang dan memproses hasilnya ialah anda hanya boleh mengesahkan rentetan pertanyaan TR sekali. Ini bermakna jika seseorang memukul butang tambah nilai selepas urus niaga yang gagal, kod anda akan cuba mengesahkan rentetan pertanyaan yang telah tamat tempoh, dan Braintree akan membuang pengecualian.

Sekarang kita mempunyai segala yang kita perlukan, kita dapat meneruskan dan menjalankan beberapa urus niaga ujian. Dokumentasi penuh menggunakan kotak pasir boleh didapati di sini, tetapi jika anda benar -benar teruja dan ingin menjalankan transaksi yang berjaya dengan segera, teruskan dan masukkan nama anda dalam "Nama pada Kad", 411111111111111 (4 diikuti oleh lima belas) Sebagai "nombor kad", 123 dalam kotak CVV, dan mana -mana tarikh di masa depan sebagai tarikh tamat tempoh. Jika semuanya berjalan lancar, anda sepatutnya dapat kembali ke kotak pasir, klik "Transaksi" di bawah "Carian Lanjutan", dan selepas mengklik butang "Carian", lihat transaksi pertama anda yang berjaya.

Mendapatkan mewah

Redirect telus adalah cara yang baik untuk membantu meminimumkan beban pematuhan PCI anda, tetapi ia mempunyai beberapa kebiasaan yang anda perlukan untuk membiasakan diri. Pertama sekali, jika anda ingin memasukkan sebarang data pada borang pembayaran anda yang tidak sesuai dengan salah satu transaksi Braintree, pelanggan atau objek kad kredit, maka anda perlu menggunakan ciri "medan tersuai" mereka. Katakan saya mahu menangkap warna kegemaran pengguna. Perkara pertama yang akan saya lakukan ialah menuju ke panel kawalan dan klik pada "Tetapan -> Pemprosesan." Tatal ke bahagian "Bidang Custom" dan klik "Baru." Anda akan mendapati diri anda di skrin berikut:

Pengalihan telus dengan Braintree Nama API adalah apa yang akan anda rujuk dalam atribut nama input bentuk. Nama paparan adalah untuk rujukan anda, dan anda boleh menentukan sama ada anda mahu menyimpan nilai medan tersuai anda pada Braintree dengan transaksi anda, atau hanya lulus kembali ke pelayan anda.

mengumpulkannya adalah hanya satu perkara yang menambahkan medan berikut ke borang anda.

Jika anda cuba melakukannya tanpa menambah medan tersuai dalam panel Kawalan Braintree, anda akan mencetuskan ralat pengesahan.
composer require braintree/braintree:*

Bercakap tentang pengesahan, TR boleh merumitkan pengesahan sisi pelayan borang pembayaran anda. Katakan saya mahu memerlukan alamat e -mel pelanggan saya. Saya tidak tahu bahawa pengguna telah meninggalkannya kosong sehingga selepas transaksi telah disahkan. Penyelesaian yang saya dapati adalah untuk menjalankan pengesahan saya di blok kejayaan skrip TR saya, dan kemudian membatalkan urus niaga jika pengesahan saya tidak lulus. Jadi itu akan mengubah kod kami seperti ini:

Seperti yang anda dapat lihat, jika pengesahan tempatan saya tidak lulus, saya menggunakan perpustakaan klien untuk membatalkan urus niaga, menggunakan ID transaksi dari objek Braintree_Result_Success.
<span><span>
</span>	<span><span><span> lang<span>="en"</span>></span>
</span>		<span><span><span>></span>
</span>		    <span><span><span><div> id<span>="wrap"</span>>
		        <span><span><span><form> method<span>="post"</span> action<span>=""</span> autocomplete<span>="off"</span>></form></span>
</span>		            <span><span><span><label>></label></span>Name on Card: <span><span><input> type<span>="text"</span> name<span>="transaction[credit_card][cardholder_name]"</span>></span><span><span></span>></span>
</span>					<span><span><span><label>></label></span>Card Number: <span><span><input> type<span>="text"</span> name<span>="transaction[credit_card][number]"</span>></span><span><span></span>></span>
</span>					<span><span><span><label>></label></span>CVV: <span><span><input> type<span>="text"</span> name<span>="transaction[credit_card][cvv]"</span> class<span>="short"</span>></span><span><span></span>></span>
</span>					<span><span><span><label>></label></span>Expiration Date (MM/YYYY): <span><span><input> type<span>="text"</span> name<span>="transaction[credit_card][expiration_date]"</span> class<span>="short"</span>></span><span><span></span>></span>
</span>					<span><span><span><input> type<span>="submit"</span> value<span>="submit payment"</span>></span>
</span>			    <span><span><span></span>></span>
</span>		    <span><span><span></span></span></span></span></span></span></span></span></span></span></span></span></span>
</div></span>></span>
</span>		<span><span><span></span>></span>
</span>	<span><span><span></span>></span></span></span></span></span>

Akhirnya, dalam contoh asas kami, saya tidak mengganggu bidang bentuk repopulating untuk pengguna, kerana semua bidang kami mengandungi data kad kredit sensitif yang Braintree menyembunyikan dari pelayan kami. Tetapi sekarang kami telah menambah beberapa data pelanggan, saya boleh menduduki medan yang kurang sensitif dengan data dari objek hasil Braintree. Anda dapat melihat kod penuh dalam sampel github saya, tetapi helah untuk memahami apa yang sedang berlaku adalah untuk mengetahui bahawa objek Braintree_Result_Success menyimpan data borang yang dikemukakan pengguna dalam harta transaksinya, sedangkan Braintree_Result_error menyimpannya dalam harta param. Jadi misalnya, pemboleh ubah nama pertama akan dijumpai dalam $ hasil-> transaksi-> pelanggan ['firstname'] apabila urus niaga berjaya, sementara transaksi yang gagal akan menyimpannya dalam $ hasil-> params ['transaksi'] [' Pelanggan '] [' FirstName '].

membungkus

Pengalihan telus Braintree adalah salah satu cara untuk meminimumkan pendedahan aplikasi anda kepada data pelanggan yang sensitif, dengan itu mengurangkan beban pematuhan PCI anda, dan perpustakaan klien php mereka memudahkan proses integrasi, tetapi ia menjadikannya lebih sukar untuk mengumpul dan mengesahkan bukan Maklumat berkaitan pembayaran pada borang yang sama dengan maklumat kad kredit pelanggan anda.

Lain kali, kita akan melihat penyelesaian pintar mereka yang lain: Braintree.js.

soalan yang sering ditanya mengenai pengalihan telus

Apakah tujuan utama menggunakan pengalihan telus dalam pemprosesan pembayaran? Mereka membenarkan data sensitif pelanggan dihantar terus ke gerbang pembayaran, melangkaui pelayan saudagar. Ini mengurangkan risiko pelanggaran data dan membantu peniaga mematuhi piawaian keselamatan data industri kad pembayaran (PCI DSS). Pengoptimuman, pengalihan telus dapat membantu mengurangkan bilangan permintaan HTTP, dengan itu meningkatkan kelajuan pemuatan tapak. Apabila pengguna melawat laman web, pelayan menghantar respons HTTP dengan kod status. Jika kod status menunjukkan redirect, penyemak imbas perlu membuat permintaan HTTP tambahan, yang boleh melambatkan masa pemuatan. Pengalihan telus boleh menghilangkan langkah tambahan ini, menjadikan laman web lebih cepat dan lebih cekap. Proses urus niaga, yang boleh mendedahkan data pelanggan yang sensitif kepada potensi risiko keselamatan. Sebaliknya, pengalihan telus memintas pelayan saudagar dan menghantar data terus ke gerbang pembayaran, meningkatkan keselamatan transaksi.

Bagaimana saya boleh melaksanakan pengalihan telus di laman web saya?

Melaksanakan pengalihan telus memerlukan beberapa pengetahuan teknikal. Anda perlu mengintegrasikan laman web anda dengan API Pembayaran Gateway. Ini melibatkan penubuhan borang di laman web anda yang menyiarkan maklumat pembayaran pelanggan terus ke pintu masuk. Gateway kemudian memproses transaksi dan menghantar respons kembali ke laman web anda.

Atas ialah kandungan terperinci Pengalihan telus dengan Braintree. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Bekerja dengan Data Sesi Flash di LaravelBekerja dengan Data Sesi Flash di LaravelMar 12, 2025 pm 05:08 PM

Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API RESTCurl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API RESTMar 14, 2025 am 11:42 AM

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Respons HTTP yang dipermudahkan dalam ujian LaravelRespons HTTP yang dipermudahkan dalam ujian LaravelMar 12, 2025 pm 05:09 PM

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

12 skrip sembang php terbaik di codecanyon12 skrip sembang php terbaik di codecanyonMar 13, 2025 pm 12:08 PM

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Terangkan konsep pengikatan statik lewat dalam PHP.Terangkan konsep pengikatan statik lewat dalam PHP.Mar 21, 2025 pm 01:33 PM

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Pembalakan PHP: Amalan Terbaik untuk Analisis Log PHPPembalakan PHP: Amalan Terbaik untuk Analisis Log PHPMar 10, 2025 pm 02:32 PM

Pembalakan PHP adalah penting untuk memantau dan menyahpepijat aplikasi web, serta menangkap peristiwa kritikal, kesilapan, dan tingkah laku runtime. Ia memberikan pandangan yang berharga dalam prestasi sistem, membantu mengenal pasti isu -isu, dan menyokong penyelesaian masalah yang lebih cepat

Cara mendaftar dan menggunakan penyedia perkhidmatan LaravelCara mendaftar dan menggunakan penyedia perkhidmatan LaravelMar 07, 2025 am 01:18 AM

Bekas perkhidmatan dan penyedia perkhidmatan Laravel adalah asas kepada seni bina. Artikel ini meneroka bekas perkhidmatan, butiran pembekal perkhidmatan, pendaftaran, dan menunjukkan penggunaan praktikal dengan contoh. Kita akan mulakan dengan ove

Menyesuaikan/Memperluas Rangka Kerja: Cara Menambah Fungsi Custom.Menyesuaikan/Memperluas Rangka Kerja: Cara Menambah Fungsi Custom.Mar 28, 2025 pm 05:12 PM

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

See all articles

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 laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.