Soalan tentang kesahan
按键盘手指磨破皮
按键盘手指磨破皮 2017-09-01 14:07:24
0
3
1740

Saya seorang pemula, dan isu keselamatan tiba-tiba berlaku kepada saya semasa saya menulis kod hari ini.

Untuk pelbagai permintaan ajax, bolehkah penggodam menghantar kod secara luaran? Kerana pelayar fail JS boleh melihatnya, iaitu, ia boleh mengetahui kod anda Jadi jika penggodam menggunakan nama domain kami untuk menyerahkannya secara luaran, bolehkah PHP menentukan sama ada ia sah? Sebagai contoh, tentukan sama ada fail kami sendiri telah diserahkan?

Sebagai contoh, fail js saya mempunyai kod

$('input').click(function(){
    $.post('index.php',{a:xx,b:xx},function(a){
        xxxxx
    })
})
那么如果黑客通过外部提交
xxxxxxxxxxx
$('input').click(function(){
xxxxxx
    $.post('http://www.xxxx.com/index.php',{a:xx,b:xx},function(a){
        xxxxx
    })
xxxxxx
})
xxxxxxxxxxx

Bagaimanakah saya harus menulisnya dalam PHP untuk menghalangnya?

按键盘手指磨破皮
按键盘手指磨破皮

membalas semua(3)
MrSwan

Faham CSRF?

phpcn_u22108

Penyerahan luaran adalah perkara biasa dan suntikan perlu dicegah melalui prosedur.

  • balas POST berniat jahat boleh meleret pesanan dan meningkatkan volum, dsb.
    按键盘手指磨破皮 pengarang 2017-09-01 20:03:07
ringa_lee

Menurut apa yang anda katakan, data yang diserahkan oleh simulasi ajax luaran adalah merentas domain.

Anda mempunyai pelbagai cara untuk menangani perkara ini. Contohnya:

1 Anda boleh menetapkan kebenaran akses Contohnya, hanya ahli yang log masuk boleh melihatnya atau mengehadkan nama domain ini akan menyukarkan orang lain untuk merangkak. Tetapi halangan ini sentiasa boleh diatasi.

2. Gunakan sesi untuk menjana token Sahkan sesi selepas penyerahan.

3. Menganalisis log akses dan menyekat akses IP yang mencurigakan dari peringkat pelayan.

4 Rekod ketumpatan operasi setiap IP Jika lebih kerap, anda boleh meminta kod pengesahan dari semasa ke semasa.

...

Terdapat banyak kaedah, tetapi tiada satu pun yang terbaik. Semoga diterima pakai~

  • balas Kaedah ini tidak terasa sangat boleh dipercayai... Selepas menangkap paket dengan perisian penangkapan paket, ini boleh disimulasikan Sebagai contoh, sesi boleh ditangkap dengan mengakses fail dan mengembalikannya. Terdapat banyak IP di Internet, dan ia boleh digunakan. Saya merasakan bahawa perkara yang paling penting untuk belajar PHP adalah untuk mengelakkan daripada digodam tapak web saya sentiasa digodam, dikodkan dan disiarkan secara haram.
    按键盘手指磨破皮 pengarang 2017-09-01 16:06:46
  • balas Faham, terima kasih atas jawapannya
    按键盘手指磨破皮 pengarang 2017-09-01 16:22:31
  • balas Tiada kaedah yang mutlak. Terdapat terlalu banyak kaedah keselamatan Anda boleh memfokuskan pada pelayan dan menggunakan pendekatan serampang dua mata anda bukan tapak yang sangat popular, orang tidak boleh hanya duduk diam tidak melakukan apa-apa sepanjang hari, menyelidik dan berfikir tentang menyerang tapak anda setiap hari.
    ringa_lee pengarang 2017-09-01 16:20:36
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!