php - Tentukan sama ada pengguna mempunyai kebenaran untuk mengakses
仅有的幸福
仅有的幸福 2017-05-16 13:01:46
0
8
820

Terdapat masalah: Apabila menanyakan data melalui parameter url, data biasanya disoal melalui id
Sebagai contoh, jika anda ingin menanyakan butiran pesanan, maka id ialah id jadual butiran pesanan

"http://localhost/index/order/detail/id/3.html"

Jadi bolehkah saya menukar ID ini untuk menanyakan butiran pesanan orang lain?
Apabila saya membuat butiran pesanan, adakah saya perlu menentukan sama ada ia adalah pesanan daripada pelanggan ini? Adakah menyusahkan untuk menilai setiap masa?
Atau gunakan nombor pesanan untuk membuat pertanyaan?

仅有的幸福
仅有的幸福

membalas semua(8)
给我你的怀抱

Apabila id dihantar ke latar belakang, pertanyaan pangkalan data bukan sahaja menanyakan keadaan id=id
Ia juga akan membawa banyak syarat, seperti uid log masuk pengguna, atau akaun pengguna yang disimpan dalam sesi

Sudah tentu anda lebih baik melakukan sesuatu untuk menghalang suntikan SQL Jika orang mengakses SQL anda dalam bentuk id=1";, SQL anda akan menjadi sangat berbahaya.

仅有的幸福

Masalah kebenaran harus dinilai oleh bahagian belakang Secara logiknya, bahagian hadapan harus menghantar id pesanan kepada pelayan (anda lulus parameter url di sini), dan kemudian bahagian belakang akan mencari jadual dan mengembalikan data ke bahagian hadapan. . Mengenai isu kebenaran, bahagian belakang boleh terlebih dahulu menentukan sama ada pengguna mempunyai kebenaran untuk memanggil antara muka ini selepas menerima maklumat panggilan antara muka dari bahagian hadapan Jika ya (dan data logik adalah munasabah, dsb.), data akan menjadi dikembalikan. Jika tidak, ia akan kembali secara langsung bahawa tiada kebenaran yang dikawal dengan cara ini.

过去多啦不再A梦

Tempahan sebenar mengelirukan Permintaan sebenarnya bukan medan kunci utama jadual data, jadi anda perlu mengubahnya sendiri

PHPzhong

Melihat butiran pesanan memerlukan sekurang-kurangnya dua parameter, id pesanan dan id pengguna semasa. Bahagian belakang hendaklah terlebih dahulu menentukan sama ada ia telah menerima kedua-dua parameter ini dengan betul, kemudian mencari maklumat pesanan yang sepadan berdasarkan ID pesanan, dan kemudian memadankan ID pengguna semasa dengan ID pengguna pesanan dalam maklumat pesanan Jika ia tidak konsisten menggesa bahawa mereka tidak mempunyai hak akses.

曾经蜡笔没有小新

1. ID yang sama tidak boleh digunakan sebagai asas untuk pertanyaan pesanan, seperti menggunakan uuid
2 Jadual pesanan mengandungi medan data pesanan semasa pelanggan

phpcn_u1582

Hubungan antara UID pengguna dan ID pesanan ialah &&.

黄舟

Apabila menyemak pesanan, sepatutnya:

select * from 订单表 where id="id" and uid="uid"; 
PHPzhong

1 Pertama tentukan sama ada pengguna log masuk dan dapatkan sesi untuk menentukan
2. Tentukan sama ada pengguna mempunyai kebenaran untuk mengakses butiran pesanan berdasarkan ID pengguna.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan