1. 程式人生 > >使用python的os.walk()包來監測檔案變化

使用python的os.walk()包來監測檔案變化

前天在準備ctf線下賽的時候,想到了需要防止使用者上傳檔案,所以打算用python寫一個,因為用的vnc連結只能在預設的python2.7的環境底下來寫,好多包沒有,所以只採用了一個OS包,斌且只有十分鐘加固時間,程式碼也不敢寫長,最終程式碼如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import time
iff=1
def getlist(rlist,path):
    for dir,folder,file in os.walk(path):
        for i in file:
            t="%s/%s"%(dir,i)
            rlist.append(t)
def getnlist(nlist,path):
    for dir,folder,file in os.walk(path):
        for i in file:
            t="%s/%s"%(dir,i)
            nlist.append(t)
path="/var/ww/"
rlist=[]
nlist=[]
if(iff==1):
    getlist(rlist,path)
    for i in rlist:
        print "one:"+i
        iff=iff+1
while(True):
    nlist=[]
    getnlist(nlist,path)
    for t in nlist:
        if t not in rlist:
            print "\n-----------------\n"+t
            tt=time.asctime(time.localtime(time.time()))
            os.popen("mv "+t+" \'/var/"+tt+".txt\'")
    time.sleep(1)

將有人上傳到這個資料夾的檔案改個名放到var目錄下面