1
我必須確定請求是否來自本地主機。Rails,如何知道請求是否來自本地主機?
我想:
對於要求http://localhost:3000
# MyController
request.local? # -> 0
request.host # -> localhost
request.ip # -> ::1
request.remote_ip # -> ::1
對於要求http://127.0.0.1:3000
# MyController
request.local? # -> 0
request.host # -> 127.0.0.1
request.ip # -> 127.0.0.1
request.remote_ip # -> 127.0.0.1
我想知道是否有這樣做的標準方式。這看起來像解決方案:ApplicationController.local_request?但保護,並且不正常工作,因爲request.local?
正在返回0
本地請求。
我也不信任request.host
,因爲它可以僞造/etc/hosts
技巧。