学会一招
作者:Toby 日期:2008-09-05
今天豆豆静提到这里留言会遇到非法操作的的问题,原来我也遇到过一回,没太注意,这回觉得是得解决了,Google了一下,结果还是搜到了PJHome的论坛里,也有人遇到了这个问题
还好有高手发现的问题的原因,同时也有人给出了解决办法
如果你的网站使用www.aaa.com和aaa.com都可以访问,而且你又是使用全静态页面,那么可能会发生上述现象。
如果你使用http://aaa.com登陆管理页面并生成静态页面,则生成页的评论连接是使用http://aaa.com/blogcomm.asp,生成静态页面后如果有人是通过http://www.aaa.com访问页面并发表评论则会提示“非法操作!!”,反之应该也会提示。为什么呢?!
来看来“非法操作!!”出自何方?
用全站源码检索发现,出自blogcomm.asp第12行左右:
程序代码
再检索chkpost(),出自function.asp和GetCode.asp,代码均为判断是否外站提交,函数代码为:
程序代码
意思是截取提交的网页连接(除开http://外的第8个字符开始)同当前主机名比较,如果不相同则是外部提交
所以现在如果使用www.aaa.com域名而原来生成时使用aaa.com,这两个一比较是不同的,结果PJ就误认为是外部提交,所以出现“非法操作!!”错误提示。
斑竹大人给出了解决办法
由于静态页面中用到了BASE,所以默认所有的网址均为博主生成静态页面时候的网址。
分别打开common下的function.asp和getcode.asp,
找到:
程序代码
修改成:
程序代码
解决之后才发现PJ BLOG 2.8.5.157的更新包里的function.asp和getcode.asp两个文件已经解决的这个问题.....舜子还是及时呀~
还好有高手发现的问题的原因,同时也有人给出了解决办法
如果你的网站使用www.aaa.com和aaa.com都可以访问,而且你又是使用全静态页面,那么可能会发生上述现象。
如果你使用http://aaa.com登陆管理页面并生成静态页面,则生成页的评论连接是使用http://aaa.com/blogcomm.asp,生成静态页面后如果有人是通过http://www.aaa.com访问页面并发表评论则会提示“非法操作!!”,反之应该也会提示。为什么呢?!
来看来“非法操作!!”出自何方?
用全站源码检索发现,出自blogcomm.asp第12行左右:
程序代码If Not ChkPost() Then
response.Write ("非法操作!!")
response.Write ("非法操作!!")
再检索chkpost(),出自function.asp和GetCode.asp,代码均为判断是否外站提交,函数代码为:
程序代码Function ChkPost()
Dim server_v1, server_v2
chkpost = False
server_v1 = CStr(Request.ServerVariables("HTTP_REFERER"))
server_v2 = CStr(Request.ServerVariables("SERVER_NAME"))
If Mid(server_v1, 8, Len(server_v2))<>server_v2 Then
chkpost = False
Else
chkpost = True
End If
End Function
Dim server_v1, server_v2
chkpost = False
server_v1 = CStr(Request.ServerVariables("HTTP_REFERER"))
server_v2 = CStr(Request.ServerVariables("SERVER_NAME"))
If Mid(server_v1, 8, Len(server_v2))<>server_v2 Then
chkpost = False
Else
chkpost = True
End If
End Function
意思是截取提交的网页连接(除开http://外的第8个字符开始)同当前主机名比较,如果不相同则是外部提交
所以现在如果使用www.aaa.com域名而原来生成时使用aaa.com,这两个一比较是不同的,结果PJ就误认为是外部提交,所以出现“非法操作!!”错误提示。
斑竹大人给出了解决办法
由于静态页面中用到了BASE,所以默认所有的网址均为博主生成静态页面时候的网址。
分别打开common下的function.asp和getcode.asp,
找到:
程序代码If Mid(server_v1, 8, Len(server_v2))<>server_v2 Then
修改成:
程序代码if instr(server_v1, replace(replace(server_v2, "http://", ""), "www.", ""))=0 then
解决之后才发现PJ BLOG 2.8.5.157的更新包里的function.asp和getcode.asp两个文件已经解决的这个问题.....舜子还是及时呀~
评论: 1 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇

文章来自:
Tags:
回复
]