远程访问是远程用其他机器通过网络连接远程服务器,对资源进行访问和修改
本文用python的CGI编程,完成一个远程编程的小工具.
本文用python的CGI编程,完成一个远程编程的小工具.
程序逻辑如下:
1.创建文件名表单
2.创建编辑器脚本
应检查文件名是否存在,存在才可进行编辑
#!/usr/bin/env python from os.path import join,abspath import cgi,sys BASE_DIR=abspath('data') form=cgi.FieldStorage() filename=form.getvalue('filename') if not filename: print '' sys.exit() text=open(join(BASE_DIR,filename)).read() print """ <html> <head> <title>Editing...</title> </head> <body> <form action='/test/cgi-bin/save.cgi' method='POST'> <b>File:</b>%s<br/> <input type='hidden' value='%s' name='filename'/> <b>Password:</b><br/> <input name='password' type='password' /><br/> <b>Text:</b><br/> <textarea name='text' cols='40' rows='20'>%s</textarea><br/> <input type='submit' value='Save' /> </form> </body> </html> """ % (filename, filename, text)
3.编写保存脚本,其中会涉及到安全性设置的摘要,可以通过sha模块,用它提供的摘要密码安全的存储摘要信息
#!/usr/bin/env python # -*- coding:utf-8 -*- #处理前端提交的数据,并保存 from os.path import join,abspath import cgi,sha,sys BASE_DIR=abspath() form=cgi.FieldStorage() text=form.getvalue('text') filename=form.getvalue('filename') password=form.getvalue() if not (filename and text and password) print '' sys.exit() if sha.sha(password).hexdigest!='' print '' sys.exit() f=open(join(BASE_DIR.filename),'w') f.write(text) f.close()