Rumah > Soal Jawab > teks badan
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?
给我你的怀抱2017-05-16 13:03:46
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.
仅有的幸福2017-05-16 13:03:46
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梦2017-05-16 13:03:46
Tempahan sebenar mengelirukan Permintaan sebenarnya bukan medan kunci utama jadual data, jadi anda perlu mengubahnya sendiri
PHPz2017-05-16 13:03:46
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.
曾经蜡笔没有小新2017-05-16 13:03:46
1. ID yang sama tidak boleh digunakan sebagai asas untuk pertanyaan pesanan, seperti menggunakan uuid
2 Jadual pesanan mengandungi medan data pesanan semasa pelanggan
黄舟2017-05-16 13:03:46
Apabila menyemak pesanan, sepatutnya:
select * from 订单表 where id="id" and uid="uid";
PHPz2017-05-16 13:03:46
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.