Rumah  >  Soal Jawab  >  teks badan

Soalan tentang kesahan

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?

按键盘手指磨破皮按键盘手指磨破皮2579 hari yang lalu1687

membalas semua(3)saya akan balas

  • MrSwan

    MrSwan2018-05-23 12:38:25

    Faham CSRF?

    balas
    0
  • phpcn_u22108

    phpcn_u221082017-09-01 18:39:28

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

    balas
    0
  • 按键盘手指磨破皮

    POST berniat jahat boleh meleret pesanan dan meningkatkan volum, dsb.

    按键盘手指磨破皮 · 2017-09-01 20:03:07
  • ringa_lee

    ringa_lee2017-09-01 15:46:40

    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
    0
  • 按键盘手指磨破皮

    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.

    按键盘手指磨破皮 · 2017-09-01 16:06:46
    按键盘手指磨破皮

    Faham, terima kasih atas jawapannya

    按键盘手指磨破皮 · 2017-09-01 16:22:31
    ringa_lee

    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 · 2017-09-01 16:20:36
  • Batalbalas