257 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			257 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
								 | 
							
								<style type="text/css">
							 | 
						||
| 
								 | 
							
								    .sm-st {
							 | 
						||
| 
								 | 
							
								        background:#fff;
							 | 
						||
| 
								 | 
							
								        padding:20px;
							 | 
						||
| 
								 | 
							
								        -webkit-border-radius:3px;
							 | 
						||
| 
								 | 
							
								        -moz-border-radius:3px;
							 | 
						||
| 
								 | 
							
								        border-radius:3px;
							 | 
						||
| 
								 | 
							
								        margin-bottom:20px;
							 | 
						||
| 
								 | 
							
								        -webkit-box-shadow: 0 1px 0px rgba(0,0,0,0.05);
							 | 
						||
| 
								 | 
							
								        box-shadow: 0 1px 0px rgba(0,0,0,0.05);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .sm-st-icon {
							 | 
						||
| 
								 | 
							
								        width:60px;
							 | 
						||
| 
								 | 
							
								        height:60px;
							 | 
						||
| 
								 | 
							
								        display:inline-block;
							 | 
						||
| 
								 | 
							
								        line-height:60px;
							 | 
						||
| 
								 | 
							
								        text-align:center;
							 | 
						||
| 
								 | 
							
								        font-size:30px;
							 | 
						||
| 
								 | 
							
								        background:#eee;
							 | 
						||
| 
								 | 
							
								        -webkit-border-radius:5px;
							 | 
						||
| 
								 | 
							
								        -moz-border-radius:5px;
							 | 
						||
| 
								 | 
							
								        border-radius:5px;
							 | 
						||
| 
								 | 
							
								        float:left;
							 | 
						||
| 
								 | 
							
								        margin-right:10px;
							 | 
						||
| 
								 | 
							
								        color:#fff;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .sm-st-info {
							 | 
						||
| 
								 | 
							
								        font-size:12px;
							 | 
						||
| 
								 | 
							
								        padding-top:2px;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .sm-st-info span {
							 | 
						||
| 
								 | 
							
								        display:block;
							 | 
						||
| 
								 | 
							
								        font-size:24px;
							 | 
						||
| 
								 | 
							
								        font-weight:600;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .orange {
							 | 
						||
| 
								 | 
							
								        background:#fa8564 !important;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .tar {
							 | 
						||
| 
								 | 
							
								        background:#45cf95 !important;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .sm-st .green {
							 | 
						||
| 
								 | 
							
								        background:#86ba41 !important;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .pink {
							 | 
						||
| 
								 | 
							
								        background:#AC75F0 !important;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .yellow-b {
							 | 
						||
| 
								 | 
							
								        background: #fdd752 !important;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .stat-elem {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        background-color: #fff;
							 | 
						||
| 
								 | 
							
								        padding: 18px;
							 | 
						||
| 
								 | 
							
								        border-radius: 40px;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    .stat-info {
							 | 
						||
| 
								 | 
							
								        text-align: center;
							 | 
						||
| 
								 | 
							
								        background-color:#fff;
							 | 
						||
| 
								 | 
							
								        border-radius: 5px;
							 | 
						||
| 
								 | 
							
								        margin-top: -5px;
							 | 
						||
| 
								 | 
							
								        padding: 8px;
							 | 
						||
| 
								 | 
							
								        -webkit-box-shadow: 0 1px 0px rgba(0,0,0,0.05);
							 | 
						||
| 
								 | 
							
								        box-shadow: 0 1px 0px rgba(0,0,0,0.05);
							 | 
						||
| 
								 | 
							
								        font-style: italic;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    .stat-icon {
							 | 
						||
| 
								 | 
							
								        text-align: center;
							 | 
						||
| 
								 | 
							
								        margin-bottom: 5px;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    .st-red {
							 | 
						||
| 
								 | 
							
								        background-color: #F05050;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .st-green {
							 | 
						||
| 
								 | 
							
								        background-color: #27C24C;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .st-violet {
							 | 
						||
| 
								 | 
							
								        background-color: #7266ba;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .st-blue {
							 | 
						||
| 
								 | 
							
								        background-color: #23b7e5;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    .stats .stat-icon {
							 | 
						||
| 
								 | 
							
								        color: #28bb9c;
							 | 
						||
| 
								 | 
							
								        display: inline-block;
							 | 
						||
| 
								 | 
							
								        font-size: 26px;
							 | 
						||
| 
								 | 
							
								        text-align: center;
							 | 
						||
| 
								 | 
							
								        vertical-align: middle;
							 | 
						||
| 
								 | 
							
								        width: 50px;
							 | 
						||
| 
								 | 
							
								        float:left;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    .stat {
							 | 
						||
| 
								 | 
							
								        white-space: nowrap;
							 | 
						||
| 
								 | 
							
								        overflow: hidden;
							 | 
						||
| 
								 | 
							
								        text-overflow: ellipsis;
							 | 
						||
| 
								 | 
							
								        display: inline-block;
							 | 
						||
| 
								 | 
							
								        margin-right: 10px; }
							 | 
						||
| 
								 | 
							
								    .stat .value {
							 | 
						||
| 
								 | 
							
								        font-size: 20px;
							 | 
						||
| 
								 | 
							
								        line-height: 24px;
							 | 
						||
| 
								 | 
							
								        overflow: hidden;
							 | 
						||
| 
								 | 
							
								        text-overflow: ellipsis;
							 | 
						||
| 
								 | 
							
								        font-weight: 500; }
							 | 
						||
| 
								 | 
							
								    .stat .name {
							 | 
						||
| 
								 | 
							
								        overflow: hidden;
							 | 
						||
| 
								 | 
							
								        text-overflow: ellipsis; }
							 | 
						||
| 
								 | 
							
								    .stat.lg .value {
							 | 
						||
| 
								 | 
							
								        font-size: 26px;
							 | 
						||
| 
								 | 
							
								        line-height: 28px; }
							 | 
						||
| 
								 | 
							
								    .stat.lg .name {
							 | 
						||
| 
								 | 
							
								        font-size: 16px; }
							 | 
						||
| 
								 | 
							
								    .stat-col .progress {height:2px;}
							 | 
						||
| 
								 | 
							
								    .stat-col .progress-bar {line-height:2px;height:2px;}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    .item {
							 | 
						||
| 
								 | 
							
								        padding:30px 0;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								</style>
							 | 
						||
| 
								 | 
							
								{if $todaytimes>0}
							 | 
						||
| 
								 | 
							
								<div class="alert alert-danger-light">
							 | 
						||
| 
								 | 
							
								    今日有攻击,请注意安全防护,安全并不能完全依赖于本插件。
							 | 
						||
| 
								 | 
							
								</div>
							 | 
						||
| 
								 | 
							
								{/if}
							 | 
						||
| 
								 | 
							
								<div class="panel panel-default panel-intro">
							 | 
						||
| 
								 | 
							
								    <div class="panel-heading">
							 | 
						||
| 
								 | 
							
								        {:build_heading(null, false)}
							 | 
						||
| 
								 | 
							
								        <ul class="nav nav-tabs">
							 | 
						||
| 
								 | 
							
								            <li class="active"><a href="#one" data-toggle="tab">概括</a></li>
							 | 
						||
| 
								 | 
							
								        </ul>
							 | 
						||
| 
								 | 
							
								    </div>
							 | 
						||
| 
								 | 
							
								    <div class="panel-body">
							 | 
						||
| 
								 | 
							
								        <div id="myTabContent" class="tab-content">
							 | 
						||
| 
								 | 
							
								            <div class="tab-pane fade active in" id="one">
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                <div class="row">
							 | 
						||
| 
								 | 
							
								                    <div class="col-sm-3 col-xs-6">
							 | 
						||
| 
								 | 
							
								                        <div class="sm-st clearfix">
							 | 
						||
| 
								 | 
							
								                            <a href="javascript:;"  data-title="">
							 | 
						||
| 
								 | 
							
								                                <span class="sm-st-icon st-red"><i class="fa fa-warning"></i></span>
							 | 
						||
| 
								 | 
							
								                                <div class="sm-st-info">
							 | 
						||
| 
								 | 
							
								                                    <span>{$todaytimes}</span>
							 | 
						||
| 
								 | 
							
								                                        今日攻击(次)
							 | 
						||
| 
								 | 
							
								                                </div>
							 | 
						||
| 
								 | 
							
								                            </a>
							 | 
						||
| 
								 | 
							
								                        </div>
							 | 
						||
| 
								 | 
							
								                    </div>
							 | 
						||
| 
								 | 
							
								                    <div class="col-sm-3 col-xs-6">
							 | 
						||
| 
								 | 
							
								                        <div class="sm-st clearfix">
							 | 
						||
| 
								 | 
							
								                            <a href="javascript:;"  data-title="攻击来源(IP)">
							 | 
						||
| 
								 | 
							
								                                <span class="sm-st-icon st-violet"><i class="fa fa-users"></i></span>
							 | 
						||
| 
								 | 
							
								                                <div class="sm-st-info">
							 | 
						||
| 
								 | 
							
								                                    <span>{$todayips}</span>
							 | 
						||
| 
								 | 
							
								                                    今日IP
							 | 
						||
| 
								 | 
							
								                                </div>
							 | 
						||
| 
								 | 
							
								                            </a>
							 | 
						||
| 
								 | 
							
								                        </div>
							 | 
						||
| 
								 | 
							
								                    </div>
							 | 
						||
| 
								 | 
							
								                    <div class="col-sm-3 col-xs-6">
							 | 
						||
| 
								 | 
							
								                        <div class="sm-st clearfix">
							 | 
						||
| 
								 | 
							
								                            <a href="javascript:;"  data-title="">
							 | 
						||
| 
								 | 
							
								                                <span class="sm-st-icon st-violet"><i class="fa fa-warning"></i></span>
							 | 
						||
| 
								 | 
							
								                                <div class="sm-st-info">
							 | 
						||
| 
								 | 
							
								                                    <span>{$totaltimes}</span>
							 | 
						||
| 
								 | 
							
								                                    总攻击(次)
							 | 
						||
| 
								 | 
							
								                                </div>
							 | 
						||
| 
								 | 
							
								                            </a>
							 | 
						||
| 
								 | 
							
								                        </div>
							 | 
						||
| 
								 | 
							
								                    </div>
							 | 
						||
| 
								 | 
							
								                    <div class="col-sm-3 col-xs-6">
							 | 
						||
| 
								 | 
							
								                        <div class="sm-st clearfix">
							 | 
						||
| 
								 | 
							
								                            <a href="javascript:;"  data-title="攻击来源(IP)">
							 | 
						||
| 
								 | 
							
								                                <span class="sm-st-icon st-green"><i class="fa fa-users"></i></span>
							 | 
						||
| 
								 | 
							
								                                <div class="sm-st-info">
							 | 
						||
| 
								 | 
							
								                                    <span>{$totalips}</span>
							 | 
						||
| 
								 | 
							
								                                    总共(IP)
							 | 
						||
| 
								 | 
							
								                                </div>
							 | 
						||
| 
								 | 
							
								                            </a>
							 | 
						||
| 
								 | 
							
								                        </div>
							 | 
						||
| 
								 | 
							
								                    </div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                </div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                <div class="row">
							 | 
						||
| 
								 | 
							
								                    <div class="col-lg-12">
							 | 
						||
| 
								 | 
							
								                        <div id="echart" style="height:400px;width:100%;"></div>
							 | 
						||
| 
								 | 
							
								                    </div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                </div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                <div class="row">
							 | 
						||
| 
								 | 
							
								                    <div class="col-lg-6">
							 | 
						||
| 
								 | 
							
								                        <div class="box box-info">
							 | 
						||
| 
								 | 
							
								                            <div class="box-header"><h3 class="box-title">攻击排行</h3></div>
							 | 
						||
| 
								 | 
							
								                            <div class="box-body" style="padding-top:0;">
							 | 
						||
| 
								 | 
							
								                                <table class="table table-striped">
							 | 
						||
| 
								 | 
							
								                                    <tbody>
							 | 
						||
| 
								 | 
							
								                                    {foreach rankingips as $v}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                                    <tr>
							 | 
						||
| 
								 | 
							
								                                        <td width="140">{$v['count']}(次)</td>
							 | 
						||
| 
								 | 
							
								                                        <td>{$v['ip']}</td>
							 | 
						||
| 
								 | 
							
								                                    </tr>
							 | 
						||
| 
								 | 
							
								                                    {/foreach}
							 | 
						||
| 
								 | 
							
								                                    </tbody>
							 | 
						||
| 
								 | 
							
								                                </table>
							 | 
						||
| 
								 | 
							
								                            </div>
							 | 
						||
| 
								 | 
							
								                        </div>
							 | 
						||
| 
								 | 
							
								                    </div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    <div class="col-lg-6">
							 | 
						||
| 
								 | 
							
								                        <div class="box box-info">
							 | 
						||
| 
								 | 
							
								                            <div class="box-header"><h3 class="box-title">今日攻击排行</h3></div>
							 | 
						||
| 
								 | 
							
								                            <div class="box-body" style="padding-top:0;">
							 | 
						||
| 
								 | 
							
								                                <table class="table table-striped">
							 | 
						||
| 
								 | 
							
								                                    <tbody>
							 | 
						||
| 
								 | 
							
								                                    {foreach $todayranking as $v}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                                    <tr>
							 | 
						||
| 
								 | 
							
								                                        <td width="140">{$v['count']}(次)</td>
							 | 
						||
| 
								 | 
							
								                                        <td>{$v['ip']}</td>
							 | 
						||
| 
								 | 
							
								                                    </tr>
							 | 
						||
| 
								 | 
							
								                                    {/foreach}
							 | 
						||
| 
								 | 
							
								                                    </tbody>
							 | 
						||
| 
								 | 
							
								                                </table>
							 | 
						||
| 
								 | 
							
								                            </div>
							 | 
						||
| 
								 | 
							
								                        </div>
							 | 
						||
| 
								 | 
							
								                    </div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                </div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            </div>
							 | 
						||
| 
								 | 
							
								        </div>
							 | 
						||
| 
								 | 
							
								        <div class="tab-pane fade" id="two">
							 | 
						||
| 
								 | 
							
								            <div class="row">
							 | 
						||
| 
								 | 
							
								                <div class="col-xs-12">
							 | 
						||
| 
								 | 
							
								                    {:__('Custom zone')}
							 | 
						||
| 
								 | 
							
								                </div>
							 | 
						||
| 
								 | 
							
								            </div>
							 | 
						||
| 
								 | 
							
								        </div>
							 | 
						||
| 
								 | 
							
								    </div>
							 | 
						||
| 
								 | 
							
								</div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<script>
							 | 
						||
| 
								 | 
							
								    var data = {
							 | 
						||
| 
								 | 
							
								        column: {:json_encode(array_keys($totallist))},
							 | 
						||
| 
								 | 
							
								    totallist: {:json_encode(array_values($totallist))},
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								</script>
							 |