Mukho

Trimming

This diff could not be displayed because it is too large.
......@@ -61,17 +61,16 @@ create table board(
>UPDATE board SET idx = @COUNT:=@COUNT+1;
---
### 최종 수정: 2021-11-24 04:54<br>
### 최종 수정: 2021-11-25 14:00<br>
### 수정 내용:
0. 채팅기능에 버그가 있는 것 같음-피드백 바람(undefined님이 나가셨습니다. -> 콘솔에 계속 출력됨) // socket.io의 express-session 호환 문제로 후순위 개발로 미룸
1. 로그에 IP 추가
2. 로그에 시간 추가
3. 시간 실시간 반영
4. 게시글 수정 및 삭제 세션+권한 연동/DB수정
5. 버그 수정
6. 게시글 조회수 구현
7. 프로필 수정 세션 연동
8. 프로필 사진 추가
9. 프로필 검색 추가
10. 프로필 비주얼 업데이트
11. etc
\ No newline at end of file
0. 채팅기능에 버그가 있는 것 같음(undefined님이 나가셨습니다. -> 콘솔에 계속 출력됨) // socket.io의 express-session 호환 문제로 후순위 개발로 미룸
1. 로그에 시간/IP 추가
2. 시간 실시간 반영
3. 게시글 수정 및 삭제 세션+권한 연동/DB수정
4. 버그 수정
5. 게시글 조회수 구현
6. 프로필 수정 세션 연동
7. 프로필 사진 추가
8. 프로필 검색 추가
9. 프로필 비주얼 업데이트
10. 코드 다듬음
\ No newline at end of file
......
......@@ -73,22 +73,25 @@ router.get('/', function(req, res){
}else{
var profilepic = "../assets/img/noneprofilepic.png";
}
console.log(profilepic)
console.log(logString+req.user.ID+'('+nickname+') 유저가 프로필을 보고있습니다.('+ip+')')
res.render('profile.ejs', {'ID':id, 'nickname':nickname, 'profnickname': nickname, 'type': type, 'profilemsg': profilemsg, 'profilepic':profilepic})
})
}
catch{
if(!id){
console.log(logString+'익명 유저의 프로필 접근 시도를 거부했습니다.('+ip+')')
res.sendFile(path.join(__dirname, "../../public/login.html"))
}
}
});
router.post('/', function(req,res){
var ip = requestIp.getClientIp(req);
try{
var id = req.user.ID;
var searNick;
searNick = req.body.search;
var ip = requestIp.getClientIp(req);
var sql = 'select * from userdb where nickname="'+req.body.search+'"';
......@@ -117,9 +120,17 @@ router.post('/', function(req,res){
var profilemsg = req.body.profilemsg
var profilepic = req.body.profilepic
console.log(logString+req.user.ID+'('+nickname+') 유저가 프로필 검색에 실패했습니다.(시도 닉네임: req.body.search // '+ip+')')
res.render('other_profile.ejs', {'ID':id, 'nickname': nickname, 'profnickname': profnickname, 'type': type, 'profilemsg': profilemsg, 'message':'해당 유저를 찾을 수 없습니다', 'profilepic':profilepic})
}
})
}
catch{
if(!id){
console.log(logString+'익명 유저의 프로필 검색 시도를 거부했습니다.('+ip+')')
res.sendFile(path.join(__dirname, "../../public/login.html"))
}
}
})
router.get('/update', function(req,res){
......@@ -153,6 +164,7 @@ router.get('/update', function(req,res){
router.post('/update', function(req,res,next){
var ip = requestIp.getClientIp(req);
try{
var id = req.user.ID;
var profilemsg = req.body.profilemsg;
var nickname = req.body.nickname;
......@@ -199,25 +211,55 @@ router.post('/update', function(req,res,next){
res.render('profmsgedit.ejs', {nickname: req.session.passport.user.nickname, profilemsg: oldProfilemsg, message : '중복된 닉네임입니다.'})
}
})
}
catch{
if(!id){
console.log(logString+'익명 유저의 프로필 수정 시도를 거부했습니다.('+ip+')')
res.sendFile(path.join(__dirname, "../../public/login.html"))
}
}
})
router.get('/upload', function(req,res){
res.render('uploadprof.ejs')
var ip = requestIp.getClientIp(req);
try{
var id = req.user.ID;
if(id) res.render('uploadprof.ejs')
}
catch{
if(!id){
console.log(logString+'익명 유저의 프로필 사진 업로드 접근 시도를 거부했습니다.('+ip+')')
res.send("<script>alert('로그인이 필요합니다.');opener.location.href='/login';window.close();</script>");
}
}
})
router.post('/upload', upload.single('userfile'), function(req,res){
var ip = requestIp.getClientIp(req);
try{
var id = req.user.ID;
var ip = requestIp.getClientIp(req);
var profilepic = req.file.filename;
console.log(profilepic)
var datas = [profilepic, id]
var picName = profilepic.substr(15)
var sql = "update userdb set profilepic =? where id =?"
myinfo.query(sql,datas,function(err,result){
if(err) console.error(err)
console.log(logString+req.user.ID+'('+req.user.nickname+') 유저가 프로필 사진을 업로드했습니다.('+ip+')')
res.send('업로드 성공!: '+req.file);
console.log(logString+req.user.ID+'('+req.user.nickname+') 유저가 프로필 사진을 업로드했습니다.(파일명: '+picName+' // '+ip+')')
res.send("<script>alert('업로드가 완료되었습니다.');window.close();</script>");
})
}
catch{
if(!id){
console.log(logString+'익명 유저의 프로필 사진 업로드 시도를 거부했습니다.('+ip+')')
res.sendFile(path.join(__dirname, "../../public/login.html"))
}
else{
console.log(logString+req.user.ID+'('+req.user.nickname+') 유저가 파일 업로드 없이 업로드를 시도했습니다.('+ip+')')
res.send("<script>alert('파일을 업로드 해주세요.');history.back();</script>");
}
}
})
......@@ -230,7 +272,6 @@ function popup(){
function enterkey() {
if (window.event.keyCode == 13) {
// 엔터키가 눌렸을 때 실행할 내용
send();
}
......
......@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>파일 업로드</title>
<title>묵호 - 프로필 사진 업로드</title>
</head>
<body>
<form action = 'upload' method = 'post' enctype="multipart/form-data">
......