动网论坛7.1彻底研究

PHP MySQL 插入数据 本文介绍了如何使用 PHP 将数据插入 MySQL 数据库。通过创建数据库和表、建立数据库连接、使用语句插入数据,以及遵循安全性和最佳实践,您可以有效地管理 Web 应用程序中的数据。记住,始终关注安全性,以保护您的数据和用户信息。 阅读详情

文件名:Dv_ClsMain.asp
该文件是动网非常经典的部分,它被包含在动网论坛几乎所有的程序中。
主要功能:
1、定义Cls_Forum类
2、定义cls_Templates类
3、定义cls_UserOnlne类

分析:
1、定义Cls_Forum类
该类定义了非常多的共有和私有变量、属性以及过程和函数。直接分析变量是种痛苦的事情。下面就分别从过程、函数

、属性作为切入点进行分析。复杂非常,作好心理准备。

Class_Initialize,顾名思义,初始化Cls_Forum类(实际上是个构造函数,在类被实例化的时候首先自动执行),通过

设置或读取初始化变量
首先,判断客户端是否仍连接在服务器上,如果已经断开,没必要进行下面的任何操作:
If Not Response.IsClientConnected Then Response.End

IsUserPermissionOnly:

IsUserPermissionAll:

ShowErrType:错误信息显示模式,在showerr.asp中得到具体应用,并且可以通过Dv_ClsMain.asp的ErrType属性进行
设置

savelog:设置为1的时候会记录攻击或错误错信息。在Dv_ClsMain.asp中得到具体应用。

SqlQueryNum:数据库查询次数

Reloadtime:共有变量,缓存过期时间,这里是28800

CacheName :缓存组的总名称,这里是

Lcase(Replace(Replace(Replace(Server.MapPath("index.asp"),"index.asp",""),":",""),"//",""))

IsTopTable:

Forum_sn :
VipGroupUser:是否VIP组成员组
Vipuser = False :是否是VIP会员

Boardmaster = False :是否是版主

Superboardmaster = False:

Master = False:

FoundIsChallenge = False:

FoundUser = False

BoardID = Request("BoardID") :获取传进的版面ID

如果直接进入的是首页或其他情况下,当然不会传入BoardID了,所以:
If IsNumeric(BoardID) = 0 or BoardID = "" Then BoardID = 0

如果传入的BoardID是数字则(在这种情况下,Request("BoardID")是字符串,所以):
BoardID = Clng(BoardID)

然后读取cookie:
MemberName = checkStr(Trim(Request.Cookies(Forum_sn)("username"))):用户名(checkStr函数过滤单引号)
MemberWord = checkStr(Trim(Request.Cookies(Forum_sn)("password"))):密码
UserHidden = Trim(Request.Cookies(Forum_sn)("userhidden")):隐身属性(1-隐身,2-正常)
UserID = Trim(Request.Cookies(Forum_sn)("UserID")):用户ID

如果隐身属性为空为字符串“0”则说明隐身属性无效,重新设置:
If IsNumeric(UserHidden) = 0 or Userhidden = "" Then UserHidden = 2

如果用户ID为空或为字符串“0”则说明用户未登陆或已超时,所以:
If IsNumeric(UserID) = 0 Or UserID="" Then UserID=0

然后处理一下UserID:
UserID = Clng(UserID)

获取真实IP:
UserTrueIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If UserTrueIP = "" Then UserTrueIP = Request.ServerVariables("REMOTE_ADDR")
UserTrueIP = CheckStr(UserTrueIP)

获取脚本路径:
Dim Tmpstr
Tmpstr = Request.ServerVariables("PATH_INFO")
Tmpstr = Split(Tmpstr,"/")
ScriptName = Lcase(Tmpstr(UBound(Tmpstr)))
ScriptFolder = Lcase(Tmpstr(UBound(Tmpstr)-1)) & "/"
PATH_INFO服务器变量客户端提供的额外路径信息。可以使用这些虚拟路径和 PATH_INFO 服务器变量访问脚本。

获取用户等级:
MemberClass = checkStr(Request.Cookies(Forum_sn)("userclass"))

Page_Admin=False :该变量用的地方有点多,待总结

模拟HTML部分:略


class_terminate:在类卸载时触发该函数(析构函数)
释放缓存:
If NodeUpdate Then
Application.lock
Set Application(CacheName&"_Boradlist")=BoardXML.cloneNode(True)
Application.unlock
End If
释放数据集和数据库连接对象,以及临时对象BoardXML:
Set BoardXML = Nothing
If IsObject(Conn) Then Conn.Close : Set Conn = Nothing
If IsObject(Plus_Conn) Then Plus_Conn.Close : Set Plus_Conn = Nothing


Name属性: 定义缓存对象名称,只写属性
value属性: 读取和写入缓存数据
ObjIsEmpty()函数:判断当前缓存是否过期
DelCahe(MyCaheName)方法:手工删除一个缓存对象,参数是缓存对象的名称。

 
【实战避坑】PHP PDO连接SQL Server:从驱动安装到多结果集处理 本文详细介绍了PHP PDO连接SQL Server的实战指南,包括Windows和Linux双平台的驱动安装、基础连接配置、多结果集处理及常见错误排查。特别针对SQLSRV扩展的使用技巧和性能优化提供了实用建议,帮助开发者高效解决实际项目中的数据库连接问题。 阅读详情

相关推荐

PHP后端完整教程:六阶段串联前端表单、MySQL与正则验证

后端开发的核心是让用户在前端提交的数据,经过服务端校验后可靠地写入数据库。PHP与MySQL正是这一链路中最常见的组合:表单通过GET或POST提交,PHP接收参数并进行清洗、验证,正则表达式用于精确匹配手机号、用户名等格式,最终由PDO预处理写入MySQL。理解这条数据流,能帮助初学者避免只会孤立语法而不知如何应用的困境。从环境搭建、编写表单、建库建表,到表单验证与正则落地,一条完整的学习路线能让零基础者从静态页面顺利过渡到具备实际业务闭环的后端开发。本文面向准备转向后端的自学读者,梳理了这套从前端到数据

weixin_34393428的博客 386

[论坛社区]动网论坛PHP版 v2.0++ Build 081009_dwphp_gbk.zip

[论坛社区]动网论坛PHP版 v2.0++ Build 081009_dwphp_gbk.zip

PHP语言的数据库交互

本文详细介绍了如何使用PHP与MySQL数据库进行交互,包括连接、插入、读取、更新和删除数据的操作,以及安全性和错误处理措施。随着技术的进步,数据库交互的方式也在不断演进,了解这些基本概念和操作将帮助开发者构建更加安全和高效的Web应用程序。在实际开发中,还可以进一步探索ORM(对象关系映射)工具、数据库的交易处理、性能优化等更多高级主题。希望本文能够为您的PHP开发之旅提供一些参考和帮助。

2501_90443729的博客 704

网站会员与动网论坛会员同步整合非官方方法

个人网站如有会员注册模块+动网论坛的话,那网站要与动网论坛系统整合,实现不同Web系统之间的用户信息同步更新、登录等操作就不是件容易的事了,虽然动网已提供有详细的"动网论坛系统Api接口开发人员指南",但像我这样的菜鸟一时半会可是参详不透的,汗。不甘心,在对其登录、验证等函数进行一番研究再加以测试后最终竟也小有所成,菜鸟也有菜鸟的办法,哈哈。一、网站文件结构wwwroot┝ index....

220

PHP MySQL 创建数据库

PHP MySQL 创建数据库 在Web开发中,PHP和MySQL的组合是一种非常流行的技术栈。PHP是一种服务器端脚本语言,而MySQL是一种关系型数据库管理系统。它们共同为开发者提供了一种强大且灵活的方式来创建动态的、数据驱动的网站。在本教程中,我们将介绍如何使用PHP来创建一个MySQL数据库。 1. 环境准备 在开始之前,请确保您的系统已经安装了以下软件: PHP:本教程假设您已经安装了PHP,并且版本至少为7.0。 MySQL:同样,您需要安装MySQL,并且版本至少为5.6。 Web服务器:如

wjs2024的博客 605

PHP MySQL 读取数据

PHP和MySQL是Web开发中的经典组合,广泛用于创建动态网站和应用程序。在PHP中读取MySQL数据库中的数据是一项基本技能,涉及到连接数据库、执行查询以及处理结果集。本文将详细介绍如何使用PHP从MySQL数据库中读取数据。

lly202406的博客 650

安全至上---ASP“动网论坛”漏洞分析

     动网论坛作为国内一个优秀的asp论坛,深受广大站长和网友们的喜爱,但既然是程序代码,就不可能是十全十美,今天在这里,我就要说一下它近期比较流行的两个漏洞(好耶!快说快说,说完了我就去找常删我帖的论坛算帐,faint,各位千万不要抱着这种心态看下面的文章)。  1、这个漏洞不算太严重,用过动网论坛的人都知道,发帖时直接写javascript会被过滤拆分,写http会自动

Alinker 1873

Android+PHP+MySQL登录注册系统实战指南

用户认证是移动应用开发的基础能力,其核心在于前后端安全、稳定、可调试的HTTP交互。理解HTTP请求响应机制、密码加盐哈希原理、SQL注入防护手段,是构建可靠登录系统的前提。技术价值体现在轻量可控——无需复杂框架即可实现跨安卓机型兼容、HTTPS通信、数据库防注入与字段级数据校验。典型应用场景包括教育类App、本地化工具软件等对高并发无要求但强调快速上线与自主运维的项目。本文聚焦Android原生客户端、PHP原生后端与MySQL数据库协同落地的真实链路,覆盖OkHttp网络调度、PDO预处理、utf8mb

weixin_34162228的博客 394

动网论坛系统已死 所谓的改革无非是徒劳

   早期的站长都记得一个当初动网论坛,占据了整个网络社区的半壁江山,甚至更多。但如今,动网虽在,但其实已死。今天动网的老大宋海波,在接受Chinaz的访谈时表示:动网正在进行改革,不久将会让大家看到全新的动网。  当然,至于动网老大宋海波所说的改革具体指哪个方面,目前我们还不得而知,但从我的角度老说“动网已死,改革也许只是徒劳。”  动网的成功其实有原因的,我来简单说下我自己的理解:我认

myguojunyu的专栏 1864

MySQL BLOB存图片实战:Ubuntu 18.04+PHP 7.2+MySQL 5.7生产级方案

BLOB(Binary Large Object)是关系型数据库中存储二进制数据的核心类型,其本质是将文件内容以原始字节流形式内嵌于表记录中,依托InnoDB的溢出页(off-page storage)机制实现高效管理。相比base64编码或文件系统路径存储,BLOB通过事务原子性保障数据与元信息强一致,并规避了编码膨胀、解码开销及分布式文件状态不一致等工程痛点。在Web应用中,BLOB特别适用于头像、证件照、商品缩略图等中小尺寸(≤5MB)、高一致性要求的场景。本文基于Ubuntu 18.04 LTS环境

weixin_34197488的博客 497

MySQL BLOB存图实战:Ubuntu 18.04+PHP7.2+MySQL5.7全链路配置

BLOB(Binary Large Object)是关系型数据库中存储二进制大对象的基础机制,其核心原理是将非结构化数据以原始字节流形式嵌入表行或溢出页,依托InnoDB的ROW_FORMAT=DYNAMIC实现高效分离存储。该技术具备事务强一致性、部署轻量、逻辑闭环等工程价值,适用于离线优先、权限收敛、无云依赖的中小规模场景,如设备巡检图片缓存、医疗报告附件归档及内部档案系统。本文聚焦Ubuntu 18.04这一典型LTS环境,深度解析MEDIUMBLOB选型依据、PHP内存直读上传链路、MySQL参数调

dengyulong的专栏 384

动网论坛8.2经典注入漏洞利用

一、实验目的 理解动网论坛8.2原理 二、实验原理 动网论坛用户登录过程中,过滤不严,导致注入,提升权限。漏洞存在源文件的login.asp中。 三、实验环境 本机:192.168.1.2 目标机:192.168.1.3 四、 实验步骤 一、正常注册登录 1、访问地址:http://192.168.1.3:8010/,如图示: 2、首先注册一个用户:san 密码

Unitue_逆流 4284

INSERT INTO 实战指南:VALUES 与 SELECT 插入的原理、避坑与批量优化

INSERT INTO 是 SQL 数据写入的核心操作,其本质并非简单语法填空,而是涉及事务控制、类型匹配、约束校验与执行计划的系统性工程。理解 VALUES 静态写入与 SELECT 动态流式插入的底层差异,是保障数据一致性与性能稳定的关键。前者适用于小批量、高确定性场景,后者支撑维度建模、历史迁移等大批量任务,但需严防列匹配、NULL 处理与 DISTINCT 性能陷阱。结合表结构匹配、去重插入等实操要点,可有效规避主键冲突、截断错误、锁超时等高频故障,广泛应用于电商订单补录、教育数据迁移、金融系统同步

weixin_33721344的博客 475

PHP+MySQL打造非遗文化展示与体验预约系统:以广州榄雕为例

在数字技术与传统文化深度融合的今天,非遗文化的传播与传承正借助管理系统开发实现数字化转型。PHP凭借部署简单、与MySQL配合成熟、PDO预处理机制可有效防范SQL注入等优势,成为大量毕业设计和课程设计中搭建管理系统的首选技术栈。围绕非遗文化展示、用户注册、在线预约、后台审核这一完整业务链路,需要合理设计数据库表结构,并通过事务与行级锁机制保障预约名额在并发场景下的数据一致性,避免超员问题。本文以广州榄雕非遗文化展示与体验预约系统为例,系统讲解从数据库设计、前台非遗内容展示、预约提交与防超员处理,到管理员后

weixin_33782386的博客 399

ASP动态网页制作教程(第2版)案例代码

ASP动态网页制作教程,第二版,案例源代码

动网论坛Dvbbs v8.3 目前是最新版

动网ASP8.3版本在ASP8.2版本基础上增加的功能列表: 1.用户注册IP记录(包含IP注册查询功能) 2.管理员可以发iframe标签功能(管理员可以发布iframe及javascript帖子及显示) 3.网站优化SEO(后台有开关控制(开启采用新的seo;关闭保留以前)) 4.网站关键词禁止提交功能(后台有开关控制(含有后台设置的关键词不允许提交)) 注:根据目前网络环境管理形式而专门开发的功能 5.全站快速开启除管理员及版主以外的审核功能,开启此功能后,批量设置的审核无效 6.批量更新某一版块的高级设置的一项属性功能 7.增加系统首页四格调用 8.文件比较功能 9.精华帖印章(精华帖显示印章) 10.增加审核功能(1.单用户需要审核 2.用户组需要审核功能) 11.防垃圾注册(设置验证码) 12.只看该用户(使用该功能,可在帖子中查看指定用户的发帖和回帖) 13.帖子审核通过更新功能(用户审核通过后将更新用户的最后发帖时间和dv_board表) 14.后台基本设置非法参数判断 15.批量改一个或多个用户组的个别属性 16.下载扣分功能优化 17.论坛相册功能 18.首右右栏插件 19.上传mp3等自动播放功能 20.优化后台短信群发功能(只插入一条数据,用户登录插入用户短信数据) 21.记录最后五个IP地址功能(配合网络环境监督检查) 22.复制帖子地址功能(方便用户复制喜欢的网址送给朋友) 23.快钱在线支付系统(直接在线充值金币) 动网ASP8.3在ASP8.2基础上修改更新的功能列表: 1.统一论坛说明(积分=经验 改成 全部是积分 财富=金钱 改成 全部是金钱) 2.自定义权限错误的更新(更新数据库结构) 3.数据库兼容问题(兼容SQL2000,2005,2008) 4.附件上传表(将announceid和topicid分开存储方便站长调用) 5.搜索功能优化(搜索速度优化) 6.帖子浏览及主题浏览分页加强功能,更新了存储过程让浏览显示速度更快(支持千万级数据库快速分页) 7.金币帖转换成普通帖功能(错发金币帖的用户选择设置) 8.获赠金币帖隐藏输入金币数量(BUG修复) 9.去掉首页导航菜单(当版块较多时,首页的导航载入较慢,去掉首页的导航可有效解决该问题) 10.首页调用复制功能(首页调用版块需增加时,点击复制,可直接建立与之前已设置成功的调用版块,对此进行再次编辑即可) 11.首页右侧采用后台开关形式 删除的功能: 1.帖子评论删除 2.个人主页删除 3.圈子功能删除 4.系统魅力删除

上一篇: 动网论坛7.1彻底研究
下一篇: ASP.NET 2.0数据缓存功能简介
feifeile
博客等级 码龄21年 13粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值