Jadual Kandungan
1. Sediakan rantai anti-kecurian menggunakan .htaccess (untuk Apache)
2. Gunakan nginx untuk mengkonfigurasi peraturan pautan anti-kecurian
3. Gunakan fungsi pautan anti-kecurian yang disediakan oleh CDN
4. Tambah gambar watermark atau gambar kecil ke gambar
Rumah Operasi dan penyelenggaraan Nginx Bagaimana untuk mengelakkan hotlinking imej atau aset lain?

Bagaimana untuk mengelakkan hotlinking imej atau aset lain?

Jul 22, 2025 am 02:47 AM

Mencegah imej atau sumber-sumber lain daripada menjadi rantaian panas boleh dicapai melalui pelbagai kaedah: 1. Gunakan .htaccess untuk menubuhkan rantai anti-kecurian dan menyekat akses luaran dengan menilai pengepala rujukan; 2. Konfigurasikan peraturan valid_referers di nginx untuk mengelakkan permintaan haram; 3. Gunakan senarai putih, URL tandatangan dan fungsi rantai anti-kecurian lain yang disediakan oleh CDN; 4. Tambah tanda air atau berikan kecil kepada imej untuk mengurangkan nilai rantaian kecurian. Kaedah ini boleh digunakan secara bersendirian atau dalam kombinasi, dengan berkesan mengurangkan sisa lebar jalur.

Bagaimana untuk mengelakkan hotlinking imej atau aset lain?

Mencegah imej atau sumber lain daripada menjadi hotlinked sebenarnya adalah keperluan biasa, terutamanya apabila trafik laman web atau jalur lebar adalah terhad. Cara yang paling langsung adalah untuk menyekat sumber luaran daripada mengakses sumber statik anda melalui konfigurasi pelayan.

1. Sediakan rantai anti-kecurian menggunakan .htaccess (untuk Apache)

Jika anda menggunakan pelayan Apache, anda boleh menetapkan peraturan pautan anti-kecurian melalui fail .htaccess . Idea asas adalah untuk menilai pengepala Referer permintaan. Jika bukan nama domain anda sendiri, akses akan ditolak.

Contoh kod:

 Menulis semula
Menulis semula %{http_referer}!^$
Menulis semula %{http_referer}!^Https?: // (www \.)? Yourdomain \ .com/[nc]
Rewriterule \. (Jpg | jpeg | png | gif | mp4) $ - [f, nc, l]

Makna peraturan ini ialah: Jika sumber permintaan bukan laman web anda sendiri, permintaan luaran ke fail imej atau video akan mengembalikan ralat 403.

Beberapa mata yang perlu diperhatikan:

  • Ganti yourdomain.com ke dalam nama domain sebenar anda sendiri
  • Jenis fail boleh ditambah atau menurun seperti yang diperlukan
  • Sekiranya anda menggunakan CDN atau membenarkan beberapa sumber rujukan pihak ketiga, ingatlah dengan senarai nama domain ini

2. Gunakan nginx untuk mengkonfigurasi peraturan pautan anti-kecurian

Pendekatan Nginx juga sangat serupa, kecuali sintaks adalah berbeza. Anda boleh menambah kandungan berikut di pelayan atau blok lokasi:

 Lokasi ~ \. (jpg | jpeg | png | gif | mp4) $ {
    valid_referers Tiada yang disekat yourdomain.com www.yourdomain.com;
    jika ($ invalid_referer) {
        pulangan 403;
    }
}

Juga ganti dengan nama domain anda sendiri. Selepas konfigurasi ini, permintaan dari sumber yang tidak dibenarkan akan disekat.

Petua: Jika anda mahu menggantikannya dengan imej segera dan bukannya kembali 403, anda boleh menggunakan rewrite untuk menunjuk kepada imej pengganti, seperti:

 menulis semula ^/imej /(.*)$ /images/nohotlink.jpg break;

3. Gunakan fungsi pautan anti-kecurian yang disediakan oleh CDN

Pada masa kini, banyak perkhidmatan CDN datang dengan fungsi rantai anti-kecurian, seperti Cloudflare, Alibaba Cloud, Tencent Cloud, dan lain-lain. Mereka biasanya menyokong cara berikut:

  • Rujukan Whitelist
  • URL Tandatangan (dengan cap waktu dan kunci)
  • Senarai IP Hitam dan Putih

Menggunakan URL yang ditandatangani adalah cara yang lebih selamat kerana walaupun seseorang melihat pautan, ia tidak boleh dicuri pada kehendak, kerana pautan akan tamat selepas beberapa ketika.

Sekiranya anda sudah menggunakan CDN, disarankan untuk pergi ke konsol untuk melihat sama ada terdapat sebarang tetapan berkaitan "Link Anti-Theft" atau "Perlindungan Hotlink". Umumnya, mereka boleh diaktifkan dengan satu klik.

4. Tambah gambar watermark atau gambar kecil ke gambar

Ini bukan rantai anti-kecurian teknikal, tetapi ia dapat mengurangkan nilai rantaian kecurian. Sebagai contoh, banyak laman web terlebih dahulu menambah versi termampat atau watermark sebelum memaparkan imej yang besar, yang tidak akan menjejaskan pengalaman pengguna, tetapi juga akan mengurangkan kesediaan orang lain untuk menyalin dan menggunakannya secara langsung.

Sesetengah sistem katil CMS atau gambar menyokong generasi kecil yang dinamik, dan juga boleh digabungkan dengan NGINX atau middleware pemprosesan gambar untuk melakukan operasi penanaman dan operasi air automatik.


Pada dasarnya ini adalah kaedah. Anda boleh memilih satu atau lebih kombinasi berdasarkan persekitaran pelayan anda. Walaupun kecurian pautan tidak dapat dihapuskan sepenuhnya, ia sekurang -kurangnya dapat mengurangkan penggunaan lalu lintas yang tidak perlu.

Atas ialah kandungan terperinci Bagaimana untuk mengelakkan hotlinking imej atau aset lain?. 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

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Skop pembolehubah PHP dijelaskan
1 bulan yang lalu By 百草
Mengulas kod dalam php
1 bulan yang lalu By 百草
Petua untuk menulis komen php
1 bulan 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)

Topik panas

Tutorial PHP
1511
276
Bagaimana untuk menyediakan blok pelayan Nginx (host maya)? Bagaimana untuk menyediakan blok pelayan Nginx (host maya)? Jul 19, 2025 am 02:00 AM

TosetupannginxServerBlock, FirstUnderstRuctureUsureUsingTheserverdirectiveWithSettingsLikeListen, Server_name, andlocation; Next, createadirectoryStructureForeforeforeforeforeforeforyoursiteSuchas/var/www/example.com/htmlandSetPerpersmissions;

Bagaimana untuk menyekat ejen pengguna tertentu? Bagaimana untuk menyekat ejen pengguna tertentu? Jul 26, 2025 am 08:20 AM

Untuk menyekat ejen pengguna tertentu, ia boleh dilaksanakan di Nginx, Apache, atau kod (seperti PHP, Python). 1. Dalam nginx, hakim $ http_user_agent oleh jika dan kembali 403; 2. Di Apache, gunakan setenvifnocase dan menafikan untuk menafikan akses; 3. Hakim pengguna-ejen dalam program dan memintas permintaan. UAS biasa yang perlu disekat termasuk python-requests, curl, kosong UA, dan lain-lain. Memilih kaedah yang sesuai dapat mengurangkan trafik sampah dan risiko keselamatan.

Bagaimana untuk menyampaikan fail video MP4 dengan cekap dengan modul MP4? Bagaimana untuk menyampaikan fail video MP4 dengan cekap dengan modul MP4? Jul 20, 2025 am 04:01 AM

Untuk menyediakan fail video MP4 dengan cekap, anda perlu membolehkan permintaan pelbagai byte, mengoptimumkan struktur fail, pengekodan rasional dan pemampatan, dan mengadopsi caching strategik. Pertama, membolehkan permintaan Byte Range (menerima: bytes) untuk menyokong lompatan video, siaran terganggu dan aliran kadar bit adaptif; Kedua, gunakan alat seperti QT-FastStart untuk memindahkan atom Moov ke permulaan fail untuk mencapai bermain bawah; Ketiga, gunakan pengekodan H.264/H.265, dengan munasabah menetapkan kadar bit dan membolehkan pengekodan dua lulus untuk mengurangkan saiz fail sambil memastikan kualiti; Akhirnya, dengan menetapkan tajuk kawalan cache jangka panjang dan menggunakan CDN untuk caching tepi, mengurangkan beban pelayan dan meningkatkan kelajuan tindak balas.

Bagaimana untuk menjamin pelayan nginx? Bagaimana untuk menjamin pelayan nginx? Jul 25, 2025 am 01:00 AM

Langkah -langkah utama untuk melindungi keselamatan pelayan Nginx termasuk: 1. Konfigurasi sambungan HTTPS yang disulitkan, gunakan Sijil Percuma Let'sEncrypt dan mengkonfigurasi secara automatiknya melalui CertBot, menubuhkan lompatan paksa dan suite penyulitan yang sesuai, dan membolehkan pembaharuan automatik; 2. Mengehadkan keizinan akses, melindungi laluan sensitif melalui kawalan IP dan pengesahan BasicAuth; 3. Matikan kebocoran maklumat, sembunyikan nombor versi, melarang pelayaran direktori, dan menyesuaikan halaman ralat untuk mengurangkan permukaan serangan.

Mengapa nginx tidak akan bermula dan bagaimana saya dapat mencari ralat? Mengapa nginx tidak akan bermula dan bagaimana saya dapat mencari ralat? Jul 18, 2025 am 02:24 AM

Kegagalan Nginx untuk memulakan biasanya disebabkan oleh kesilapan konfigurasi, konflik pelabuhan, atau isu kebenaran. Mula-mula semak log ralat Nginx, gunakan arahan Sudotail-f/var/log/nginx/error.log untuk melihat maklumat ralat terkini dalam masa nyata; Kedua, uji sintaks fail konfigurasi, jalankan Sudonginx-T untuk memastikan tiada kesilapan sintaks; kemudian sahkan sama ada proses lain menduduki port 80 atau 443, dan gunakan Sudonetstat-Tulpn | grep ': 80 \ |: 443' untuk mengesan dan mengendalikan konflik; Akhirnya sahkan keizinan dan pemilikan fail untuk memastikan bahawa NGINX mempunyai kebenaran untuk mengakses direktori dan fail yang berkaitan.

Bagaimana cara menggunakan nginx sebagai pengimbang beban HTTP yang mudah? Bagaimana cara menggunakan nginx sebagai pengimbang beban HTTP yang mudah? Jul 21, 2025 am 01:48 AM

Bagaimana untuk melaksanakan pengimbangan beban http menggunakan nginx? Jawapannya adalah seperti berikut: 1. Gunakan modul hulu untuk menentukan kumpulan pelayan backend dan hantar permintaan melalui proxy_pass di pelayan atau lokasi; 2. Pengundian sokongan, pengundian wajaran, sambungan minimum dan dasar hashing IP; 3. Anda boleh mengkonfigurasi, sandaran, fail_timeout dan max_fails parameter untuk meningkatkan kestabilan; 4. Selepas mengubah suai konfigurasi, laksanakan sintaks semak NGINX-T dan gunakan Nginx-Sreload untuk berkuatkuasa. Contohnya, struktur konfigurasi asas merangkumi tiga nod backend menggunakan pengundian untuk mengedarkan lalu lintas secara lalai, sementara pengundian berwajaran membolehkan peruntukan permintaan mengikut berat, paling tidak_conn akan menghantar permintaan tersebut

Bagaimana cara menggunakan kad liar atau ungkapan biasa dalam server_name? Bagaimana cara menggunakan kad liar atau ungkapan biasa dalam server_name? Jul 23, 2025 am 01:43 AM

Apabila menggunakan server_name dalam nginx untuk memadankan pelbagai domain atau subdomain, ia boleh dicapai melalui wildcards dan ungkapan biasa. 1. Apabila menggunakan Wildcards, asterisk hanya boleh digunakan untuk permulaan atau berakhir, dan mesti menjadi sempadan label lengkap. Sebagai contoh, .example.com boleh memadankan subdomain peringkat pertama tetapi tidak termasuk domain akar atau subdomain pelbagai peringkat. Jika anda perlu memadankan kedua-dua domain akar dan subdomain peringkat pertama, ia harus ditulis sebagai example.com*.example.com; 2. Apabila menggunakan ungkapan biasa, anda mesti bermula dengan ~, seperti ~^\ w. (Dev | test) $ boleh memadankan nama domain yang berakhir dengan .dev atau .test, dan panggilan menangkap panggilan kumpulan; 3. Keutamaan yang sepadan adalah nama tepat> awalan wildcard terpanjang> akhiran wildcard terpanjang &

Proses dan sambungan pekerja nginx Proses dan sambungan pekerja nginx Jul 27, 2025 am 03:15 AM

Tetapkan pekerja_processes ke auto (iaitu, bilangan teras CPU) untuk memanfaatkan sepenuhnya prestasi pelbagai teras; 2. Tetapkan Worker_Connections (seperti 1024 atau lebih tinggi) mengikut batasan deskriptor fail sistem dan trafik yang diharapkan untuk memastikan bahawa ULIMIT-N cukup besar; 3. Bilangan maksimum sambungan serentak = worker_processes × worker_connections, konfigurasi yang munasabah dapat menyokong ribuan kepada puluhan ribu sambungan, elakkan kesesakan, dan meningkatkan prestasi persekitaran pengeluaran nginx.

See all articles