--- src/main/java/itn/com/cmm/interceptor/IPIgnoreInterceptorHandler.java
+++ src/main/java/itn/com/cmm/interceptor/IPIgnoreInterceptorHandler.java
... | ... | @@ -125,7 +125,7 @@ |
| 125 | 125 |
Date currentTime = new Date (); |
| 126 | 126 |
String mTime = mSimpleDateFormat.format ( currentTime ); |
| 127 | 127 |
HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); |
| 128 |
- String ip = req.getHeader("X-FORWARDED-FOR");
|
|
| 128 |
+ String ip = req.getHeader("X-Forwarded-For") == null ? req.getHeader("X-Forwarded-For") : req.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 129 | 129 |
if (ip == null){ ip = req.getRemoteAddr();}
|
| 130 | 130 |
|
| 131 | 131 |
LoginLog loginLog = new LoginLog(); |
... | ... | @@ -223,31 +223,31 @@ |
| 223 | 223 |
String ip = ""; |
| 224 | 224 |
|
| 225 | 225 |
try {
|
| 226 |
- ip = request.getHeader("X-Forwarded-For");
|
|
| 226 |
+ ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 227 | 227 |
//logger.info("> X-FORWARDED-FOR : " + ip);
|
| 228 |
- //System.out.println("> X-FORWARDED-FOR : " + ip);
|
|
| 228 |
+ System.out.println("> X-FORWARDED-FOR : " + ip);
|
|
| 229 | 229 |
|
| 230 | 230 |
if (ip == null) {
|
| 231 | 231 |
ip = request.getHeader("Proxy-Client-IP");
|
| 232 |
- //System.out.println("> Proxy-Client-IP : " + ip);
|
|
| 232 |
+ System.out.println("> Proxy-Client-IP : " + ip);
|
|
| 233 | 233 |
} |
| 234 | 234 |
if (ip == null) {
|
| 235 | 235 |
ip = request.getHeader("WL-Proxy-Client-IP");
|
| 236 |
- //System.out.println("> WL-Proxy-Client-IP : " + ip);
|
|
| 236 |
+ System.out.println("> WL-Proxy-Client-IP : " + ip);
|
|
| 237 | 237 |
} |
| 238 | 238 |
if (ip == null) {
|
| 239 | 239 |
ip = request.getHeader("HTTP_CLIENT_IP");
|
| 240 |
- //System.out.println("> HTTP_CLIENT_IP : " + ip);
|
|
| 240 |
+ System.out.println("> HTTP_CLIENT_IP : " + ip);
|
|
| 241 | 241 |
} |
| 242 | 242 |
if (ip == null) {
|
| 243 | 243 |
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
|
| 244 |
- //System.out.println("> HTTP_X_FORWARDED_FOR : " + ip);
|
|
| 244 |
+ System.out.println("> HTTP_X_FORWARDED_FOR : " + ip);
|
|
| 245 | 245 |
} |
| 246 | 246 |
if (ip == null) {
|
| 247 | 247 |
ip = request.getRemoteAddr(); |
| 248 |
- //System.out.println("> getRemoteAddr : "+ip);
|
|
| 248 |
+ System.out.println("> getRemoteAddr : "+ip);
|
|
| 249 | 249 |
} |
| 250 |
- //System.out.println("> Result : IP Address : "+ip);
|
|
| 250 |
+ System.out.println("> Result : IP Address : "+ip);
|
|
| 251 | 251 |
}catch(Exception ex) |
| 252 | 252 |
{
|
| 253 | 253 |
ex.printStackTrace(); |
--- src/main/java/itn/com/cmm/interceptor/ipCheck/IPCheckInterceptor.java
+++ src/main/java/itn/com/cmm/interceptor/ipCheck/IPCheckInterceptor.java
... | ... | @@ -34,7 +34,7 @@ |
| 34 | 34 |
@Override |
| 35 | 35 |
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) |
| 36 | 36 |
throws Exception {
|
| 37 |
- String clientIp = request.getHeader("X-Forwarded-For");
|
|
| 37 |
+ String clientIp = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 38 | 38 |
if (ObjectUtils.isEmpty(clientIp) || "unknown".equalsIgnoreCase(clientIp)) {
|
| 39 | 39 |
clientIp = request.getHeader("Proxy-Client-IP");
|
| 40 | 40 |
} |
--- src/main/java/itn/com/cmm/util/IpUtil.java
+++ src/main/java/itn/com/cmm/util/IpUtil.java
... | ... | @@ -22,7 +22,7 @@ |
| 22 | 22 |
|
| 23 | 23 |
public class IpUtil {
|
| 24 | 24 |
public static String getClientIP(HttpServletRequest request) {
|
| 25 |
- String userip = request.getHeader("X-Forwarded-For"); // 아이피 가져오기 아파치 아래에 웹로직이 있을경우
|
|
| 25 |
+ String userip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); // 아이피 가져오기 아파치 아래에 웹로직이 있을경우
|
|
| 26 | 26 |
|
| 27 | 27 |
if ( userip == null || "".equals(userip) ) { // 아이피 가져오기 , 바로 웹로직이 있을경우
|
| 28 | 28 |
userip = request.getRemoteAddr(); |
--- src/main/java/itn/let/cop/bbs/web/EgovBBSManageController.java
+++ src/main/java/itn/let/cop/bbs/web/EgovBBSManageController.java
... | ... | @@ -314,7 +314,7 @@ |
| 314 | 314 |
model.addAttribute("paginationInfo", paginationInfo);
|
| 315 | 315 |
|
| 316 | 316 |
//임시 데이터 이관용 |
| 317 |
- /*String ip = request.getHeader("X-Forwarded-For");
|
|
| 317 |
+ /*String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 318 | 318 |
if (ip == null) ip = request.getRemoteAddr(); |
| 319 | 319 |
|
| 320 | 320 |
String ddd = ""; |
... | ... | @@ -809,7 +809,7 @@ |
| 809 | 809 |
vo.setCodeId("ITN015");
|
| 810 | 810 |
model.addAttribute("codeList", cmmUseService.selectCmmCodeDetail(vo));
|
| 811 | 811 |
//임시 데이터 이관용 |
| 812 |
- /*String ip = request.getHeader("X-Forwarded-For");
|
|
| 812 |
+ /*String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 813 | 813 |
if (ip == null) ip = request.getRemoteAddr(); |
| 814 | 814 |
|
| 815 | 815 |
String ddd = ""; |
... | ... | @@ -1038,7 +1038,7 @@ |
| 1038 | 1038 |
model.addAttribute("codeList", cmmUseService.selectCmmCodeDetail(vo));
|
| 1039 | 1039 |
|
| 1040 | 1040 |
//임시 데이터 이관용 |
| 1041 |
- String ip = request.getHeader("X-Forwarded-For");
|
|
| 1041 |
+ String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 1042 | 1042 |
if (ip == null) ip = request.getRemoteAddr(); |
| 1043 | 1043 |
if("219.240.88.15".equals(ip) || "0:0:0:0:0:0:0:1".equals(ip)) {
|
| 1044 | 1044 |
model.addAttribute("Transfer", true );
|
--- src/main/java/itn/let/main/web/EgovMainController.java
+++ src/main/java/itn/let/main/web/EgovMainController.java
... | ... | @@ -71,6 +71,7 @@ |
| 71 | 71 |
import itn.let.uss.olp.qmc.service.EgovQustnrManageService; |
| 72 | 72 |
import itn.let.uss.umt.service.EgovUserManageService; |
| 73 | 73 |
import itn.let.uss.umt.service.MberManageVO; |
| 74 |
+import itn.let.utl.sim.service.EgovClntInfo; |
|
| 74 | 75 |
|
| 75 | 76 |
/** |
| 76 | 77 |
* 템플릿 메인 페이지 컨트롤러 클래스(Sample 소스) |
... | ... | @@ -1151,7 +1152,8 @@ |
| 1151 | 1152 |
Date currentTime = new Date (); |
| 1152 | 1153 |
String mTime = mSimpleDateFormat.format ( currentTime ); |
| 1153 | 1154 |
HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); |
| 1154 |
- String ip = req.getHeader("X-FORWARDED-FOR");
|
|
| 1155 |
+ /* String ip = req.getHeader("X-FORWARDED-FOR"); */
|
|
| 1156 |
+ String ip = EgovClntInfo.getClntIP(req); |
|
| 1155 | 1157 |
if (ip == null){ ip = req.getRemoteAddr();}
|
| 1156 | 1158 |
LoginLog loginLog = new LoginLog(); |
| 1157 | 1159 |
loginLog.setLoginIp(ip); |
... | ... | @@ -1212,7 +1214,7 @@ |
| 1212 | 1214 |
Date currentTime = new Date (); |
| 1213 | 1215 |
String mTime = mSimpleDateFormat.format ( currentTime ); |
| 1214 | 1216 |
HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); |
| 1215 |
- String ip = req.getHeader("X-FORWARDED-FOR");
|
|
| 1217 |
+ String ip = req.getHeader("X-Forwarded-For") == null ? req.getHeader("X-Forwarded-For") : req.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 1216 | 1218 |
if (ip == null){ ip = req.getRemoteAddr();}
|
| 1217 | 1219 |
LoginLog loginLog = new LoginLog(); |
| 1218 | 1220 |
loginLog.setLoginIp(ip); |
--- src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java
+++ src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java
... | ... | @@ -1470,7 +1470,7 @@ |
| 1470 | 1470 |
|
| 1471 | 1471 |
// Get Ip |
| 1472 | 1472 |
public static String getClientIP(HttpServletRequest request) {
|
| 1473 |
- String ip = request.getHeader("X-Forwarded-For");
|
|
| 1473 |
+ String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 1474 | 1474 |
String ipMethod = "X-Forwarded-For"; |
| 1475 | 1475 |
|
| 1476 | 1476 |
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
|
--- src/main/java/itn/let/uat/uia/web/ClientIP.java
+++ src/main/java/itn/let/uat/uia/web/ClientIP.java
... | ... | @@ -6,7 +6,7 @@ |
| 6 | 6 |
|
| 7 | 7 |
public String getClientIP(HttpServletRequest request) {
|
| 8 | 8 |
|
| 9 |
- String ip = request.getHeader("X-Forwarded-For");
|
|
| 9 |
+ String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 10 | 10 |
|
| 11 | 11 |
if (ip == null) {
|
| 12 | 12 |
ip = request.getHeader("Proxy-Client-IP");
|
--- src/main/java/itn/let/uat/uia/web/EgovLoginController.java
+++ src/main/java/itn/let/uat/uia/web/EgovLoginController.java
... | ... | @@ -1274,7 +1274,7 @@ |
| 1274 | 1274 |
|
| 1275 | 1275 |
HttpServletRequest req = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()) |
| 1276 | 1276 |
.getRequest(); |
| 1277 |
- String userIp = req.getHeader("X-FORWARDED-FOR");
|
|
| 1277 |
+ String userIp = req.getHeader("X-Forwarded-For") == null ? req.getHeader("X-Forwarded-For") : req.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 1278 | 1278 |
if (userIp == null) {
|
| 1279 | 1279 |
userIp = req.getRemoteAddr(); |
| 1280 | 1280 |
} |
--- src/main/java/itn/let/utl/sim/service/EgovClntInfo.java
+++ src/main/java/itn/let/utl/sim/service/EgovClntInfo.java
... | ... | @@ -32,7 +32,7 @@ |
| 32 | 32 |
*/ |
| 33 | 33 |
public static String getClntIP(HttpServletRequest request) throws Exception {
|
| 34 | 34 |
|
| 35 |
- String ip = request.getHeader("X-Forwarded-For");
|
|
| 35 |
+ String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 36 | 36 |
|
| 37 | 37 |
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
|
| 38 | 38 |
ip = request.getHeader("Proxy-Client-IP");
|
... | ... | @@ -62,7 +62,7 @@ |
| 62 | 62 |
// IP주소 |
| 63 | 63 |
//String ipAddr = request.getRemoteAddr(); |
| 64 | 64 |
|
| 65 |
- String ip = request.getHeader("X-Forwarded-For");
|
|
| 65 |
+ String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 66 | 66 |
|
| 67 | 67 |
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
|
| 68 | 68 |
ip = request.getHeader("Proxy-Client-IP");
|
--- src/main/java/itn/web/ContentController.java
+++ src/main/java/itn/web/ContentController.java
... | ... | @@ -367,7 +367,7 @@ |
| 367 | 367 |
StringBuilder sb = new StringBuilder(); |
| 368 | 368 |
|
| 369 | 369 |
try {
|
| 370 |
- String ipAddress = request.getHeader("X-Forwarded-For");
|
|
| 370 |
+ String ipAddress = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 371 | 371 |
if (ipAddress == null) {
|
| 372 | 372 |
ipAddress = request.getRemoteAddr(); |
| 373 | 373 |
} |
... | ... | @@ -559,7 +559,7 @@ |
| 559 | 559 |
int ignoreIpCnt = 0; |
| 560 | 560 |
|
| 561 | 561 |
// 0:0:0:0:0:0:0:1 |
| 562 |
- String ipAddress = request.getHeader("X-Forwarded-For");
|
|
| 562 |
+ String ipAddress = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 563 | 563 |
if (ipAddress == null) {
|
| 564 | 564 |
ipAddress = request.getRemoteAddr(); |
| 565 | 565 |
} |
... | ... | @@ -598,7 +598,7 @@ |
| 598 | 598 |
modelAndView.setViewName("jsonView");
|
| 599 | 599 |
|
| 600 | 600 |
// 0:0:0:0:0:0:0:1 |
| 601 |
- String ipAddress = request.getHeader("X-Forwarded-For");
|
|
| 601 |
+ String ipAddress = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 602 | 602 |
if (ipAddress == null) {
|
| 603 | 603 |
ipAddress = request.getRemoteAddr(); |
| 604 | 604 |
} |
--- src/main/java/itn/web/MainController.java
+++ src/main/java/itn/web/MainController.java
... | ... | @@ -1046,7 +1046,8 @@ |
| 1046 | 1046 |
Date currentTime = new Date (); |
| 1047 | 1047 |
String mTime = mSimpleDateFormat.format ( currentTime ); |
| 1048 | 1048 |
HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); |
| 1049 |
- String ip = req.getHeader("X-FORWARDED-FOR");
|
|
| 1049 |
+ /* String ip = req.getHeader("X-FORWARDED-FOR"); */
|
|
| 1050 |
+ String ip = EgovClntInfo.getClntIP(req); |
|
| 1050 | 1051 |
if (ip == null){ ip = req.getRemoteAddr();}
|
| 1051 | 1052 |
|
| 1052 | 1053 |
loginLog.setLoginIp(ip); |
... | ... | @@ -1235,7 +1236,8 @@ |
| 1235 | 1236 |
Date currentTime = new Date (); |
| 1236 | 1237 |
String mTime = mSimpleDateFormat.format ( currentTime ); |
| 1237 | 1238 |
HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); |
| 1238 |
- String ip = req.getHeader("X-FORWARDED-FOR");
|
|
| 1239 |
+ /* String ip = req.getHeader("X-FORWARDED-FOR"); */
|
|
| 1240 |
+ String ip = EgovClntInfo.getClntIP(req); |
|
| 1239 | 1241 |
if (ip == null){ ip = req.getRemoteAddr();}
|
| 1240 | 1242 |
|
| 1241 | 1243 |
loginLog.setLoginIp(ip); |
... | ... | @@ -1292,7 +1294,7 @@ |
| 1292 | 1294 |
// 차단IP 체크 START |
| 1293 | 1295 |
{
|
| 1294 | 1296 |
int ignoreIpCnt = 0; |
| 1295 |
- String ipAddress = request.getHeader("X-Forwarded-For");
|
|
| 1297 |
+ String ipAddress = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 1296 | 1298 |
if (ipAddress == null) {
|
| 1297 | 1299 |
ipAddress = request.getRemoteAddr(); |
| 1298 | 1300 |
} |
... | ... | @@ -2628,7 +2630,7 @@ |
| 2628 | 2630 |
|
| 2629 | 2631 |
try {
|
| 2630 | 2632 |
|
| 2631 |
- String ipAddress = request.getHeader("X-Forwarded-For");
|
|
| 2633 |
+ String ipAddress = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 2632 | 2634 |
if (ipAddress == null) {
|
| 2633 | 2635 |
ipAddress = request.getRemoteAddr(); |
| 2634 | 2636 |
System.out.println("+++++++++++++ ipAddress ::: "+ipAddress);
|
... | ... | @@ -2724,7 +2726,7 @@ |
| 2724 | 2726 |
String ip = ""; |
| 2725 | 2727 |
|
| 2726 | 2728 |
try {
|
| 2727 |
- ip = request.getHeader("X-Forwarded-For");
|
|
| 2729 |
+ ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
|
| 2728 | 2730 |
//logger.info("> X-FORWARDED-FOR : " + ip);
|
| 2729 | 2731 |
//System.out.println("> X-FORWARDED-FOR : " + ip);
|
| 2730 | 2732 |
|
--- src/main/resources/egovframework/sqlmap/let/mjo/apikey/ApiCallInfoMng_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/mjo/apikey/ApiCallInfoMng_SQL_Mysql.xml
... | ... | @@ -1,5 +1,5 @@ |
| 1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
| 2 |
-<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> |
|
| 2 |
+<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> |
|
| 3 | 3 |
|
| 4 | 4 |
<sqlMap namespace="ApiCallInfoMng"> |
| 5 | 5 |
|
--- src/main/resources/egovframework/sqlmap/let/mjo/apikey/ApiKeyMng_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/mjo/apikey/ApiKeyMng_SQL_Mysql.xml
... | ... | @@ -1,5 +1,5 @@ |
| 1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
| 2 |
-<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> |
|
| 2 |
+<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> |
|
| 3 | 3 |
|
| 4 | 4 |
<sqlMap namespace="ApiKeyMng"> |
| 5 | 5 |
|
--- src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml
... | ... | @@ -1,5 +1,5 @@ |
| 1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
| 2 |
-<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> |
|
| 2 |
+<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> |
|
| 3 | 3 |
|
| 4 | 4 |
<sqlMap namespace="UserLog"> |
| 5 | 5 |
|
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?