forked from Icycoide/searxng
[fix] correct determination of the IP for the request
For correct determination of the IP to the request the function botdetection.get_real_ip() is implemented. This fonction is used in the ip_limit and link_token method of the botdetection and it is used in the self_info plugin. A documentation about the X-Forwarded-For header has been added. [1] https://github.com/searxng/searxng/pull/2357#issuecomment-1566211059 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
b8c7c2c9aa
commit
38431d2e14
6 changed files with 42 additions and 41 deletions
|
@ -50,9 +50,13 @@ class SelfIPTest(SearxTestCase):
|
|||
self.assertTrue(len(store.plugins) == 1)
|
||||
|
||||
# IP test
|
||||
request = Mock(remote_addr='127.0.0.1')
|
||||
request.headers.getlist.return_value = []
|
||||
search = get_search_mock(query='ip', pageno=1)
|
||||
request = Mock()
|
||||
request.remote_addr = '127.0.0.1'
|
||||
request.headers = {'X-Forwarded-For': '1.2.3.4, 127.0.0.1', 'X-Real-IP': '127.0.0.1'}
|
||||
search = get_search_mock(
|
||||
query='ip',
|
||||
pageno=1,
|
||||
)
|
||||
store.call(store.plugins, 'post_search', request, search)
|
||||
self.assertTrue('127.0.0.1' in search.result_container.answers["ip"]["answer"])
|
||||
|
||||
|
@ -62,7 +66,6 @@ class SelfIPTest(SearxTestCase):
|
|||
|
||||
# User agent test
|
||||
request = Mock(user_agent='Mock')
|
||||
request.headers.getlist.return_value = []
|
||||
|
||||
search = get_search_mock(query='user-agent', pageno=1)
|
||||
store.call(store.plugins, 'post_search', request, search)
|
||||
|
@ -98,7 +101,6 @@ class HashPluginTest(SearxTestCase):
|
|||
self.assertTrue(len(store.plugins) == 1)
|
||||
|
||||
request = Mock(remote_addr='127.0.0.1')
|
||||
request.headers.getlist.return_value = []
|
||||
|
||||
# MD5
|
||||
search = get_search_mock(query='md5 test', pageno=1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue