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

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

· 1년 전 · 1166 · 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년 전

감사 드립니다. 좋네요.

1년 전

@오소피아 좋으시다니 감사합니다 

1년 전

정말 쏠쏠한 팁이네요. 고맙습니다 :)

1년 전

@뒷집돌쇠 쏠쏠하다니 감사합니다 

1년 전

감사합니다

1년 전

@너나잘해 어이구 감사합니다 

이거 정말 필요했습니다
감사합니다

1년 전

@미키손 필요했디니 다행입니다.

훅이 코어를 안 건드려서 편해요

게시글 목록

번호 제목
23606
23598
23585
23579
23578
23564
23550
23549
23548
23529
23510
23507
23481
23471
23453
23452
23450
23436
23428
23404
23396
23389
23380
23369
23350
23337
23317
23307
23298
23290