해외ip로 접속 시 접근 자체를 차단하는 애드온과 매뉴얼은 있는데
해외ip로 접속 시 글 과 댓글 작성만 차단하는 방법은 구글링해도 나와있지 않더군요...
글 댓글 쓰기 차단만 가능하다면 해외 검색봇의 차단없이 해외 악성 스팸 과 프록시 유저등을 차단이 가능할텐데요....
해외ip로 접속 시 접근 자체를 차단하는 애드온과 매뉴얼은 있는데
해외ip로 접속 시 글 과 댓글 작성만 차단하는 방법은 구글링해도 나와있지 않더군요...
글 댓글 쓰기 차단만 가능하다면 해외 검색봇의 차단없이 해외 악성 스팸 과 프록시 유저등을 차단이 가능할텐데요....
댓글 15
라이믹스라면 국내 IP 판단 기능이 내장되어 있으므로
게시판 모듈의 글쓰기, 댓글쓰기 액션에 아래와 같은 내용을 추가하면 됩니다.
if (!Rhymix\Framework\Korea::isKoreanIP(RX_CLIENT_IP))
{
return new Object(-1, '해외 아이피 즐');
}
코어 수정 없이 애드온으로 구현하는 것은 숙제요~ㅎㅎ
답변해주셔서 감사합니다 ㅎㅎ
제가 왜 애드온에 손을 대고 있나 하고 있었는데, 가만 생각해보니 언젠가 기진곰님 푸시도 일조했던 듯해요ㅎㅎ
해외 프록시 분탕 때문에 비회원 유저의 경우 해외 IP는 글쓰기/댓글쓰기 금지시키고 싶은데.. 혹시 로그인한 사람은 (해외에서 접속해도) 그대로 사용 가능하고 비회원 유동만 차단할 수는 없을까요?
if (!$this->user->isMember() && 다른 조건)
혹시 특정 게시판만 제외시킬 수 있는 방법은 없을까요? (그니까 예컨대 다른 게시판은 다 해외아이피 차단시키고 문의게시판만 허용하는 식으로)
근데 이거 생각해보니 그냥 애드온으로 제작한다면 동작할 게시판을 지정하는게 가능하니까 자동으로 해결되긴 하겠네요. 애드온을 만들 줄 몰라서 그렇지..;;
스케치북 기준
write_form.html에서 수정하는건가요?
제가 초보자라서...죄송하지만
위치 좀 가르쳐주실수 있으신가여?
index.php파일에 이 코드를 추가하면 해외에선 아예 접속을 못하는 효과를 볼 수 있을가요?
코드 작성 할 때 저는
if (~~~) {
~~~~~;
if (~~~~) {
~~~~~;
}
}
이런 방식으로 하는데요 if 문 끝에 { 를 시작하지 않고 한칸 내려 작성하는 이유를 알 수 있을까요?
XE 시절부터 코딩 스타일 표준이 그랬습니다.
괄호 위치나 들여쓰기 방법은 사람마다 습관이 다르고 언어마다 관례가 다른데
여러 사람이 참여하는 오픈소스 프로젝트는 각자 하고 싶은 대로 하면 일관성이 없어지기 때문에
누군가가 정해놓은 코딩 스타일 표준을 따르도록 합니다.
물론 처음 정하는 사람 마음대로이니까 불공평해 보일 수도 있지만,
그거 하나쯤 평소 습관과 다르게 쓴다고 하늘이 무너지는 것도 아니니까요.
같은 PHP라도 다른 프로젝트는 다른 스타일을 사용하겠지요.
예를 들어 해외 PHP 프레임워크 개발자들이 모여서 만든 PSR이라는 코딩 스타일 표준이 있는데,
이것도 어떤 괄호는 옆에 붙이고 어떤 괄호는 다음 줄에 붙이고 일관성 전혀 없습니다. ㅋㅋㅋ
하긴 규칙대로 작성을 안하면 나중에 수정 할때 다른 사람이 헷갈리곤 하겠군요
} elseif (...) {
} else {
이렇게 되는 경우에는 호불호가 갈리더군요.