Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.119
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
pyshared /
mod_python /
Delete
Unzip
Name
Size
Permission
Date
Action
Cookie.py
12.44
KB
-rwxrwxrwx
2006-11-07 11:11
Session.py
28.22
KB
-rwxrwxrwx
2006-11-07 11:11
__init__.py
832
B
-rwxrwxrwx
2007-01-29 14:39
apache.py
38.41
KB
-rwxrwxrwx
2006-10-27 02:54
cache.py
13.5
KB
-rwxrwxrwx
2006-05-20 19:44
cgihandler.py
3.27
KB
-rwxrwxrwx
2006-02-02 06:31
importer.py
63.02
KB
-rwxrwxrwx
2006-12-03 10:14
psp.py
13.63
KB
-rwxrwxrwx
2006-11-07 11:11
publisher.py
17.09
KB
-rwxrwxrwx
2006-10-29 08:07
python22.py
958
B
-rwxrwxrwx
2006-02-02 06:31
testhandler.py
5.82
KB
-rwxrwxrwx
2006-03-05 02:15
util.py
19.03
KB
-rwxrwxrwx
2006-11-22 12:15
Save
Rename
# # Copyright 2004 Apache Software Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you # may not use this file except in compliance with the License. You # may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. See the License for the specific language governing # permissions and limitations under the License. # # Originally developed by Gregory Trubetskoy. # # $Id: testhandler.py 383262 2006-03-05 01:15:01Z grahamd $ """ This module is a mod_python handler that can be used to test the configuration. """ from mod_python import apache, util import sys, os class bounded_buffer(object): """ This class implements a bounded buffer, i.e. a list that keeps the last n lines. It doesn't use pop(0), which is costly. """ def __init__(self,size): self.max_size = size self.list = [] self.pos = 0 def append(self,value): if len(self.list)<self.max_size: self.list.append(value) else: self.list[self.pos]=value self.pos = (self.pos+1)%self.max_size def items(self): return self.list[self.pos:]+self.list[:self.pos] def __iter__(self): return iter(self.items()) def write_table(req,table): req.write('<table border="1">') req.write('<tr><th>Key</th><th>Value</th></tr>\n') for key in table: req.write('<tr><td><code>%s</code></td><td><code>%s</code></td></tr>\n'%( key, table[key] )) req.write('</table>') def write_tree(req,tree,level): for entry in tree: if isinstance(entry,list): write_tree(req,entry,level+1) else: req.write(' '*level) req.write(' '.join(entry)) req.write('\n') def handler(req): req.form = util.FieldStorage(req) if req.form.getfirst('view_log'): log = file(os.path.join(apache.server_root(),req.server.error_fname),'rb') lines = bounded_buffer(100) for line in log: lines.append(line) log.close() req.content_type='text/plain' for line in lines: req.write(line) return apache.OK req.add_common_vars() req.content_type = 'text/html' req.write('<html><head><title>mod_python test page</title></head><body>\n') req.write('<h3>General information</h3>\n') req.write('<table border="1">\n') req.write('<tr><td><code>%s</code></td><td><code>%s</code></td></tr>\n'%( 'Apache version', req.subprocess_env.get('SERVER_SOFTWARE') )) req.write('<tr><td><code>%s</code></td><td><code>%s</code></td></tr>\n'%( 'Apache threaded MPM', ( apache.mpm_query(apache.AP_MPMQ_IS_THREADED) and 'Yes, maximum %i threads / process'% apache.mpm_query(apache.AP_MPMQ_MAX_THREADS) ) or 'No (single thread MPM)' )) req.write('<tr><td><code>%s</code></td><td><code>%s</code></td></tr>\n'%( 'Apache forked MPM', ( apache.mpm_query(apache.AP_MPMQ_IS_FORKED) and 'Yes, maximum %i processes'% apache.mpm_query(apache.AP_MPMQ_MAX_DAEMONS) ) or 'No (single process MPM)' )) req.write('<tr><td><code>%s</code></td><td><code>%s</code></td></tr>\n'%( 'Apache server root', apache.server_root() )) req.write('<tr><td><code>%s</code></td><td><code>%s</code></td></tr>\n'%( 'Apache document root', req.document_root() )) if req.server.error_fname: req.write('<tr><td><code>%s</code></td><td><code>%s</code> (<a href="?view_log=1" target="_new">view last 100 lines</a>)</td></tr>\n'%( 'Apache error log', os.path.join(apache.server_root(),req.server.error_fname) )) else: req.write('<tr><td><code>%s</code></td><td><code>%s</code></td></tr>\n'%( 'Apache error log', 'None' )) req.write('<tr><td><code>%s</code></td><td><code>%s</code></td></tr>\n'%( 'Python sys.version', sys.version )) req.write('<tr><td><code>%s</code></td><td><pre>%s</pre></td></tr>\n'%( 'Python sys.path', '\n'.join(sys.path) )) req.write('<tr><td><code>%s</code></td><td><code>%s</code></td></tr>\n'%( 'Python interpreter name', req.interpreter )) req.write('<tr><td><code>mod_python.publisher available</code></td><td><code>') try: from mod_python import publisher req.write('Yes') except: req.write('No') req.write('</code></td></tr>\n') req.write('<tr><td><code>mod_python.psp available</code></td><td><code>') try: from mod_python import psp req.write('Yes') except: req.write('No') req.write('</code></td></tr>\n') req.write('</table>\n') req.write('<h3>Request input headers</h3>\n') write_table(req,req.headers_in) req.write('<h3>Request environment</h3>\n') write_table(req,req.subprocess_env) req.write('<h3>Request configuration</h3>\n') write_table(req,req.get_config()) req.write('<h3>Request options</h3>\n') write_table(req,req.get_options()) req.write('<h3>Request notes</h3>\n') write_table(req,req.notes) req.write('<h3>Server configuration</h3>\n') write_table(req,req.server.get_config()) req.write('<h3>Server options</h3>\n') write_table(req,req.server.get_options()) req.write('<h3>Server configuration tree</h3>\n<pre>') write_tree(req,apache.config_tree(),0) req.write('</pre>\n') req.write('</body></html>') return apache.OK