網站上有沒有有效方法可以在一定程度上防止使用者手動構造傳送請求而不經過瀏覽器?

來源:互聯網
上載者:User
當然沒有十全十美的方法。
只是在一定程度上。
比如瀏覽器端cookie驗證啦等等。。

回複內容:

當然沒有十全十美的方法。
只是在一定程度上。
比如瀏覽器端cookie驗證啦等等。。

忍不住來回答個:

簡單而言:沒有

HTTP協議所傳輸的內容都是公開的明文,cookie、referer都只是HTTP頭中的一個欄位,很容易偽造 —— 比如隨便找個python爬蟲的教程,都能輕易地加上這兩個欄位。

當然,如果加了cookie和referer校正後,不懂python爬蟲之類的人員就可以pass掉了。

感覺LZ問題沒問到點子上。很好奇為什麼要防使用者手動構造請求呢?
猜測有以下2個原因:

  1. 頁面效能不行,怕被人刷掛了

  2. 一些消耗資源的操作,比如註冊使用者,怕被人反覆操作,比如註冊了N多小號

其實,這兩個問題都很好解決:

  1. 效能不行就解決效能問題,比如使用頁面緩衝;再不濟基於IP做防刷控制

  2. 加驗證碼,加簡訊校正碼

之前看一個人公眾號推送了一個很有趣

http://mp.weixin.qq.com/s?__biz=MzA3NDM0ODQwMw==&mid=210665223&idx=1&sn=587b738b3dae0222f14feb509ce1b60f&scene=5&srcid=1010upLcP9NfCZkROIjmeJZl#rd

cookie是要有的
像是laravel之類的服務端架構為了防止csrf攻擊會為每位訪問者產生csfr字串,在提交表單時必須攜帶此串並進行驗證。
參考資料:

http://laravel.com/docs/master/routing#csrf-protection

或者可以在服務端驗證HTTP Referer欄位

你搜尋一下csrf就知道了

瀏覽器會自動執行js,curl執行不了,可以用js操作cookie來判斷是否為瀏覽器。具體的驗證規則可以自訂了

的確,沒有辦法絕對限制,只是能增加爬取得難度而已。

可以用session?

token機制

從我與各大網站鬥智鬥勇的經曆來看,方法只有兩個,一個是驗證碼,一個是限制IP。

token的話,瀏覽器之內無解。但是用爬蟲,可以先get表單的頁但是用爬蟲,可以先get表單的頁面,然後把token截取出來,用在第二次的post上面。

token + 限制來源

csrf可以做到

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.