Skip to content

Commit 7ae3c16

Browse files
author
zhangjiangbin
committed
1.用户流量监控
2.修改管理员密码 3.移除shadowsocks关键字,防止网站被爬虫抓取导致域名被污染或者ip被封
1 parent d55976c commit 7ae3c16

File tree

12 files changed

+239
-12
lines changed

12 files changed

+239
-12
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
/public/hot
33
/public/storage
44
/storage/*.key
5-
/storage/logs
65
/vendor
76
/.idea
87
/.vagrant

app/Http/Controllers/AdminController.php

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ public function trafficLog(Request $request)
428428
return Redirect::to('login');
429429
}
430430

431-
$trafficLogList = UserTrafficLog::with(['User', 'SsNode'])->paginate(20);
431+
$trafficLogList = UserTrafficLog::with(['User', 'SsNode'])->orderBy('id', 'desc')->paginate(20);
432432
foreach ($trafficLogList as &$trafficLog) {
433433
$trafficLog->u = $this->flowAutoShow($trafficLog->u);
434434
$trafficLog->d = $this->flowAutoShow($trafficLog->d);
@@ -678,6 +678,66 @@ public function export(Request $request)
678678
return Response::view('admin/export', $view);
679679
}
680680

681+
// 修改个人资料
682+
public function profile(Request $request)
683+
{
684+
if (!$request->session()->has('user')) {
685+
return Redirect::to('login');
686+
}
687+
688+
$user = $request->session()->get('user');
689+
690+
if ($request->method() == 'POST') {
691+
$old_password = $request->get('old_password');
692+
$new_password = $request->get('new_password');
693+
694+
$old_password = md5(trim($old_password));
695+
$new_password = md5(trim($new_password));
696+
697+
$user = User::where('id', $user['id'])->first();
698+
if ($user->password != $old_password) {
699+
$request->session()->flash('errorMsg', '旧密码错误,请重新输入');
700+
return Redirect::back();
701+
} else if ($user->password == $new_password) {
702+
$request->session()->flash('errorMsg', '新密码不可与旧密码一样,请重新输入');
703+
return Redirect::back();
704+
}
705+
706+
$ret = User::where('id', $user['id'])->update(['password' => $new_password]);
707+
if (!$ret) {
708+
$request->session()->flash('errorMsg', '修改失败');
709+
return Redirect::back();
710+
} else {
711+
$request->session()->flash('successMsg', '修改成功');
712+
return Redirect::back();
713+
}
714+
} else {
715+
return Response::view('admin/profile');
716+
}
717+
}
718+
719+
// 流量监控
720+
public function monitor(Request $request)
721+
{
722+
if (!$request->session()->has('user')) {
723+
return Redirect::to('login');
724+
}
725+
726+
$id = $request->get('id');
727+
if (empty($id)) {
728+
return Redirect::to('admin/userList');
729+
}
730+
731+
$user = User::where('id', $id)->first();
732+
if (empty($user)) {
733+
return Redirect::to('admin/userList');
734+
}
735+
736+
$view['traffic'] = '';
737+
738+
return Response::view('admin/monitor', $view);
739+
}
740+
681741
// 生成SS密码
682742
public function makePasswd(Request $request)
683743
{

app/Http/Controllers/LoginController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ class LoginController extends Controller
1818
public function index(Request $request)
1919
{
2020
if ($request->method() == 'POST') {
21-
$username = $request->get('username');
22-
$password = $request->get('password');
21+
$username = trim($request->get('username'));
22+
$password = trim($request->get('password'));
2323

2424
if (empty($username) || empty($password)) {
2525
$request->session()->flash('error_msg', '请输入用户名和密码');

readme.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -208,11 +208,6 @@ server {
208208
}
209209
````
210210

211-
#### 登录
212-
````
213-
214-
````
215-
216211
## 代码解释
217212
````
218213
\app\Http\Controllers 控制器文件

resources/views/admin/addUser.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@
163163
<div class="portlet light bordered">
164164
<div class="portlet-title">
165165
<div class="caption">
166-
<span class="caption-subject font-dark bold">Shadowsocks信息</span>
166+
<span class="caption-subject font-dark bold">SS(R)信息</span>
167167
</div>
168168
</div>
169169
<div class="portlet-body">

resources/views/admin/editUser.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@
164164
<div class="portlet light bordered">
165165
<div class="portlet-title">
166166
<div class="caption">
167-
<span class="caption-subject font-dark bold">Shadowsocks信息</span>
167+
<span class="caption-subject font-dark bold">SS(R)信息</span>
168168
</div>
169169
</div>
170170
<div class="portlet-body">

resources/views/admin/layouts.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
<img alt="" class="img-circle" src="/assets/images/avatar.jpg" /> </a>
6666
<ul class="dropdown-menu dropdown-menu-default">
6767
<li>
68-
<a href="JavaScript:;"> <i class="icon-user"></i> 个人资料 </a>
68+
<a href="{{url('admin/profile')}}"> <i class="icon-user"></i> 个人资料 </a>
6969
</li>
7070
<li>
7171
<a href="{{url('logout')}}"> <i class="icon-key"></i> 退出 </a>
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
@extends('admin.layouts')
2+
3+
@section('css')
4+
<link href="/assets/global/plugins/datatables/datatables.min.css" rel="stylesheet" type="text/css" />
5+
<link href="/assets/global/plugins/datatables/plugins/bootstrap/datatables.bootstrap.css" rel="stylesheet" type="text/css" />
6+
@endsection
7+
@section('title', '控制面板')
8+
@section('content')
9+
<!-- BEGIN CONTENT BODY -->
10+
<div class="page-content">
11+
<!-- BEGIN PAGE BREADCRUMB -->
12+
<ul class="page-breadcrumb breadcrumb">
13+
<li>
14+
<a href="{{url('admin')}}">管理中心</a>
15+
<i class="fa fa-circle"></i>
16+
</li>
17+
<li>
18+
<a href="{{url('admin/monitor')}}">流量监控</a>
19+
</li>
20+
</ul>
21+
<!-- END PAGE BREADCRUMB -->
22+
<!-- BEGIN PAGE BASE CONTENT -->
23+
<div class="row">
24+
<div class="col-md-12">
25+
<!-- BEGIN PORTLET-->
26+
<div class="portlet light bordered">
27+
<div class="portlet-body">
28+
、、、
29+
</div>
30+
</div>
31+
<!-- END PORTLET-->
32+
</div>
33+
</div>
34+
<!-- END PAGE BASE CONTENT -->
35+
</div>
36+
<!-- END CONTENT BODY -->
37+
@endsection
38+
@section('script')
39+
<script src="/assets/global/plugins/jquery-qrcode/jquery.qrcode.min.js" type="text/javascript"></script>
40+
<script src="/assets/global/plugins/jquery-ui/jquery-ui.min.js" type="text/javascript"></script>
41+
<script src="/assets/global/plugins/bootbox/bootbox.min.js" type="text/javascript"></script>
42+
43+
<script type="text/javascript">
44+
//
45+
</script>
46+
@endsection
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
@extends('admin.layouts')
2+
3+
@section('css')
4+
<link href="/assets/pages/css/profile.min.css" rel="stylesheet" type="text/css" />
5+
@endsection
6+
@section('title', '控制面板')
7+
@section('content')
8+
<!-- BEGIN CONTENT BODY -->
9+
<div class="page-content">
10+
<!-- BEGIN PAGE BREADCRUMB -->
11+
<ul class="page-breadcrumb breadcrumb">
12+
<li>
13+
<a href="{{url('admin')}}">管理中心</a>
14+
<i class="fa fa-circle"></i>
15+
</li>
16+
<li>
17+
<a href="{{url('admin/monitor')}}">流量监控</a>
18+
</li>
19+
</ul>
20+
<!-- END PAGE BREADCRUMB -->
21+
<!-- BEGIN PAGE BASE CONTENT -->
22+
<div class="row">
23+
<div class="col-md-12">
24+
@if (Session::has('successMsg'))
25+
<div class="alert alert-success alert-dismissable">
26+
<button type="button" class="close" data-dismiss="alert" aria-hidden="true"></button>
27+
{{Session::get('successMsg')}}
28+
</div>
29+
@endif
30+
@if (Session::has('errorMsg'))
31+
<div class="alert alert-danger alert-dismissable">
32+
<button type="button" class="close" data-dismiss="alert" aria-hidden="true"></button>
33+
<strong>错误:</strong> {{Session::get('errorMsg')}}
34+
</div>
35+
@endif
36+
<!-- BEGIN PROFILE SIDEBAR -->
37+
<div class="profile-sidebar">
38+
<!-- PORTLET MAIN -->
39+
<div class="portlet light profile-sidebar-portlet bordered">
40+
<!-- SIDEBAR USERPIC -->
41+
<div class="profile-userpic">
42+
<img src="/assets/images/avatar.jpg" class="img-responsive" alt=""> </div>
43+
<!-- END SIDEBAR USERPIC -->
44+
<!-- SIDEBAR USER TITLE -->
45+
<div class="profile-usertitle">
46+
<div class="profile-usertitle-name"> {{Session::get('user')['username']}} </div>
47+
<div class="profile-usertitle-job"> 管理员 </div>
48+
</div>
49+
<!-- END SIDEBAR USER TITLE -->
50+
<!-- SIDEBAR MENU -->
51+
<div class="profile-usermenu">
52+
<!--
53+
<ul class="nav">
54+
<li class="active">
55+
<a href="javascript:;">
56+
<i class="icon-user"></i> 个人资料 </a>
57+
</li>
58+
</ul>
59+
-->
60+
</div>
61+
<!-- END MENU -->
62+
</div>
63+
<!-- END PORTLET MAIN -->
64+
</div>
65+
<!-- END BEGIN PROFILE SIDEBAR -->
66+
<!-- BEGIN PROFILE CONTENT -->
67+
<div class="profile-content">
68+
<div class="row">
69+
<div class="col-md-12">
70+
<div class="portlet light bordered">
71+
<div class="portlet-title tabbable-line">
72+
<ul class="nav nav-tabs">
73+
<li class="active">
74+
<a href="#tab_1" data-toggle="tab">修改密码</a>
75+
</li>
76+
</ul>
77+
</div>
78+
<div class="portlet-body">
79+
<div class="tab-content">
80+
<!-- CHANGE PASSWORD TAB -->
81+
<div class="tab-pane active" id="tab_1">
82+
<form action="{{url('admin/profile')}}" method="post" enctype="multipart/form-data" class="form-bordered">
83+
<div class="form-group">
84+
<label class="control-label"> 旧密码 </label>
85+
<input type="password" class="form-control" name="old_password" id="old_password" required />
86+
<input type="hidden" name="_token" value="{{csrf_token()}}" />
87+
</div>
88+
<div class="form-group">
89+
<label class="control-label"> 新密码 </label>
90+
<input type="password" class="form-control" name="new_password" id="new_password" required />
91+
</div>
92+
<div class="form-actions">
93+
<div class="row">
94+
<div class=" col-md-4">
95+
<button type="submit" class="btn green"> 提 交 </button>
96+
</div>
97+
</div>
98+
</div>
99+
</form>
100+
</div>
101+
<!-- END CHANGE PASSWORD TAB -->
102+
</div>
103+
</div>
104+
</div>
105+
</div>
106+
</div>
107+
</div>
108+
<!-- END PROFILE CONTENT -->
109+
</div>
110+
</div>
111+
<!-- END PAGE BASE CONTENT -->
112+
</div>
113+
<!-- END CONTENT BODY -->
114+
@endsection
115+
@section('script')
116+
117+
@endsection

resources/views/admin/userList.blade.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
<button type="button" class="btn btn-sm blue btn-outline" onclick="editUser('{{$user->id}}')">编辑</button>
115115
<button type="button" class="btn btn-sm red btn-outline" onclick="delUser('{{$user->id}}')">删除</button>
116116
<button type="button" class="btn btn-sm green btn-outline" onclick="do_export('{{$user->id}}')">配置信息</button>
117+
<button type="button" class="btn btn-sm purple btn-outline" onclick="do_monitor('{{$user->id}}')">流量监控</button>
117118
</td>
118119
</tr>
119120
@endforeach
@@ -207,5 +208,10 @@ function do_reset() {
207208
function do_export(id) {
208209
window.location.href = '{{url('admin/export?id=')}}' + id;
209210
}
211+
212+
// 流量监控
213+
function do_monitor(id) {
214+
window.location.href = '{{url('admin/monitor?id=')}}' + id;
215+
}
210216
</script>
211217
@endsection

0 commit comments

Comments
 (0)