Discuz!应用商城(DisMall)Discuz!应用商城(DisMall)

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 516|回复: 10

[新问题] 搜索错误问题

[复制链接]

4

主题

20

帖子

60

积分

Member

Rank: 2Rank: 2

贡献
0 点
金币
33 个
发表于 2022-2-10 18:38:41 | 显示全部楼层 |阅读模式
BUG反馈
程序版本:
浏览器:  
BUG地址: 隐藏内容
BUG截图: -
测试用户名: 隐藏内容
测试密码: 隐藏内容
用户不登陆搜索,显示
Discuz! System Error您当前的访问请求当中含有非法字符,已经被系统拒绝
PHP Debug
  • [Line: 0022]search.php(discuz_application->init)
  • [Line: 0072]source/class/discuz/discuz_application.php(discuz_application->_init_misc)
  • [Line: 0596]source/class/discuz/discuz_application.php(discuz_application->_xss_check)
  • [Line: 0372]source/class/discuz/discuz_application.php(system_error)
  • [Line: 0023]source/function/function_core.php(discuz_error::system_error)
  • [Line: 0024]source/class/discuz/discuz_error.php(discuz_error::debug_backtrace)


用户登录后搜索没有问题,采用默认模板搜索再用户不登陆的时候也没有问题。

将模板目录下的pubsearchform.php文件删除,用户不登陆搜索也没有问题。

问题就出在pubsearchform.php这个文件了,对比了默认模板中的pubsearchform.html文件,发现代码基本上相同,只是少了下面这段代码。
  1.    <td class="scbar_icon_td"></td>
  2.                                 <td class="scbar_txt_td"><input type="text" name="srchtxt" id="scbar_txt" value="{lang enter_content}" autocomplete="off" x-webkit-speech speech /></td>
  3.                                 <td class="scbar_type_td"><a href="javascript:;" id="scbar_type" class="xg1" onclick="showMenu(this.id)" hidefocus="true">{lang search}</a></td>
  4.                                 <td class="scbar_btn_td"><button type="submit" name="searchsubmit" id="scbar_btn" sc="1" class="pn pnc" value="true"><strong class="xi2">{lang search}</strong></button></td>
  5.                                 <td class="scbar_hot_td">
  6.                                         <div id="scbar_hot">
  7.                                                 <!--{if $_G['setting']['srchhotkeywords']}-->
  8.                                                         <strong class="xw1">{lang hot_search}: </strong>
  9.                                                         <!--{loop $_G['setting']['srchhotkeywords'] $val}-->
  10.                                                                 <!--{if $val=trim($val)}-->
  11.                                                                         <!--{eval $valenc=rawurlencode($val);}-->
  12.                                                                         <!--{block srchhotkeywords[]}-->
  13.                                                                                 <!--{if !empty($searchparams[url])}-->
  14.                                                                                         <a href="$searchparams[url]?q=$valenc&source=hotsearch{$srchotquery}" target="_blank" class="xi2" sc="1">$val</a>
  15.                                                                                 <!--{else}-->
  16.                                                                                         <a href="search.php?mod=forum&srchtxt=$valenc&formhash={FORMHASH}&searchsubmit=true&source=hotsearch" target="_blank" class="xi2" sc="1">$val</a>
  17.                                                                                 <!--{/if}-->
  18.                                                                         <!--{/block}-->
  19.                                                                 <!--{/if}-->
  20.                                                         <!--{/loop}-->
  21.                                                         <!--{echo implode('', $srchhotkeywords);}-->
  22.                                                 <!--{/if}-->
  23.                                         </div>
  24.                                 </td>
复制代码

模板中的pubsearchform.php代码如下

  1. <!--{if $_G['setting']['search']}-->
  2.         <!--{eval $slist = array();}-->
  3.         <!--{if $_G['fid'] && $_G['forum']['status'] != 3 && $mod != 'group'}--><!--{block slist[forumfid]}--><li><a href="javascript:;" rel="curforum" fid="$_G[fid]" >{lang search_this_forum}</a></li><!--{/block}--><!--{/if}-->
  4.         <!--{if $_G['setting']['portalstatus'] && $_G['setting']['search']['portal']['status'] && ($_G['group']['allowsearch'] & 1 || $_G['adminid'] == 1)}--><!--{block slist[portal]}--><li><a href="javascript:;" rel="article">{lang article}</a></li><!--{/block}--><!--{/if}-->
  5.         <!--{if $_G['setting']['search']['forum']['status'] && ($_G['group']['allowsearch'] & 2 || $_G['adminid'] == 1)}--><!--{block slist[forum]}--><li><a href="javascript:;" rel="forum" class="curtype">{lang thread}</a></li><!--{/block}--><!--{/if}-->
  6.         <!--{if helper_access::check_module('blog') && $_G['setting']['search']['blog']['status'] && ($_G['group']['allowsearch'] & 4 || $_G['adminid'] == 1)}--><!--{block slist[blog]}--><li><a href="javascript:;" rel="blog">{lang blog}</a></li><!--{/block}--><!--{/if}-->
  7.         <!--{if helper_access::check_module('album') && $_G['setting']['search']['album']['status'] && ($_G['group']['allowsearch'] & 8 || $_G['adminid'] == 1)}--><!--{block slist[album]}--><li><a href="javascript:;" rel="album">{lang album}</a></li><!--{/block}--><!--{/if}-->
  8.         <!--{if $_G['setting']['groupstatus'] && $_G['setting']['search']['group']['status'] && ($_G['group']['allowsearch'] & 16 || $_G['adminid'] == 1)}--><!--{block slist[group]}--><li><a href="javascript:;" rel="group">$_G['setting']['navs'][3]['navname']</a></li><!--{/block}--><!--{/if}-->
  9.         <!--{block slist[user]}--><li><a href="javascript:;" rel="user">{lang users}</a></li><!--{/block}-->
  10. <!--{/if}-->
  11. <!--{if $_G['setting']['search'] && $slist}-->
  12. <div id="scbar" class="{if $_G['setting']['srchhotkeywords'] && count($_G['setting']['srchhotkeywords']) > 5}scbar_narrow {/if}cl">
  13.         <form id="scbar_form" method="{if $_G[fid] && !empty($searchparams[url])}get{else}post{/if}" autocomplete="off" onsubmit="searchFocus($('scbar_txt'))" action="{if $_G[fid] && !empty($searchparams[url])}$searchparams[url]{else}search.php?searchsubmit=yes{/if}" target="_blank">
  14.                 <input type="hidden" name="mod" id="scbar_mod" value="search" />
  15.                 <input type="hidden" name="formhash" value="{FORMHASH}" />
  16.                 <input type="hidden" name="srchtype" value="title" />
  17.                 <input type="hidden" name="srhfid" value="$_G[fid]" />
  18.                 <input type="hidden" name="srhlocality" value="$_G['basescript']::{CURMODULE}" />
  19.                 <!--{if !empty($searchparams[params])}-->
  20.                         <!--{loop $searchparams[params] $key $value}-->
  21.                         <!--{eval $srchotquery .= '&' . $key . '=' . rawurlencode($value);}-->
  22.                         <input type="hidden" name="$key" value="$value" />
  23.                         <!--{/loop}-->
  24.                         <input type="hidden" name="source" value="discuz" />
  25.                         <input type="hidden" name="fId" id="srchFId" value="$_G[fid]" />
  26.                         <input type="hidden" name="q" id="cloudsearchquery" value="" />
  27.                         <style>
  28.                         #scbar { overflow: visible; position: relative; }
  29.                         #sg{ background: #FFF; width:456px; border: 1px solid #B2C7DA; }
  30.                         .scbar_narrow #sg { width: 316px; }
  31.                         #sg li { padding:0 8px; line-height:30px; font-size:14px; }
  32.                         #sg li span { color:#999; }
  33.                         .sml { background:#FFF; cursor:default; }
  34.                         .smo { background:#E5EDF2; cursor:default; }
  35.             </style>
  36.             <div style="display: none; position: absolute; top:37px; left:44px;" id="sg">
  37.                 <div id="st_box" cellpadding="2" cellspacing="0"></div>
  38.             </div>
  39.                 <!--{/if}-->
  40.                 <table cellspacing="0" cellpadding="0">
  41.                         <tr>
  42.                                 <td class="scbar_txt_td"><input type="text" name="srchtxt" id="scbar_txt" value="{lang enter_content}" autocomplete="off" x-webkit-speech speech /></td>
  43.                                 <td class="scbar_type_td"><a href="javascript:;" id="scbar_type" class="xg1" onclick="showMenu(this.id)" hidefocus="true">{lang search}</a></td>
  44.                                 <td class="scbar_btn_td"><button type="submit" name="searchsubmit" id="scbar_btn" sc="1" class="pn pnc" value="true"><strong class="xi2">{lang search}</strong></button></td>

  45.                         </tr>
  46.                 </table>
  47.         </form>
  48. </div>
  49. <ul id="scbar_type_menu" class="p_pop" style="display: none;"><!--{echo implode('', $slist);}--></ul>
  50. <script type="text/javascript">
  51.         initSearchmenu('scbar', '$searchparams[url]');
  52. </script>
  53. <script type="text/javascript">
  54.     jQuery(function(){
  55. jQuery("#scbar #scbar_txt").focus(function(){
  56.   jQuery("#scbar").addClass("bgchange");
  57. }).blur(function(){
  58.   jQuery("#scbar").removeClass("bgchange");
  59. });
  60.     })
  61. </script>
  62. <!--{/if}-->
复制代码



回复

使用道具 举报

0

主题

988

帖子

1031

积分

开发者

啦啦啦~

Rank: 6Rank: 6Rank: 6

贡献
2 点
金币
8 个
发表于 2022-2-10 21:37:09 | 显示全部楼层
您找个比对工具比对一下两边模板完了对照修改即可,另外 CDN 不要缓存动态页面否则就会报错
回复 支持 反对

使用道具 举报

4

主题

20

帖子

60

积分

Member

Rank: 2Rank: 2

贡献
0 点
金币
33 个
 楼主| 发表于 2022-2-15 14:16:29 | 显示全部楼层
老周部落 发表于 2022-2-10 21:37
您找个比对工具比对一下两边模板完了对照修改即可,另外 CDN 不要缓存动态页面否则就会报错 ...

后来我又试了下,发现跟模板没有关系,我用默认的模板也会出错。

我有两个网站,一个用的是百度的免费cdn加速,一个是用的百度付费的cdn加速,免费的搜索不会出错,付费的会出错。

但是付费的我把cdn加速给关了,还是不行,不知道到底是什么问题?
回复 支持 反对

使用道具 举报

4

主题

20

帖子

60

积分

Member

Rank: 2Rank: 2

贡献
0 点
金币
33 个
 楼主| 发表于 2022-2-15 14:19:53 | 显示全部楼层
老周部落 发表于 2022-2-10 21:37
您找个比对工具比对一下两边模板完了对照修改即可,另外 CDN 不要缓存动态页面否则就会报错 ...

搜狗截图22年02月15日1418_1.png

我把CDN缓存设置了只缓存静态页面,也不行?
回复 支持 反对

使用道具 举报

0

主题

988

帖子

1031

积分

开发者

啦啦啦~

Rank: 6Rank: 6Rank: 6

贡献
2 点
金币
8 个
发表于 2022-2-15 16:16:20 | 显示全部楼层
celover 发表于 2022-2-15 14:19
我把CDN缓存设置了只缓存静态页面,也不行?

页面是不能缓存的,Discuz! 的 html 实际上还是动态执行的。
只能开 图像/JS/CSS 缓存
老周博客
本人不在任何渠道提供任何付费技术支持服务, 谨防上当受骗.
回复 支持 反对

使用道具 举报

4

主题

20

帖子

60

积分

Member

Rank: 2Rank: 2

贡献
0 点
金币
33 个
 楼主| 发表于 2022-2-16 08:17:03 | 显示全部楼层
老周部落 发表于 2022-2-15 16:16
页面是不能缓存的,Discuz! 的 html 实际上还是动态执行的。
只能开 图像/JS/CSS 缓存 ...

关于搜索的页面是那几个,我设置对这几个页面不缓存可以吗?
回复 支持 反对

使用道具 举报

0

主题

988

帖子

1031

积分

开发者

啦啦啦~

Rank: 6Rank: 6Rank: 6

贡献
2 点
金币
8 个
发表于 2022-2-16 08:50:03 来自手机版 | 显示全部楼层
celover 发表于 2022年2月16日 中国标准时间 上午8:17:03

页面是不能缓存的,Discuz! 的 html 实际上还是动态执行的。
只能开 图像/JS/CSS 缓存 ...
关于搜索的页面是那几个,我设置对这几个页面不缓存可以吗?

那个搜索条是全局的。
老周博客
本人不在任何渠道提供任何付费技术支持服务, 谨防上当受骗.
回复 支持 反对

使用道具 举报

4

主题

20

帖子

60

积分

Member

Rank: 2Rank: 2

贡献
0 点
金币
33 个
 楼主| 发表于 2022-2-18 15:26:39 | 显示全部楼层
老周部落 发表于 2022-2-16 08:50
那个搜索条是全局的。

用了缓存,为啥不登陆会报错,登录了就不会报错了呢。
回复 支持 反对

使用道具 举报

0

主题

988

帖子

1031

积分

开发者

啦啦啦~

Rank: 6Rank: 6Rank: 6

贡献
2 点
金币
8 个
发表于 2022-2-18 22:19:30 | 显示全部楼层
celover 发表于 2022-2-18 15:26
用了缓存,为啥不登陆会报错,登录了就不会报错了呢。

CDN 检测到登录了就不会缓存了,这是 CDN 的策略。
老周博客
本人不在任何渠道提供任何付费技术支持服务, 谨防上当受骗.
回复 支持 反对

使用道具 举报

129

主题

740

帖子

777

积分

Lord

Rank: 4

贡献
0 点
金币
4 个
发表于 2022-2-19 04:09:43 来自手机版 | 显示全部楼层
我曾有和你一样的问题,搞了好几天又各种工单,登陆缓存问题解决了又面临帖子异常,对,说的就是腾讯cdn,最后实在没办法就放弃
不清楚你用的是哪里cdn,如果是腾讯在缓存那里有个不缓存asp、php等,新增个不缓存“/”  即可解决

换了阿里cdn什么问题都没了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz!应用中心 ( 皖ICP备16010102号 )|网站地图star

GMT+8, 2022-5-26 06:43 , Processed in 0.039749 second(s), 11 queries , Yac On.

Powered by Discuz!

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表