[問題] 繞過JS

看板Ajax作者 (兔子)時間15年前 (2010/06/14 20:09), 編輯推噓1(1025)
留言26則, 9人參與, 最新討論串1/1
通常我們會使用一些JS 來檢驗使用者是否有按照規定來填表格 但是如果使用者從原始碼之中 看透表格名稱與action目標 自己寫一個一模一樣的form來執行 不就可以繞過js的檢查了? 在有session的網站 也只要先登入讓瀏覽器吃過session 再執行我們要偷渡的網頁就好了 有沒有什麼方法可以防止這種繞過JS的行為呢? -- ◤ __ \__◢◤◢◤ ψhirabbitt ◤ ◢███◣ ◢███◣ 和妳的約定 █████ █████ 不變心的約定 ██ ███ 是變心的約定 ██╱╲ ◥█████◣● 是我和自己的約定╱╱ ◥████ ˇ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.127.91

06/14 21:16, , 1F
1.你不應該相信前端的檢查,後端本來就應該有對應
06/14 21:16, 1F

06/14 21:17, , 2F
防止跨域登入還沒想道該怎麼辦XD
06/14 21:17, 2F

06/14 22:01, , 3F
只要是客戶端傳過來的東西一切不可信任.....
06/14 22:01, 3F

06/14 22:06, , 4F
可以啊,從Server 檢查他資料有沒有填寫齊全就好。
06/14 22:06, 4F

06/14 23:28, , 5F
可是照他的說法,我們是不是真的無法檢查這個呼叫是不是
06/14 23:28, 5F

06/14 23:28, , 6F
來自於自己的域名啊,剛剛想了一下沒想到怎麼處理@@"
06/14 23:28, 6F

06/14 23:39, , 7F
來不來自自己的域名很重要嗎?.?
06/14 23:39, 7F

06/14 23:40, , 8F
重點是資料過來對不對而已啊
06/14 23:40, 8F

06/14 23:40, , 9F
要檢查來源網址可以查refer,這個是純js無法造假的,
06/14 23:40, 9F

06/14 23:41, , 10F
不過一般爬蟲或機器人要造假refer倒是很容易。
06/14 23:41, 10F

06/14 23:44, , 11F
CAPTCHA之類的?產生表單送至client端前做個記號
06/14 23:44, 11F

06/15 00:17, , 12F
資料是對的 但是是假的 怎麼辦?
06/15 00:17, 12F

06/15 00:30, , 13F
上面的這種情況… 沒可能避免吧?
06/15 00:30, 13F

06/15 08:07, , 14F
剛剛查了一下php referer 感覺很難假造啊0.0
06/15 08:07, 14F

06/15 08:08, , 15F
爬蟲或機器人是怎麼做的?
06/15 08:08, 15F

06/15 08:22, , 16F
CAPTCHA的答案也是存在後端吧?
06/15 08:22, 16F

06/15 08:26, , 17F
資料是對的 但是是假的 這句真經典XDDD
06/15 08:26, 17F

06/15 10:33, , 18F
refer 是 client browser 送給 server的header...
06/15 10:33, 18F

06/15 10:33, , 19F
愛怎麼寫就怎麼寫......
06/15 10:33, 19F

06/15 11:00, , 20F
喔? 我試試
06/15 11:00, 20F

06/15 11:07, , 21F
提供一個 Firefox add-ons 可以修改 referer: RefControl
06/15 11:07, 21F

06/15 11:09, , 22F
我唯一用途是用在解除 wretch 擋外連圖片限制.......
06/15 11:09, 22F

06/15 12:53, , 23F
可以改 referer 的有 curl… 其他很多語言也都支援~
06/15 12:53, 23F

06/15 13:58, , 24F
不需要改啊 就header裡assign一個referer就好,一般的
06/15 13:58, 24F

06/15 13:58, , 25F
http request library referer default都是blank
06/15 13:58, 25F

06/17 16:34, , 26F
所以根本不需要爬蟲與機器人嘛0.0>
06/17 16:34, 26F
文章代碼(AID): #1C5XlWXR (Ajax)
文章代碼(AID): #1C5XlWXR (Ajax)