Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已答复] 哪位大哥能解决去掉formhash机制的问题!谢谢!

[复制链接]
北极星星星 发表于 2009-12-25 09:40:07 | 显示全部楼层 |阅读模式
哪位大哥能解决去掉formhash机制的问题!

我自己做了一个SS的登录窗口,想要在站外提交登录,但是有限制,“提示:您的请求来路不正确或表单验证串不符,无法提.....”

form表单提交为: <form  action="http://bbs/ss/batch.login.php?action=login"  method="post">

请问怎么样才能去掉这个限制呢,只要求登录就行!!
lidq.jingwu 发表于 2009-12-25 09:44:16 | 显示全部楼层
这是为了安全而设置的,在common.func.php文件中找到submitcheck函数,formhash的判断是在里面进行的,将它去掉。
回复

使用道具 举报

 楼主| 北极星星星 发表于 2009-12-25 09:58:03 | 显示全部楼层
非常感谢楼上的大哥的帮助,是把
------------------------------------------------------------------------------------------------------------------------

function submitcheck($var, $checksec=0) {
        global $_SGLOBAL, $_SCONFIG;

        if(!empty($_POST[$var]) && $_SERVER['REQUEST_METHOD'] == 'POST') {
                if((empty($_SERVER['HTTP_REFERER']) || preg_replace("/https?:\/\/([^\:\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']) == preg_replace("/([^

\:]+).*/", "\\1", $_SERVER['HTTP_HOST'])) && $_POST['formhash'] == formhash()) {
                        if(empty($_SCONFIG['noseccode']) && $checksec) {
                                if(!empty($_POST['seccode'])) {
                                        if(ckseccode($_POST['seccode'])) {
                                                return true;
                                        }
                                        showmessage('incorrect_code');
                                }
                                return false;
                        } else {
                                return true;
                        }
                } else {
                        showmessage('submit_invalid');
                }
        } else {
                return false;
        }
}

------------------------------------------------------------------------------------------------------------------------

整段函数全部删除吗? 我试了,但提交表单出错,什么都不显示了!
回复

使用道具 举报

lidq.jingwu 发表于 2009-12-25 10:32:41 | 显示全部楼层
&& $_POST['formhash'] == formhash()
只去掉这几个字符就可以了。
回复

使用道具 举报

 楼主| 北极星星星 发表于 2009-12-25 10:38:25 | 显示全部楼层
谢谢您,但也做过了,还是不行!

还是提示“您的请求来路不正确或表单验证串不符......”
回复

使用道具 举报

lidq.jingwu 发表于 2009-12-25 15:11:19 | 显示全部楼层
如何关闭formhash机制:https://discuz.dismall.com/thread-1525990-1-1.html
我经过测试,方法正确。
回复

使用道具 举报

benba 发表于 2009-12-25 16:09:14 | 显示全部楼层
关了做啥?   等你站做大了  人家 不断的用程序 来测试你网站的用户名密码
回复

使用道具 举报

 楼主| 北极星星星 发表于 2010-1-29 10:57:02 | 显示全部楼层
lidq.jingwu  我在本机上测试,可以关闭formhash机制,为什么到了服务器短就怎么也关闭不了,仍然不能站外提交! 奇怪啊!
回复

使用道具 举报

lidq.jingwu 发表于 2010-1-29 11:01:00 | 显示全部楼层
回复 8# 北极星星星


    操作问题,我就不清楚了。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-19 01:26 , Processed in 0.033353 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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