首頁  >  問答  >  主體

關於合法性的問題

本人是新手,今天寫程式碼突然想到個安全性問題。

對於ajax的各種請求,駭客是否能透過外部進行程式碼提交?因為JS檔案瀏覽器都能看到,也就是能知道你的程式碼,那麼如果駭客在外部用我們的網域進行提交,php能否判斷是否合法呢?例如判斷是否是我們自己的文件提交的?

例如我的js檔案有段程式碼

$('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

PHP裡面要如何寫才能防止呢?

按键盘手指磨破皮按键盘手指磨破皮2628 天前1739

全部回覆(3)我來回復

  • MrSwan

    MrSwan2018-05-23 12:38:25

    CSRF了解下?

    回覆
    0
  • phpcn_u22108

    phpcn_u221082017-09-01 18:39:28

    外部提交是正常的,需要透過程式來阻止注入。

    回覆
    0
  • 按键盘手指磨破皮

    惡意的POST可以刷單刷量啥的

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

    ringa_lee2017-09-01 15:46:40

    照你這樣的說法的話,外面ajax模擬提交過來的資料就屬於是跨域了。

    這個你有多種方式去處理。例如:

    1、可以設定存取權限,比如說只有登入會員才可查看或是限定域名,這樣會對別人的抓取造成一定難度。但這個障礙總是能被解決的。

    2、用session產生令牌,提交之後驗證session,合法則馬上註銷這個session,確保每次都有一個新的令牌。

    3、分析存取日誌,從伺服器層級限制可疑IP存取。

    4、記錄每個IP的操作密度,較頻繁的可不定時要求輸入驗證碼。

    ........

    會有很多種方法,但沒有哪一種說是最好的,建議多管齊下。望採納~

    回覆
    0
  • 按键盘手指磨破皮

    這些方法感覺都不太可靠...用抓包軟體抓包後 這些都是可以模擬出來的 比如session 可以透過存取文件返回抓取到 網上的IP也多 都能拿來用 感覺學PHP最重要的就是防止被駭啊 我網站老是被駭 被各種加代碼 各種非法POST

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

    知道了,感謝回答

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

    沒有什麼方法是絕對的,安全類的方法太多了,你可以著重從伺服器上下手,雙管齊下,什麼方法都用上,你多做幾種防護措施,別人也不能輕易的去攻擊你的站點,而且你不是什麼太熱門的站,人家也不可能整天閒的沒事幹,天天研究想著去攻擊你的站啊

    ringa_lee · 2017-09-01 16:20:36
  • 取消回覆