Rumah >hujung hadapan web >tutorial js >Mengapa Saya Tidak Boleh Menetapkan Nilai Input Fail HTML kepada Laluan Fail Setempat?

Mengapa Saya Tidak Boleh Menetapkan Nilai Input Fail HTML kepada Laluan Fail Setempat?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-23 17:10:11372semak imbas

Why Can't I Set the Value of an HTML File Input to a Local File Path?

Menetapkan Nilai untuk Input Fail dalam HTML

Input fail dalam HTML menyediakan cara yang mudah untuk pengguna memilih fail daripada sistem fail setempat mereka. Walau bagaimanapun, menetapkan nilai input fail kepada laluan sistem fail cakera sisi klien tidak mungkin disebabkan oleh pertimbangan keselamatan.

Bayangkan senario di mana anda mempunyai borang dengan input fail:

<input type="file" />

Jika mungkin untuk menetapkan nilai input kepada laluan pada sistem fail pelanggan, tapak web berniat jahat boleh mengeksploitasi ini untuk mendapatkan akses kepada data sensitif pada pengguna komputer. Sebagai contoh, tapak web boleh membuat borang seperti ini:

<form name="foo" method="post" enctype="multipart/form-data">
    <input type="file" value="c:/passwords.txt">
</form>
<script>document.foo.submit();</script>

Setelah menyerahkan borang, tapak web tersebut akan dapat mengakses fail passwords.txt pengguna. Untuk mengelakkan risiko keselamatan ini, penyemak imbas melarang menetapkan nilai input fail kepada laluan sistem fail setempat.

Satu-satunya cara untuk menetapkan nilai input fail ialah dengan menentukan sumber web yang boleh diakses secara umum, seperti yang ditunjukkan dalam contoh berikut :

<input type="file" value="https://example.com/image.png">

Teknik ini berguna untuk memaparkan imej pratonton atau prapilih fail yang sudah tersedia dalam talian. Walau bagaimanapun, ia bukan pengganti untuk membenarkan pengguna memilih fail daripada sistem fail setempat mereka.

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menetapkan Nilai Input Fail HTML kepada Laluan Fail Setempat?. 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