本文目录一览:
- 1、求一Discuz 防复制代码。谢谢拜托各位了 3Q
- 2、为什么在这个论坛复制的文章有乱码?
- 3、怎么做到论坛上发帖的时候防止复制转载的东西谢谢了,大神帮忙啊
- 4、discuz 3.2板块标题重复,有些好着,有些重复
求一Discuz 防复制代码。谢谢拜托各位了 3Q
只需在head与/head之间添加以下代码就可达到目的 1. oncontextmenu="window.event.returnvalue=false" //将彻底屏蔽鼠标右键 table border oncontextmenu=return(false)tdno/table //可用于Table 2. body onselectstart="return false" //取消选取、防止复制 3. onpaste="return false" //不准粘贴 4. oncopy="return false;" oncut="return false;" // 防止复制
为什么在这个论坛复制的文章有乱码?
是因为论坛开启了防复制功能啊.
防复制功能 不是指不能复制,而是根据背景颜色增加乱码.
比如,白色的背景,论坛会自动在每一个句子后面增加sfdgr464654这样的白色字体,这些乱码在正常游览的时候是看不到的.但是一复制就....
解决方法:
网络上有很多转贴工具,比如这个
使用说明:
1.在网页中拖动鼠标选中你想要的图片或文字,然后鼠标右键“复制(C)”或按Ctrl+C。
2.进入该页面,直接按下“追加转换剪贴板数据”。
3.复制文本筐中的数据,按下“将代码复制到剪贴板”。
4.进入论坛发贴页面,鼠标右键“粘贴(P)”或按Ctrl+V将帖子内容复制到帖子内容筐。
5.乱码过滤功能只在discuz7.0和phpwind6.32下测试过部分论坛,如果不能正常使用请关掉乱码过滤。
6.对于没有开启干扰代码的论坛建议去掉屏蔽干扰码的复选框
怎么做到论坛上发帖的时候防止复制转载的东西谢谢了,大神帮忙啊
用帖子水印防复制插件 为了防止复制在每个段落后面随机生成一些乱码,正常看贴是看不到的,但如果用ctrl+c复制的话这些乱码就会被复制,从而达到防复制的目的
discuz 3.2板块标题重复,有些好着,有些重复
为了避免发布重复的帖子,我们可以手动修改一下Discuz!的源代码来实现:
1、打开 include\newthread.inc.php
2、查找:
复制代码
3、在后面一行添加:
if($subject == '' || $message == '') {
showmessage('post_sm_isnull');}
复制代码
* 添加提示信息(可选择加与不加,加了后当发重复的帖子的时候会有温馨提示增加用户体验)
1、打开:templates\default\messages.lang.php
2、查找:
//Refuse repeated post. Code by KaijuanStudio , Optimization by phytist
$repeated = 4; //设置防范重复发贴的级别,0=关闭,1=防范相同ID发布相同标题的新主题,2=防范发布相同标题的新主题,3=防范发布相同标题且内容部分相同的新主题,4=防止内容一致或标题和部分内容相同的主题。
if($repeated == 1) {
$query = $db-query("SELECT tid, subject FROM {$tablepre}threads WHERE authorid='$discuz_uid' AND subject='$subject'");
if($db-num_rows($query)) {
$repeat = $db-fetch_array($query);
showmessage('post_repeated', 'index.php');
}
} elseif ($repeated == 2) {
$query = $db-query("SELECT tid, subject FROM {$tablepre}threads WHERE subject='$subject'");
if($db-num_rows($query)) {
$repeat = $db-fetch_array($query);
showmessage('post_repeated', 'index.php');
}
} elseif ($repeated == 3) {
$query = $db-query("SELECT tid, authorid, subject, message FROM {$tablepre}posts WHERE first='1' AND subject='$subject'");
if($db-num_rows($query)) {
$repeat = $db-fetch_array($query);
if($repeat['authorid'] == $discuz_uid) {
showmessage('post_repeated', 'index.php');
}
function SubString($str, $start, $len = 0xFFFFFFFF) {
if($start 0) {
$start = strlen($str) + $start;
}
if($len 0) {
$len = strlen($str) - $start + $len;
}
$tmp = '';
$result = '';
$strlen = strlen($str);
$begin = 0;
$subLen = 0;
for($i = 0; $i $start + $len $i $strlen; $i++) {
if($i $start) {
if(ord($str[$i]) = 161 ord($str[$i]) = 247 ord($str[$i+1]) = 161 ord($str[$i+1]) = 254) $i++;
} else {
$begin=$i;
for(; $i$start+$len $i$strlen; $i++) {
if(ord($str[$i]) = 161 ord($str[$i]) = 247 ord($str[$i+1])=161 ord($str[$i+1])=254) $i++;
}
return substr($str,$begin,$i-$begin);
}
}
}
if(strlen($message) 60) {
if(SubString($message, -100) == SubString($repeat['message'], -100) || SubString($message, 50, 100) == SubString($repeat['message'], 50, 100)) {
showmessage('post_repeated', 'index.php');
}
} else {
if($message == SubString($repeat['message'], 0, 60)) {
showmessage('post_repeated', 'index.php');
}
}
}
}elseif ($repeated == 4) {
$query = $db-query("SELECT tid, authorid, subject, message FROM {$tablepre}posts WHERE first='1' AND (subject='$subject' OR message='$message')");
if($db-num_rows($query)) {
$repeat = $db-fetch_array($query);
if($repeat['authorid'] == $discuz_uid) {
showmessage('post_repeated', 'index.php');
}
function SubString($str, $start, $len = 0xFFFFFFFF) {
if($start 0) {
$start = strlen($str) + $start;
}
if($len 0) {
$len = strlen($str) - $start + $len;
}
$tmp = '';
$result = '';
$strlen = strlen($str);
$begin = 0;
$subLen = 0;
for($i = 0; $i $start + $len $i $strlen; $i++) {
if($i $start) {
if(ord($str[$i]) = 161 ord($str[$i]) = 247 ord($str[$i+1]) = 161 ord($str[$i+1]) = 254) $i++;
} else {
$begin=$i;
for(; $i$start+$len $i$strlen; $i++) {
if(ord($str[$i]) = 161 ord($str[$i]) = 247 ord($str[$i+1])=161 ord($str[$i+1])=254) $i++;
}
return substr($str,$begin,$i-$begin);
}
}
}
if(strlen($message) 60) {
if(SubString($message, -100) == SubString($repeat['message'], -100) || SubString($message, 50, 100) == SubString($repeat['message'], 50, 100)) {
showmessage('post_repeated', 'index.php');
}
} else {
if($message == SubString($repeat['message'], 0, 60)) {
showmessage('post_repeated', 'index.php');
}
}
}
}
//Refuse repeated post. Code End
复制代码
'post_net_price_iszero' = '您的主题售价扣除积分交易税后为 0,请返回修改。',
复制代码
3、在后面一行添加
复制代码
'post_repeated' = '您所发布的主题或内容已存在:《a href=\"viewthread.php?tid=$repeat[tid]\" target=\"_blank\"$repeat[subject]/a》请勿重复发布。',