


3
Takeaways Key
Melaksanakan kawalan akses ke aset anda adalah penting untuk keselamatan. Whitelisting adalah pendekatan yang disyorkan, di mana penjaga pintu hanya membolehkan entiti yang dipercayai untuk mengakses aset anda. Penjaga pintu ini boleh diletakkan di pelayan HTTP atau kod aplikasi, menyediakan alat untuk memeriksa http_host.
Kawalan akses di peringkat kod aplikasi menawarkan lebih banyak fleksibiliti. Kaedah ini juga boleh mengendalikan situasi iframe, di mana perujuk tidak memberikan maklumat mengenai status iframe. Walau bagaimanapun, kedua-dua kaedah pelayan HTTP dan kod aplikasi tidak mudah alih dan penjaga pintu berasaskan token seperti OAuth disyorkan untuk keselamatan yang dipertingkatkan.
- Apabila membina aplikasi web atau laman web yang hebat, kadang -kadang kita mahu orang ramai dapat membenamkan bahagian aplikasi/laman web kami ke dalam mereka sendiri. Itu boleh menjadi iframe memegang butang 'suka', imej mudah yang mereka mahu gunakan semula atau bahkan keseluruhan aplikasi kami yang tertanam dalam iframe.
- Tetapi bagaimana kita mengawal siapa yang mempunyai akses, siapa yang dibenarkan menggunakan jalur lebar kami dan menanyakan perkhidmatan kami?
- kami menentukan masalah sebagai
ke
aset
oleh aset yang kita maksudkan: apa sahaja yang boleh dipersoalkan dari laman web kami. Sekatan Akses: Benarkan beberapa, blok semua Apabila bercakap mengenai kawalan akses, kami memasukkan domain keselamatan. Dan apabila bercakap keselamatan, senarai putih harus menjadi pendekatan yang diambil untuk menangani masalah tersebut. Lebih mudah untuk mengawal siapa yang dibenarkan mengakses aset
andadaripada mengawal siapa yang tidak. Tidak mustahil untuk mengetahui semua raksasa boogie Internet.
Untuk melindungi aset
kami, kami mengupah penjaga pintu untuk hanya membiarkan orang yang kami percayai. Setelah disewa, kami memberinya akses kepada Whitelist yang kami kendalikan, dan biarkan dia melakukan semua mengangkat berat. Masalah diselesaikan. Tetapi bagaimanakah pengangkat pintu masuk? Taktik mengangkat
Bergantung pada seberapa selamat yang anda mahukan penjaga pintu dan apa yang diminta oleh pelanggan, taktik yang berbeza boleh digunakan. Pendekatan biasa yang digunakan ialah memeriksa tajuk rujukan. Kaedah itu mempunyai 3 kelemahan besar:
- Rujukan juga ditetapkan apabila orang mengakses laman web anda menggunakan pautan
- Rujukan dihantar ke pelayan anda oleh klien, dan boleh diubah
- Rujukan mungkin tidak ditetapkan sama sekali
bro, adakah anda mengangkat?
Bergantung pada persediaan yang digunakan, pertanyaan yang dibuat melalui satu siri
Gates . Persediaan mudah ialah: klien -> pelayan http -> kod aplikasi
Jadi di manakah penjaga pintu anda duduk? Pelanggan adalah de facto tidak pergi untuk kawalan akses kerana dia adalah sekeping manusia yang tidak boleh dipercayai. Pelayan HTTP dan kod aplikasi di sisi lain adalah pilihan yang berguna. Kedua -duanya memberi kami alat yang kuat untuk memeriksa http_host.pelayan http tahu cara mengangkat
Kekuatan dalam mempunyai pelayan HTTP anda mengendalikan kawalan akses anda adalah kelajuan. Tidak perlu membakar kod permohonan untuk setiap permintaan. Ini secara drastik dapat meningkatkan prestasi kerana kita tidak perlu memuatkan keseluruhan stack/thread aplikasi (mis. Mod_php) ke dalam ingatan.
Bergantung pada pelayan HTTP anda, penyelesaian yang berbeza boleh didapati.
Apache
Di Apache, terdapat dua kaedah yang berbeza. Kita boleh menggunakan mod_rewrite atau membenarkan/menafikan.
Kaedah mod_rewrite:
# Turn mod_rewrite on RewriteEngine On # if it is not trusted.domain.tld block it RewriteCond %{HTTP_REFERER} !^trusted\.domain\.tld$ [NC] RewriteCond %{HTTP_REFERER} !^trusted\.tld$ [NC] RewriteRule ^ - [F]
mod_rewrite disokong oleh kebanyakan penyedia hosting.kaedah membenarkan/menafikan:
#specify the files to guard, block all the assets <files> #block everyone Deny from all #allow trusted ones Allow from trusted.tld trusted.domain.tld </files>
tidak semua tuan rumah menyokong tetapan tersebut.nginx
httpreferermodule di nginx memberi kita valid_referers yang sangat sejuk: jadi semua yang perlu kita lakukan adalah, mengembalikan kod http 444 apabila domain yang tidak dipercayai cuba mengakses aset kita:
Sambungan tanpa menghantar sebarang tajuk ...
pelayan http tidak berfikir
location / { valid_referers trusted.tld trusted.domain.tld; if ($invalid_referer) { return 444; } }
Masalah besar di sini adalah skalabilitas: Bagaimana jika kita mempunyai 1000 domain yang perlu dapat mengakses aset kita? Bagaimana jika senarai domain sering berubah?
Untuk setiap pengeditan kecil, kita perlu menyelam ke dalam fail konfigurasi kami - dan semakin banyak anda berubah secara manual, semakin banyak yang boleh salah.
kod aplikasi tahu apa yang harus dilakukan
Mempunyai kawalan akses anda pada tahap kod aplikasi anda bermakna lebih banyak fleksibiliti. Seseorang boleh mempunyai penjaga pintu dan berjalan dalam masa yang singkat:
bagaimana dengan iframes itu?
<span><span><?php </span></span><span><span>//the whitelist we control </span></span><span><span>$whitelist = array( </span></span><span> <span>'trusted.tld', </span></span><span> <span>'trusted.domain.tld' </span></span><span><span>); </span></span><span> </span><span><span>//the referer </span></span><span><span>$referer = parse_url($_SERVER["HTTP_REFERER"], PHP_URL_HOST); </span></span><span> </span><span><span>//the gatekeeper </span></span><span><span>if ( !in_array($referer, $whitelist) ) </span></span><span><span>{ </span></span><span> <span>throw new GateKeeperDoesNotApprove; </span></span><span><span>}</span></span></span>
Seperti yang disebutkan, bergantung kepada rujukan itu tidak selalu menjadi idea yang baik. Ia bukan sahaja data dari manusia yang tidak boleh dipercayai, ia juga tidak memberi kita petunjuk sama ada kita berada dalam iframe atau tidak. Hanya ada cara untuk mengetahui.
Kami boleh menyewa seorang hitman untuk membantu penjaga pintu kami. Hitman kami akan dihantar kepada manusia yang kelihatan mencurigakan (mis. Orang -orang yang mempunyai rujukan yang tidak dipercayai). The hitman akan menggunakan JS sebagai senjatanya:
# Turn mod_rewrite on RewriteEngine On # if it is not trusted.domain.tld block it RewriteCond %{HTTP_REFERER} !^trusted\.domain\.tld$ [NC] RewriteCond %{HTTP_REFERER} !^trusted\.tld$ [NC] RewriteRule ^ - [F]
Sayangnya, seseorang yang tiba dari domain yang tidak dipercayai mempunyai rujukan yang sama seperti orang lain yang mengakses kami menggunakan iframe dari domain yang tidak dipercayai itu. Aset, bagaimanapun, akan mempunyai rujukan yang ditetapkan ke domain kami (walaupun dalam situasi iframe) - jadi menghantar hitman di sini adalah berlebihan. Cukup menafikan akses sudah cukup - atau anda boleh menghantar imej anak kucing rawak.
Itulah sebabnya kami mempunyai pemeriksaan hitman kami jika kami berada dalam iframe. Jika ya, kami telah membunuh sasaran kami:
#specify the files to guard, block all the assets <files> #block everyone Deny from all #allow trusted ones Allow from trusted.tld trusted.domain.tld </files>
Satu -satunya perkara yang perlu kita tahu ialah mempunyai penjaga pintu kami menambah hitman ke muatan yang dihantar kepada pelanggan. Mudah!
location / { valid_referers trusted.tld trusted.domain.tld; if ($invalid_referer) { return 444; } }
Kod ini bukan bukti pengeluaran. Ia berfungsi sebagai contoh.
bagaimana dengan keselamatan sebenar?
Penyelesaian yang dibekalkan di sini akan menjaga anda terhadap kebanyakan raksasa boogie. Tetapi kedua -dua penyelesaian bukan bukti bodoh. Yang pertama menggunakan data dari klien, yang kedua adalah JavaScript yang dijalankan oleh klien.
Cara yang selamat adalah menggunakan penjaga pintu berasaskan token. OAuth mungkin lelaki yang anda mahukan untuk pekerjaan di sini, tetapi itu adalah di luar skop artikel ini.
Soalan Lazim (Soalan Lazim) mengenai Kaedah Sekatan Akses Aset
Apakah kaedah sekatan akses aset yang berbeza? Kaedah ini termasuk penyekatan IP, yang melibatkan menyekat akses dari alamat IP tertentu; Geo-blocking, yang menyekat akses berdasarkan lokasi geografi; dan menyekat ejen pengguna, yang menghalang akses daripada pelayar atau peranti tertentu. Kaedah lain termasuk penyekatan perujuk HTTP, yang menyekat akses berdasarkan laman web rujukan, dan perlindungan kata laluan, yang memerlukan pengguna memasukkan kata laluan untuk mendapatkan akses.
Penyekatan IP adalah kaedah yang digunakan untuk mengelakkan alamat IP tertentu daripada mengakses aset digital. Ini dilakukan dengan menambahkan alamat IP ke 'senarai hitam' dalam fail konfigurasi pelayan. Sebarang permintaan yang datang dari alamat IP ini akan dinafikan, dengan berkesan menyekat mereka daripada mengakses aset. Hadkan akses kepada aset digital berdasarkan lokasi geografi. Ini sering digunakan untuk mematuhi perjanjian pelesenan serantau atau untuk mengelakkan akses dari kawasan yang dikenali untuk serangan siber. Geo-blocking berfungsi dengan menentukan lokasi pengguna berdasarkan alamat IP mereka.Bagaimanakah penyekatan ejen pengguna boleh digunakan dalam sekatan akses aset?
Bagaimana perlindungan kata laluan berfungsi dalam sekatan akses aset? aset digital dengan menghendaki pengguna memasukkan kata laluan. Ini sering digunakan untuk aset peribadi atau sensitif. Pelayan akan meminta pengguna untuk kata laluan apabila mereka cuba mengakses aset, dan hanya mereka yang memasuki kata laluan yang betul akan diberikan akses. 🎜> Ya, kaedah sekatan akses aset berganda boleh digunakan bersama -sama untuk menyediakan tahap keselamatan yang lebih tinggi. Sebagai contoh, anda boleh menggunakan penyekatan IP untuk mengelakkan akses dari alamat IP tertentu, dan kemudian gunakan perlindungan kata laluan untuk menyekat akses kepada pengguna yang diberi kuasa sahaja. >
Melaksanakan kaedah sekatan akses aset di laman web anda biasanya melibatkan mengubah suai fail konfigurasi pelayan anda. Proses yang tepat akan bergantung pada perisian pelayan yang anda gunakan dan kaedah sekatan khusus yang anda ingin laksanakan. Boleh memberikan tahap keselamatan yang tinggi, mereka juga berpotensi menghalang pengguna yang sah. Sebagai contoh, penyekatan IP boleh menghalang pengguna yang menggunakan VPN atau proksi, dan geo-blocking boleh menghalang pengguna yang melakukan perjalanan ke luar negara. Oleh itu, penting untuk mempertimbangkan dengan teliti kesan yang berpotensi kepada pengguna sebelum melaksanakan kaedah ini. Rangkaian (CDN) untuk mengedarkan aset anda, menggunakan firewall untuk melindungi pelayan anda, atau menggunakan plugin keselamatan atau perkhidmatan yang menyediakan pelbagai ciri keselamatan. Alternatif ini dapat memberikan tahap keselamatan yang tinggi tanpa potensi kelemahan kaedah sekatan akses aset.
Atas ialah kandungan terperinci Kaedah sekatan akses aset - Blok pelawat yang tidak diingini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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-

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

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' =>

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

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

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

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.

Alipay Php ...


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

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),