Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.1.1 & Your IP : 3.147.46.129
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
twisted /
web /
test /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2024-11-28 06:59
__init__.py
107
B
-rw-r--r--
2022-02-07 13:12
_util.py
3.1
KB
-rw-r--r--
2022-02-07 13:12
injectionhelpers.py
5.46
KB
-rw-r--r--
2022-02-07 13:12
requesthelper.py
14.77
KB
-rw-r--r--
2022-02-07 13:12
test_agent.py
118.21
KB
-rw-r--r--
2022-02-07 13:12
test_cgi.py
14.76
KB
-rw-r--r--
2022-02-07 13:12
test_client.py
1.33
KB
-rw-r--r--
2022-02-07 13:12
test_distrib.py
17.61
KB
-rw-r--r--
2022-02-07 13:12
test_domhelpers.py
10.78
KB
-rw-r--r--
2022-02-07 13:12
test_error.py
15.57
KB
-rw-r--r--
2022-02-07 13:12
test_flatten.py
21.61
KB
-rw-r--r--
2022-02-07 13:12
test_html.py
1.19
KB
-rw-r--r--
2022-02-07 13:12
test_http.py
151.87
KB
-rw-r--r--
2024-11-22 17:49
test_http2.py
105.32
KB
-rw-r--r--
2022-02-07 13:12
test_http_headers.py
22.75
KB
-rw-r--r--
2022-02-07 13:12
test_httpauth.py
23.23
KB
-rw-r--r--
2022-02-07 13:12
test_newclient.py
106.8
KB
-rw-r--r--
2022-02-07 13:12
test_proxy.py
19.58
KB
-rw-r--r--
2022-02-07 13:12
test_resource.py
8.92
KB
-rw-r--r--
2022-02-07 13:12
test_script.py
3.72
KB
-rw-r--r--
2022-02-07 13:12
test_soap.py
3.06
KB
-rw-r--r--
2022-02-07 13:12
test_stan.py
7.08
KB
-rw-r--r--
2022-02-07 13:12
test_static.py
66.6
KB
-rw-r--r--
2022-02-07 13:12
test_tap.py
11.56
KB
-rw-r--r--
2022-02-07 13:12
test_template.py
28.17
KB
-rw-r--r--
2022-02-07 13:12
test_util.py
14.7
KB
-rw-r--r--
2024-11-22 17:49
test_vhost.py
7.55
KB
-rw-r--r--
2024-11-22 17:49
test_web.py
67.52
KB
-rw-r--r--
2024-11-22 17:49
test_web__responses.py
829
B
-rw-r--r--
2022-02-07 13:12
test_webclient.py
11.52
KB
-rw-r--r--
2022-02-07 13:12
test_wsgi.py
74.72
KB
-rw-r--r--
2022-02-07 13:12
test_xml.py
41.04
KB
-rw-r--r--
2022-02-07 13:12
test_xmlrpc.py
29.86
KB
-rw-r--r--
2022-02-07 13:12
Save
Rename
# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. """ Tests for L{twisted.web.vhost}. """ from twisted.internet.defer import gatherResults from twisted.trial.unittest import TestCase from twisted.web.http import NOT_FOUND from twisted.web.resource import NoResource from twisted.web.server import Site from twisted.web.static import Data from twisted.web.test._util import _render from twisted.web.test.test_web import DummyRequest from twisted.web.vhost import NameVirtualHost, VHostMonsterResource, _HostResource class HostResourceTests(TestCase): """ Tests for L{_HostResource}. """ def test_getChild(self): """ L{_HostResource.getChild} returns the proper I{Resource} for the vhost embedded in the URL. Verify that returning the proper I{Resource} required changing the I{Host} in the header. """ bazroot = Data(b"root data", "") bazuri = Data(b"uri data", "") baztest = Data(b"test data", "") bazuri.putChild(b"test", baztest) bazroot.putChild(b"uri", bazuri) hr = _HostResource() root = NameVirtualHost() root.default = Data(b"default data", "") root.addHost(b"baz.com", bazroot) request = DummyRequest([b"uri", b"test"]) request.prepath = [b"bar", b"http", b"baz.com"] request.site = Site(root) request.isSecure = lambda: False request.host = b"" step = hr.getChild(b"baz.com", request) # Consumes rest of path self.assertIsInstance(step, Data) request = DummyRequest([b"uri", b"test"]) step = root.getChild(b"uri", request) self.assertIsInstance(step, NoResource) class NameVirtualHostTests(TestCase): """ Tests for L{NameVirtualHost}. """ def test_renderWithoutHost(self): """ L{NameVirtualHost.render} returns the result of rendering the instance's C{default} if it is not L{None} and there is no I{Host} header in the request. """ virtualHostResource = NameVirtualHost() virtualHostResource.default = Data(b"correct result", "") request = DummyRequest([""]) self.assertEqual(virtualHostResource.render(request), b"correct result") def test_renderWithoutHostNoDefault(self): """ L{NameVirtualHost.render} returns a response with a status of I{NOT FOUND} if the instance's C{default} is L{None} and there is no I{Host} header in the request. """ virtualHostResource = NameVirtualHost() request = DummyRequest([""]) d = _render(virtualHostResource, request) def cbRendered(ignored): self.assertEqual(request.responseCode, NOT_FOUND) d.addCallback(cbRendered) return d def test_renderWithHost(self): """ L{NameVirtualHost.render} returns the result of rendering the resource which is the value in the instance's C{host} dictionary corresponding to the key indicated by the value of the I{Host} header in the request. """ virtualHostResource = NameVirtualHost() virtualHostResource.addHost(b"example.org", Data(b"winner", "")) request = DummyRequest([b""]) request.requestHeaders.addRawHeader(b"host", b"example.org") d = _render(virtualHostResource, request) def cbRendered(ignored, request): self.assertEqual(b"".join(request.written), b"winner") d.addCallback(cbRendered, request) # The port portion of the Host header should not be considered. requestWithPort = DummyRequest([b""]) requestWithPort.requestHeaders.addRawHeader(b"host", b"example.org:8000") dWithPort = _render(virtualHostResource, requestWithPort) def cbRendered(ignored, requestWithPort): self.assertEqual(b"".join(requestWithPort.written), b"winner") dWithPort.addCallback(cbRendered, requestWithPort) return gatherResults([d, dWithPort]) def test_renderWithUnknownHost(self): """ L{NameVirtualHost.render} returns the result of rendering the instance's C{default} if it is not L{None} and there is no host matching the value of the I{Host} header in the request. """ virtualHostResource = NameVirtualHost() virtualHostResource.default = Data(b"correct data", "") request = DummyRequest([b""]) request.requestHeaders.addRawHeader(b"host", b"example.com") d = _render(virtualHostResource, request) def cbRendered(ignored): self.assertEqual(b"".join(request.written), b"correct data") d.addCallback(cbRendered) return d def test_renderWithUnknownHostNoDefault(self): """ L{NameVirtualHost.render} returns a response with a status of I{NOT FOUND} if the instance's C{default} is L{None} and there is no host matching the value of the I{Host} header in the request. """ virtualHostResource = NameVirtualHost() request = DummyRequest([""]) request.requestHeaders.addRawHeader(b"host", b"example.com") d = _render(virtualHostResource, request) def cbRendered(ignored): self.assertEqual(request.responseCode, NOT_FOUND) d.addCallback(cbRendered) return d def test_renderWithHTMLHost(self): """ L{NameVirtualHost.render} doesn't echo unescaped HTML when present in the I{Host} header. """ virtualHostResource = NameVirtualHost() request = DummyRequest(['']) request.requestHeaders.addRawHeader(b"host", b"<b>example</b>.com") d = _render(virtualHostResource, request) def cbRendered(ignored): self.assertNotIn("<b>", request.written) d.addCallback(cbRendered) return d def test_getChild(self): """ L{NameVirtualHost.getChild} returns correct I{Resource} based off the header and modifies I{Request} to ensure proper prepath and postpath are set. """ virtualHostResource = NameVirtualHost() leafResource = Data(b"leaf data", "") leafResource.isLeaf = True normResource = Data(b"norm data", "") virtualHostResource.addHost(b"leaf.example.org", leafResource) virtualHostResource.addHost(b"norm.example.org", normResource) request = DummyRequest([]) request.requestHeaders.addRawHeader(b"host", b"norm.example.org") request.prepath = [b""] self.assertIsInstance(virtualHostResource.getChild(b"", request), NoResource) self.assertEqual(request.prepath, [b""]) self.assertEqual(request.postpath, []) request = DummyRequest([]) request.requestHeaders.addRawHeader(b"host", b"leaf.example.org") request.prepath = [b""] self.assertIsInstance(virtualHostResource.getChild(b"", request), Data) self.assertEqual(request.prepath, []) self.assertEqual(request.postpath, [b""]) class VHostMonsterResourceTests(TestCase): """ Tests for L{VHostMonsterResource}. """ def test_getChild(self): """ L{VHostMonsterResource.getChild} returns I{_HostResource} and modifies I{Request} with correct L{Request.isSecure}. """ vhm = VHostMonsterResource() request = DummyRequest([]) self.assertIsInstance(vhm.getChild(b"http", request), _HostResource) self.assertFalse(request.isSecure()) request = DummyRequest([]) self.assertIsInstance(vhm.getChild(b"https", request), _HostResource) self.assertTrue(request.isSecure())