關於合法性的問題
按键盘手指磨破皮
按键盘手指磨破皮 2017-09-01 14:07:24
0
3
1753

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

對於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裡面要如何寫才能防止呢?

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

全部回覆(3)
MrSwan

CSRF了解下?

phpcn_u22108

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

ringa_lee

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

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

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

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

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

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

........

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

  • 回覆 這些方法感覺都不太可靠...用抓包軟體抓包後 這些都是可以模擬出來的 比如session 可以透過存取文件返回抓取到 網上的IP也多 都能拿來用 感覺學PHP最重要的就是防止被駭啊 我網站老是被駭 被各種加代碼 各種非法POST
    按键盘手指磨破皮 作者 2017-09-01 16:06:46
  • 回覆 知道了,感謝回答
    按键盘手指磨破皮 作者 2017-09-01 16:22:31
  • 回覆 沒有什麼方法是絕對的,安全類的方法太多了,你可以著重從伺服器上下手,雙管齊下,什麼方法都用上,你多做幾種防護措施,別人也不能輕易的去攻擊你的站點,而且你不是什麼太熱門的站,人家也不可能整天閒的沒事幹,天天研究想著去攻擊你的站啊
    ringa_lee 作者 2017-09-01 16:20:36
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板