Back to Question Center
0

Adakah OK untuk memberi status 404 kepada pengguna yang tidak dibenarkan? - Semalt

1 answers:

Dalam beberapa bulan kebelakangan ini saya telah menjumpai beberapa laman web, yang memberikan halaman status / ralat 404, apabila perlu ada 403 atau mungkin 401.

Sebagai contoh, saya mempunyai repositori peribadi di github. com dengan pautan:

https: // github. com / BlueGhost-cz / BG3

Apabila saya secara tidak sengaja keluar dan cuba untuk mencapai pautan ini, saya hanya mendapat "Ini bukan halaman yang anda cari" tidak betul. Saya mencari dan sumbernya ada, saya hanya tidak disahkan. Saya mengharapkan 403 atau beberapa halaman "izin ditolak" yang lain. Ini yang benar-benar menakutkan saya selama beberapa saat, kerana ia menyatakan repositori saya telah dipadamkan.

Adakah anda juga menganggap ini salah? Apa yang menjadi "amalan terbaik" dalam bidang ini?

1 week ago

Secara peribadi saya fikir ini wajar. Dengan mengembalikan 403 sebaliknya, Github akan mengesahkan bahawa repositori dengan nama itu wujud, yang dengan sendirinya dapat dilihat sebagai lubang keselamatan (atau sekurang-kurangnya tidak diingini).

Sebagai contoh yang dibina, bayangkan bahawa repositori ini wujud:

  • http: // github. com / valve / HalfLife
  • http: // github. com / valve / HalfLife2

Jika satu hari http: // github. com / valve / HalfLife3 mula mengembalikan 403, yang pada dasarnya akan mengesahkan bahawa Half Life 3 sedang diusahakan.

Sisi flip ini adalah bahawa bukan biasa bagi pelayan web untuk dikonfigurasi untuk berkhidmat 403 untuk URL yang tidak ada, untuk sebab yang sama.

Nah, 404 harus digunakan apabila sumber tidak wujud, bukan kerana anda tidak diberi kuasa, ia tidak ada sama sekali. 403 perlu untuk sumber yang dilarang, tanpa mengizinkan anda disahkan, anda mungkin tidak mempunyai kebenaran ke atas sumber yang diberikan. Saya agak 401 untuk sumber yang ditemui tetapi memerlukan beberapa pengesahan untuk mendapatkannya. IMO

Adakah OK untuk memberi status 404 kepada pengguna yang tidak dibenarkan? - Semalt
Reply