import os
def find_method(name):
i = 0
found_dic = { "$_GET":[], "$_POST":[], "include":[], "require":[], "mysql_query":[], "SELECT":[], "system":[], "exec":[], "passthru":[], "readfile":[], "fopen":[], "eval":[] }
for x in file(name, "r"):
i += 1
for key in found_dic:
if x.strip().find(key) != -1:
found_dic[key].append("LINE:"+str(i)+":" + x.strip())
print "="*20, name, "="*20
for key in found_dic:
if found_dic[key]:
print " ", "-"*10, key, "-"*10
for r in found_dic[key]:
print " ",r
def search(dirname):
flist = os.listdir(dirname)
for f in flist:
next = os.path.join(dirname, f)
if os.path.isdir(next):
search(next)
else:
doFileWork(next)
def doFileWork(filename):
ext = os.path.splitext(filename)[-1]
#if ext == '.html': print filename
if ext == '.php':
# print "target:" + filename
find_method(filename)
как я могу печатать только результаты. его печатает все имя файла, хотя файл не имеет никакого результата. Я хочу сделать имя файла печати, если у него есть какой-либо результат в немPython: Печать результат только
Речь идет о поиске слова, но оно показывает, что каждое слово включает в себя (например, для привязки), а также находит слово в предложении и печатает все предложения, которые я хочу найти только слово «включить», не включенное в предложение. это очень трудно объяснить .. я надеюсь понять .. srry
Боюсь, я не понимаю. Примеры, вероятно, пройдут долгий путь. Переименование 'x',' i', 'r' и, возможно,' key' и 'found_dic' в нечто более читаемое, вероятно, будет иметь большое значение для облегчения путаницы для простых смертных, таких как я. – femtoRgon
ты не дал нам свою полную программу. 'found_dic' никогда не определяется, и ни один из них не является' i'. – MattDMo
также, пожалуйста, исправьте свой отступ - должно быть 4 пробела на отступ, без пробелов и вкладок – MattDMo