테스트 사이트 - 개발 중인 베타 버전입니다

마우스우클릭 방지 한방에 후킹

· 1년 전 · 1168 · 20

 

그누순정 55832 버전 이상입니다.
아래의 코드를 적은 후 그 php 파일을 이름은 아무거나 주고 extend 디렉토리로 업로드해 주세요.
관리자는 우클릭이 가능하고 나머지는 우클릭을 금지합니다.

 

[code]

<?php
if (!defined('_GNUBOARD_')) exit;
add_event('tail_sub', function() {
    global $is_admin;
    if (!$is_admin) echo "<script>document.oncontextmenu = document.onselectstart = document.ondragstart = () => { return false; }</script>";
});

[/code]

 

----------

 

개인적으로 https://sir.kr/g5_tip/22905 웹폰트와 함께 붙여서 아래처럼 사용하고 있습니다.

 

[code]

<?php
if (!defined('_GNUBOARD_')) exit;

add_event('tail_sub', function() {
    echo "
        <style>
        @font-face { font-family:'NEXON Lv1 Gothic OTF'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF.woff') format('woff'); }
        div, span, table, p, input, textarea, button, select, code, h1, h2, h3 { font-family:'NEXON Lv1 Gothic OTF' !important; }
        </style>
    ";
    global $is_admin;
    if (!$is_admin) echo "<script>document.oncontextmenu = document.onselectstart = document.ondragstart = () => { return false; }</script>";
});

[/code]

 

----------

 

[ 추가사항 ]

생각해보니 글쓰는 사람이 write 모드에서 우클릭이 잠겨 있으면 좀 이상할 것 같네요.

그래서 글쓰기시에는 등급에 상관없이 우클릭을 개방한다는 조건까지 감안한다면 아래처럼요.

 

[code]

<?php
if (!defined('_GNUBOARD_')) exit;
add_event('tail_sub', function() {

    global $is_admin;
    $ok_mouse = $is_admin || basename($_SERVER['PHP_SELF']) === "write.php";
    if (!$ok_mouse) echo "<script>document.oncontextmenu = document.onselectstart = document.ondragstart = () => { return false; }</script>";
});

[/code]

 

----------

 

[code]

<?php
if (!defined('_GNUBOARD_')) exit;
add_event('tail_sub', function() {
    echo "
        <style>
        @font-face { font-family:'NEXON Lv1 Gothic OTF'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF.woff') format('woff'); }
        div, span, table, p, input, textarea, button, select, code, h1, h2, h3 { font-family:'NEXON Lv1 Gothic OTF' !important; }
        </style>
    ";

    global $is_admin;
    $ok_mouse = $is_admin || basename($_SERVER['PHP_SELF']) === "write.php";
    if (!$ok_mouse) echo "<script>document.oncontextmenu = document.onselectstart = document.ondragstart = () => { return false; }</script>";
});

[/code]

 

----------

 

[ 스킨과의 연동 ] : https://sir.kr/g5_skin/60391

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 20개

1년 전

감사 합니다.

1년 전

@들레아빠 감사합니다 항상

감사합니당

1년 전

@patrick영 감사합니다 

추천 눌렀습니다. 감사합니다.

1년 전

@하늘뚱 추천주심에 감사합니다.

감사합니다.

1년 전

@써맨 감사합니다 

1년 전

한방에 .... 좋습니다.

유익한 자료! 꼼꼼한 배려까지 ㅎㅎ 감사합니다

10개월 전

@하늘아래구름 

배려라고 하시니 감사합니다 

게시글 목록

번호 제목
23966
23963
23953
23949
23938
23935
23933
23928
23919
23918
23917
23910
23902
23901
23897
23894
23893
23891
23885
23872
23870
23862
23859
23853
23845
23838
23827
23819
23805
23801