<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>달력</title>
</head>
<body>
<?php
if(empty($_GET['date'])){ // 입력값이 없으면 오늘을 기준으로 한다
$thisDay = date("Y-m-d");
} else {
if(isset($_GET['btn'])){
if($_GET['btn'] == 'prev'){ // 이전달 구하기
$thisDay = date("Y-m-d", strtotime($_GET['date']." -1 month"));
} elseif($_GET['btn'] == 'next'){ // 다음달 구하기
$thisDay = date("Y-m-d", strtotime($_GET['date']." +1 month"));
}
} else {
$thisDay = $_GET['date']; //입력한 날짜 가져오기
}
}
$thisDayArry = explode('-', $thisDay);
$thisY = $thisDayArry[0];
$thisM = $thisDayArry[1];
$thisD = $thisDayArry[2];
$maxDay = date("t", strtotime($thisDay)); // 총일수
$startWeek = date("w", strtotime($thisY."-".$thisM."-01")); // 1일은 무슨 요일인가
$maxWeek = ceil(($maxDay+$startWeek)/7); // 총주수
$endWeek = date("w", strtotime($thisY."-".$thisM."-".$maxDay));// 마지막일은 무슨 요일인가
?>
<form action="./cal.php" method="GET">
<a href="./cal.php?date=<?php echo $thisDay?>&btn=prev">prev</a>
<input type="text" name="date" value="<?php echo $thisDay?>">
<a href="./cal.php?date=<?php echo $thisDay?>&btn=next">next</a>
</form>
<table>
<thead>
<tr>
<th>일</th>
<th>월</th>
<th>화</th>
<th>수</th>
<th>목</th>
<th>금</th>
<th>토</th>
</tr>
</thead>
<tbody>
<?php $day=1; ?>
<?php for($i=1; $i<=$maxWeek; $i++){?>
<tr>
<?php for($j=0; $j<7; $j++){ ?>
<td>
<?php
if(($i==1 && $j < $startWeek) || ($i==$maxWeek && $j> $endWeek) ){ // 첫째 주이고 j가 1일의 요일보다 작은 경우 패스 || 마지막 주 이고 j가 마지막일의 요일보다 크면 패스
echo '';
} else {
if($day == $thisD){ echo '<b>'; }
echo $day;
if($day == $thisD){ echo '</b>'; }
$day++;
}
?>
</td>
<?php } ?>
</tr>
<?php } ?>
</tbody>
</table>
</body>
</html>
[월:] 2019년 07월
[그누보드5] 관리자에 게시판관리 기능 추가
그누보드관리자페이지에서 게시판명을 클릭하면 사용자 화면으로 링크가 이동되는데 이걸 관리자페이지에서 관리 할 수 있으면 편할거 같아 공유할 목적으로 만들어진 소스입니다.
사용방법:
- https://github.com/jisung87kr/gnuboard-yjs 링크에서 소스 다운로드 하거나 클론 하시면됩니다.
- 나머지는 그누보드 설치 방법에 따라서 진행해주시면 됩니다.
링크를 참조하여 제작하였습니다.
[apache] SecRuleEngine off
cafe24에서 가상호스팅 centos7 구매 후 그누보드 설치하여 사용하는데 아래와 같은 메세지를 출력함.
You don’t have permission to access /bbs/login_check.php on this server.
대부분의 경우 파일권한을 확인하면 되지만 이번에는 권한 이외에 다른 부분이 문제 였다.
에러 로그를 확인
#vi /etc/httpd/logs/error_log
[Fri Jul 19 22:03:31.444003 2019] [:error] [pid 3220] [client xxx.xxx.xxx.xxx] [client xxx.xxx.xxx.xxx] ModSecurity: Access denied with code 403 (phase 2). Pattern match "\\\\%((?!$|\\\\W)|[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})" at ARGS:url. [file "/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_20_protocol_violations.conf"] [line "465"] [id "950109"] [rev "2"] [msg "Multiple URL Encoding Detected"] [severity "WARNING"] [ver "OWASP_CRS/2.2.9"] [maturity "6"] [accuracy "8"] [tag "OWASP_CRS/PROTOCOL_VIOLATION/EVASION"] [hostname "mysite.com"] [uri "/bbs/login_check.php"] [unique_id "XTG-o0jziQZT3ktA@GaorgAAAAA"], referer: http://mysite.com/bbs/login.php?url=http%3A%2F%2Fmysite.com%2Fadm
/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_20_protocol_violations.conf 에서 465 라인이 해당 요청이 규칙에 위반 되어서 접근을 제한 하는것 같다. httpd.conf 에서 해당 규칙을 제외시켜준다.
#vi /etc/httpd/conf/httpd.conf
<Directory>
...
...
SecRuleEngine Off
</Directory>
service httpd restart
[jquery]scrollMagic 사용법
<script src="/TweenMax.min.js"></script>
<script src="/ScrollMagic.min.js"></script>
<script src="/animation.gsap.min.js"></script>
<script src="/debug.addIndicators.min.js"></script>
var controller = new ScrollMagic.Controller();
$(".element").each(function(e){
var _this = this;
var scene = new ScrollMagic.Scene({triggerElement: _this, duration: "100%"})
.setTween(_this, {y: "40%", ease: Linear.easeNone})
.addIndicators() // add indicators (requires plugin)
.addTo(controller)
.reverse(false); // 뒤로돌아가지 않음
})