Exemplo n.º 1
0
    def cves(self):
        log.info('++++++++++++++++++++++++++++++++++++++++++++')
        log.info('正在获取 [%s] 威胁情报...' % self.NAME_CH())
        old_cves = self.load_cache()

        try:
            new_cves = self.get_cves()
        except:
            new_cves = []
            log.error('获取 [%s] 威胁情报异常' % self.NAME_CH())

        dao = TCvesDao()
        sdbc = SqliteSDBC(env.DB_PATH)
        conn = sdbc.conn()
        _cves = []
        for cve in new_cves:
            if cve.MD5() not in old_cves:
                _cves.append(cve)
                self.to_cache(cve)
                self.to_db(conn, dao, cve)
        sdbc.close()

        log.info('得到 [%s] 最新威胁情报 [%s] 条' % (self.NAME_CH(), len(_cves)))
        log.info('--------------------------------------------')
        return _cves
Exemplo n.º 2
0
def to_page(top_limit=10):
    html_tpl, table_tpl, row_tpl = load_tpl()
    sdbc = SqliteSDBC(env.DB_PATH)
    conn = sdbc.conn()

    tables = []
    srcs = query_srcs(conn)
    for src in srcs:
        cves = query_cves(conn, src, top_limit)

        rows = []
        for cve in cves:
            row = row_tpl % {
                'md5': cve.md5,
                'id': cve.cves,
                'time': cve.time,
                'title': cve.title,
                'url': cve.url
            }
            rows.append(row)

        table = table_tpl % {
            'src': cves[0].src,
            'top': top_limit,
            'rows': '\n'.join(rows)
        }
        tables.append(table)

    html = html_tpl % {
        'datetime': time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
        'table': '\n\n'.join(tables)
    }
    sdbc.close()

    create_html(html)
Exemplo n.º 3
0
def init():
    reload(sys)
    sys.setdefaultencoding(env.CHARSET)

    log.init()

    sdbc = SqliteSDBC(env.DB_PATH)
    sdbc.init(env.SQL_PATH)
Exemplo n.º 4
0
def init():
    log.init()
    sdbc = SqliteSDBC(env.DB_PATH)
    sdbc.init(env.SQL_PATH)