小时空 發表於 2019-6-24 13:04:03

解除用户发送站内信消息间隔时间限制的方法

近期因项目开发需要把站内信用作实时聊天,因此原15秒才能发送一次站内信的限制肯定是不合适的。<br />查阅有关帖子,操作发现:设置UCENTER短消息间隔,并修改spacecp_pm等文件对站内用户互发消息是无效的,依然提示间隔过短发送失败。<br />经过一路函数追踪,需作以下修改方能实现站内短消息的无间隔发送(请慎重修改,无间隔发送的防攻击安全措施应做到位)。<br />需修改的文件请做好备份工作。<br /><br />1、修改 uc_client/control/pm.php 找到以下代码(110行附近),注释或删除。<br /><ol><li>if($this-&gt;settings['pmfloodctrl']) {<br /><li>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if(!$_ENV['pm']-&gt;ispminterval($this-&gt;user['uid'], $this-&gt;settings['pmfloodctrl'])) {<br /><li>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;return PMFLOODCTRL_ERROR;<br /><li>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br /><li>}</ol><br />2、修改 source/include/spacecp/spacecp_pm.php 找到以下代码删除或注释。<br /><ol><li> $waittime = interval_check('post');<br /><li> if($waittime &gt; 0) {<br /><li>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;showmessage('message_can_not_send_2', '', array(), array('return' =&gt; true));<br /><li> }</ol><br />之后即可解决。<br />再次强调,原先的间隔设置是为了防止频繁发送短消息、攻击的,如做以上修改,请自行做好安全措施。发送<em>, </em>间隔<em>, </em>修改<em>, </em>站内<em>, </em>短消息

ysx24 發表於 2022-10-2 18:44:17

好东西,感谢

ysx24 發表於 2022-10-2 18:53:33

为了防止短信息攻击,如果能设置发送短消息间隔时间就好了,15s太长换成3-5s应该就可以解决问题,还不影响交流
頁: [1]
查看完整版本: 解除用户发送站内信消息间隔时间限制的方法