立即注册 登录
彼岸网 返回首页

天香公主的个人空间 http://www.bian-wang.com/discuz/?10005 [收藏] [复制] [分享] [RSS] txgz999@yahoo.com

评论

回复 天香公主 2017-4-24 11:31 PM Discuz功能改进:用html5实现头像编辑   (天香公主)
e0759: discuz x2.5 gbk 安装了 报500错误。貌似不兼容
抱歉,我原想装个2.5GBK试试,但只找到20150609版的,安装后没法登录,说我填写的内容含不良信息,只好放弃。如果你有较早的版本,方便的话请给我一份。

不过我建议你不如试试我写的插件版,装卸都方便,http://www.bian-wang.com/discuz/home.php?mod=space&uid=10005&do=blog&id=1533,文后的插件下载支持GBK。
回复 天香公主 2017-4-22 06:06 PM 经过一个下午的折腾,上来汇报下   (admin)
    Been there, done that
回复 天香公主 2017-4-17 08:28 AM Discuz功能改进:如何用@来发通知   (天香公主)
sesemule: 安全提醒正常出现。

唯一的问题是:上次登录时间显示不正常,显示为1492424688,大概对应2017年4月17日18:32。
嗯,在2)里少了句 $lastipDate = dgmdate($lastipDate);
我把它加在前一个评论里了。
回复 天香公主 2017-4-17 12:12 AM Discuz功能改进:如何用@来发通知   (天香公主)
sesemule: 好像……并没有起作用? 等我有空再核对下,是不是哪里代码复制错了……
我把代码改了下,你再试试吧。把上次的改动都去掉后,加入下面的修改:

1)修改语言包文件 source/language/lang_notification.php,在末端加入

    'ipnotice' => '<div class="bm"><h2>安全提醒</h2><div class="bm_c" style="width: 400px;">
<dl class="xld cl bbda">
<dd>本次登录位置 {nowip} {nowipConvert}<br />上次登录位置 {lastip} {lastipConvert}<br />上次登录时间 {lastipDate}</dd>
</dl>
<p class="ptn cl"><a href="home.php?mod=spacecp&ac=profile&op=password" class="xi2 y">登录地点异常,建议立即更改密码 &raquo;</a></p>
</div>',

2)修改函数库文件 source/function/function_misc.php,在末端加入

function ipnotice($lastip, $lastipDate, $nowip) {
    global $_G;
    if (!$_G['setting']['bbclosed'] && !$_G['member']['freeze'] && !$_G['member']['groupexpiry'] && $_G['setting']['disableipnotice'] != 1 && $_G['uid'] && $_G['adminid'] == 1)
    {
                $lastipConvert = convertip($lastip);
                $lastipDate = dgmdate($lastipDate);
                $nowipConvert = convertip($nowip);

                $lastipConvert = process_ipnotice($lastipConvert);
                $nowipConvert = process_ipnotice($nowipConvert);

                if($lastipConvert != $nowipConvert && stripos($lastipConvert, $nowipConvert) == false && stripos($nowipConvert, $lastipConvert) == false) {
                        notification_add($_G['uid'], 'system', 'ipnotice', array(
                'nowip' => $nowip,
                'nowipConvert' => $nowipConvert,
                'lastip' => $lastip,
                'lastipConvert' => $lastipConvert,
                'lastipDate' => $lastipDate
            ),1);
                }
    }
}

3)修改类文件 source/class/class_member.php,在函数 on_login 的定义里的下面一句

dsetcookie('lip', $_G['member']['lastip'].','.$_G['member']['lastvisit']);

后加入:

require_once libfile('function/misc');
ipnotice($_G['member']['lastip'], $_G['member']['lastvisit'], $_G['clientip']);

4)修改类文件 source/class/discuz/discuz_application.php,在函数 _init_session 的定义里的下面一句

dsetcookie('lip', $this->var['member']['lastip'].','.$this->var['member']['lastvisit']);

后加入:

require_once libfile('function/misc');
ipnotice($this->var['member']['lastip'], $this->var['member']['lastvisit'], $this->var['clientip']);

注意:
A) 在2)中有个条件 $_G['adminid'] == 1,所以暂时只有管理员会有这个系统提醒,便于你测试。如果你要对全站用户开放这个功能,就把这个条件去掉。
B)在2)中还有个条件 $_G['setting']['disableipnotice'] != 1,即只有“关闭登录安全提醒”选择否时才会有系统提醒。如果你觉得这个安全提醒应该与这个设置值无关,比如你不想有弹窗所以要在“关闭登录安全提醒”选择是而又要这个系统提醒,那就把这个条件去掉。
回复 天香公主 2017-4-16 11:45 PM Discuz功能改进:如何用@来发通知   (天香公主)
sesemule: 哪个最后刷新,哪个就会有安全提醒的弹窗。
哈,我认为是先登录的那个会有弹窗,你认为是最后刷新的那个会有弹窗,这我还得试试再确认,但至少我们都同意不是两个都有弹窗。而如果改用通知的话,两个都会收到通知,因为通知是发给用户的而不是设备的。所以这是弹窗机制和通知机制的一个不同点。我刚把通知的代码改了下,马上贴上来,你再试试,希望除前述的不同点外,其它效果类似。

还有不知你注意到没有,不是IP变了就会有提醒,而是IP所在的地区变了才会有提醒。
回复 天香公主 2017-4-16 05:55 PM Discuz功能改进:如何用@来发通知   (天香公主)
sesemule: 按天香说的试了一下退出和重新登录,发现了挺奇怪的现象。

如果两个不同IP的设备都在登录状态下刷新网页,就会正常出现右下角的安全提醒弹窗;但是如果一个设备 ...
我对你说的过程有点疑问。比如你有A和B两个设备,先在A上登录网站,再在B上登录网站,然后你在这两个设备上刷新网页后是都能看到弹窗,还是只在A上看到弹窗?
回复 天香公主 2017-4-15 11:38 PM Discuz功能改进:如何用@来发通知   (天香公主)
sesemule: 好像……并没有起作用? 等我有空再核对下,是不是哪里代码复制错了……
忘了问你是不是关闭了“关闭登录安全提醒”?还有你希望我添加的这个提醒功能是否要依赖这个设置值?
回复 天香公主 2017-4-15 09:55 PM Discuz功能改进:导入博文和图片   (天香公主)
东风: 你确信是在beineilife.com测试的?我改为https 也是不行,可能是jqury 问题?
是的。有两种你没成功的可能原因:
1)你在点击了'下载远程图片'后没有等待足够长的时间就点击了'保存提交'。在点击了前一个按钮后,浏览器左上角会有个转圈的标志代表正在下载,要等它停下后才能点击后一个按钮。
2)你要下载的远程图片的地址不是以常见图片扩展名结尾的。
我提供的这个日志功能模仿了DZ提供的文章里的相应功能,所以也继承了那里就有的这两个限制
回复 天香公主 2017-4-15 07:45 AM Discuz功能改进:如何用@来发通知   (天香公主)
sesemule: 好像……并没有起作用? 等我有空再核对下,是不是哪里代码复制错了……
我再看看。你测试看到右下角的登录安全提醒弹窗了吗?还有有没有退出和重新登录?
回复 天香公主 2017-4-14 11:42 PM Discuz功能改进:如何用@来发通知   (天香公主)
sesemule: 天香,discuz有一个“登录安全提醒”功能,如果本次登录与上次登录的IP地址不同,就会在右下角弹窗提醒用户,大概是这个样子:
[img]http://www.bian-wang.com/d ...
嗯,这个主意不错。我想可以这样做,你试试吧:
1)修改语言包文件 source/language/lang_notification.php,在末端加入

    'ipnotice' => '<div class="bm"><h2>安全提醒</h2><div class="bm_c" style="width: 400px;">
<dl class="xld cl bbda">
<dd>本次登录位置 {nowip} {nowipConvert}<br />上次登录位置 {lastip} {lastipConvert}<br />上次登录时间 {lastipDate}</dd>
</dl>
<p class="ptn cl"><a href="home.php?mod=spacecp&ac=profile&op=password" onclick="setcookie(\'lip\', \'\', -1);" class="xi2 y">登录地点异常,建议立即更改密码 &raquo;</a></p>
</div>',

2)修改函数库文件 source/function/function_misc.php,在末端加入

function ipnotice() {
    global $_G;
    if (!$_G['setting']['bbclosed'] && !$_G['member']['freeze'] && !$_G['member']['groupexpiry'] && $_G['setting']['disableipnotice'] != 1 && $_G['uid'] && !empty($_G['cookie']['lip']) && $_G['cookie']['lip'] != ',')
    {
        $status = C::t('common_member_status')->fetch($_G['uid']);
                $lip = explode(',', $_G['cookie']['lip']);

                $lastipConvert = convertip($lip[0]);
        $lastipDate = dgmdate($lip[1]);

                $nowipConvert = convertip($status['lastip']);

        $lastipConvert = process_ipnotice($lastipConvert);
                $nowipConvert = process_ipnotice($nowipConvert);

                if($lastipConvert != $nowipConvert && stripos($lastipConvert, $nowipConvert) == false && stripos($nowipConvert, $lastipConvert) == false) {
                        notification_add($_G['uid'], 'system', 'ipnotice', array(
                'nowip' => $status['lastip'],
                'nowipConvert' => $nowipConvert,
                'lastip' => $lip[0],
                'lastipConvert' => $lastipConvert,
                'lastipDate' => $lastipDate
            ),1);
                }
    }
}

3)修改类文件 source/class/class_member.php,在函数 on_login 的定义里的下面一句

C::t('common_member_status')->update($_G['uid'], array('lastip' => $_G['clientip'], 'port' => $_G['remoteport'], 'lastvisit' =>TIMESTAMP, 'lastactivity' => TIMESTAMP));

后添加:

require_once libfile('function/misc');
ipnotice();
回复 天香公主 2017-4-14 06:41 PM Discuz功能改进:导入博文和图片   (天香公主)
东风: 天香,又来叨扰你了,因为使用https, 博客里图片和swf在http下不显示,我想推荐下载远程图片,结果一测试不工作了,你有时间帮看看,还有上面的在编辑器里下载图 ...
关于"下载远程图片",我在你那试了试,如果远程图片的地址是以http://开头的,又以常见的图片文件后缀结尾的话,这个功能应该还是能用的,作为测试,你可以试下 http://blog.sinovision.net/home/space/do/blog/uid/492162/id/310913.html

但是如果远程图片的地址是以https://开头的,那的确有问题。解决的办法是我博文中 1。导入图片 里的3)提到在文件 source/include/spacecp/spacecp_upload.php 里要加的代码里有一句
    if(preg_match('/^(http:\/\/|\.)/i', $imageurl)) {
要改成
    if(preg_match('/^(https?:\/\/|\.)/i', $imageurl)) {
博文中已改。

这句话其实是从source/include/portalcp/portalcp_upload.php 里抄来的 ,要想让文章里的"下载远程图片"功能也支持以https://开头的远程图片,就需要在 source/include/portalcp/portalcp_upload.php 也做同样的修改。
回复 天香公主 2017-4-8 09:23 AM 经过许多日子的折腾,上来汇报下   (东风)
不用谢啦。看你说'为抵制恶意注册,开启人工审核'。是不是每天都有好多机器人注册删得手酸?我倒觉得不必人工审核,只要在管理中心里的防灌水->验证设置->验证问题设置里,对新用户注册加个验证问题,或者就用DZ提供的100以内加减法,就足以防范机器人注册了。感觉彼岸网自从用了'茴香豆的茴字有几种写法'后从没有机器人注册过
回复 天香公主 2017-4-8 08:56 AM Discuz功能改进:如何用@来发通知   (天香公主)
东风: 我有折腾了https, 才注意到,将来用远程附件, 就没法一致了,不过那也得用远程附件。
嗯,用https好。远程附件那也用https,应该不会有问题吧
回复 天香公主 2017-4-6 10:48 PM Discuz插件开发:上传文件插件   (天香公主)
sesemule: 抱歉,之前没有做认真的测试,现在确认DZ的相册上传照片、发帖上传照片功能在微信、手机QQ的内置浏览器里也是不可用的。

之所以有这种误解,是因为向我反馈问题 ...
可以说是安卓的问题,我用的就是最基本的html里的file element,而它们的webview也不完全支持。也可以说是微信的问题,因为微信是有条件支持这个功能的,但它们没做 https://coderanch.com/t/645447/html-file-input-work-android

WebView is an embedded browser control, but it's not fully autonomous. For many tasks, it relies on the application that is embedding it to perform some actions.

Showing file chooser dialog, showing javascript alert popups, etc. are some such tasks where the WebView just provides callbacks to the application and expects the application to display appropriate views like a file open dialog or message popup.

但网页本身就没有条件支持这个功能了。
回复 天香公主 2017-4-6 07:43 PM Discuz插件开发:上传文件插件   (天香公主)
sesemule: 天香:这个插件在浏览器里使用正常(包括PC浏览器、手机浏览器),但是在微信和手机QQ的内置浏览器里无法使用。

比如说,我把网站分享到朋友圈、QQ空间或者关联 ...
我没用过手机QQ,只能测试下微信。

在iPad上微信里打开网站链接登录后,上传文件没问题,这张就是我在那上传的 http://www.bian-wang.com/discuz/data/userupload/10005/IMG_3561.PNG

在安卓手机上做同样操作,点击上传文件按钮没反应,看了看网上别人也有这问题 https://www.qianduan.net/wei-xin-bu-zhi-chi-webview-nei-wen-jian-shang-chuan-liao-no/https://www.zhihu.com/question/21452742

你说'使用DZ的相册功能上传照片是正常的',这我有点奇怪了,至少彼岸网在上述我测试的两个环境里选择图片按钮都是不显示的所以也没法上传。不知你的网站在这个功能上是不是用了我写的代码或者是他人的插件。如果你确认可以在相册里上传照片的话,我想去你那试试看。
回复 天香公主 2017-4-6 11:53 AM Discuz功能改进:如何用@来发通知   (天香公主)
carry0987:
http://i.imgur.com/A4pFeWN.png
目前我只改了這個..
"基本设置"tab下原来是
    本地附件保存位置: ./data/attachment
    本地附件 URL 地址: data/attachment
你把它们改成了URL估计不行吧,似乎应该改在"远程附件"tab里
回复 天香公主 2017-4-5 06:40 AM Discuz功能改进:如何用@来发通知   (天香公主)
carry0987: 天香,我將論壇的附件完全移動到qbnehs.besv.net這個遠程空間(意思是將attachment整個資料夾移至遠程空間並且刪除本地的attachment),結果圖片就無法上傳了..... ...
是这个远程空间设置有问题吧?
回复 天香公主 2017-4-5 06:38 AM Discuz功能改进:如何用@来发通知   (天香公主)
sesemule: 赞!
  
回复 天香公主 2017-4-5 06:38 AM 苹果发布会推出 iPhone SE   (天香公主)
carry0987: 我終於找到問題所在了....這次的問題是我上次傳給你的「自動封面助手1.2.0」出的問題,關閉此插件後就恢復了,目前所有可能的原因是,沒有問題的日系音樂區的帖 ...
  
回复 天香公主 2017-4-4 08:25 PM Discuz功能改进:如何用@来发通知   (天香公主)
sesemule: 天香,我觉得@功能需要辅以可屏蔽功能,也就是“被我拉进黑名单的人不能@我”,否则会被某些居心不良的人用来骚扰他人。

在别处看到一个帖子,是完善论坛黑名单 ...
同意。可以在我加的代码
   notification_add($auid, ...
前加个条件,改成
   if (!isblacklist($auid)) notification_add($auid, ...
我在文中都加了。

小黑屋|Archiver|彼岸网  

Powered by Discuz! X3.1 © 2001-2014 Comsenz Inc.
GMT-4, 2017-4-25 10:19 PM , Processed in 0.072772 second(s), 14 queries.

返回顶部