已知账户密码,如何用php编写代码post(账号密码)到我的youbbs网站实现自动登录

By at • 3223次点击
叶小旭

没看过微信平台,不太了解,在youbbs 这端做点改变,建议单独开一个通道(网址)

复制/login.php ,重命名,如 /loginweixin.php

对 loginweixin.php 的修改:

首先是去掉验证码“seccode”,其次是改变来路识别,下面这段是识别来路的代码

    if(empty($_SERVER['HTTP_REFERER']) || $_POST['formhash'] != formhash() || preg_replace("/https?:\/\/([^\:\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']) !== preg_replace("/([^\:]+).*/", "\\1", $_SERVER['HTTP_HOST'])) {
    	exit('403: unknown referer.');
    }

可改为针对微信来路的验证,嫌麻烦就直接去掉。

这样应该可以,只需接收post 过来的两个变量“name”和“pw”。

youbbs at 2013-12-23 17:06
1

谢谢你的解答,但是我有点不明白你的意思,你说的单独建一个通道是什么意思?是让我把代码部署到版本的外面?我用的是bae的1.5版本,我按照你的方法,不管是打开(网址/loginweixin.php)还是打开(网址/loginweixin)都是出现404错误,貌似是bae rewrite的结果,这该怎么办?我的想法是通过微信端返回用户一个链接(网址/loginweixin.php?name="xxx"&pw="xxx")实现自动登录,这方法可行么?或者在外面再建一个页面,使用户点击确认按钮就post 用户名和密码到论坛实现登录,第二种方法我尝试了很久,都不得成功,不知道怎么外部跳转链接过来

叶小旭 at 2013-12-23 18:37
2
叶小旭 at 2013-12-23 18:37
3

@youbbs 你知道如何实现么

叶小旭 at 2013-12-23 18:39
4

@叶小旭 单独建立一个通道: 给微信用户一个专用的网址,如 /loginweixin (需要作重定向)

若使用 /loginweixin.php?name="xxx"&pw="xxx" 的方式登录则需要修改 /loginweixin.php 文件, 去掉 $_SERVER['REQUEST_METHOD'] == 'POST' 的判断, 把 $_POST 改为 $_GET 来获取参数。

youbbs at 2013-12-23 19:47
5

@youbbs 能具体问下,如何重定向成/loginweixin.php么?现在打开是404错误,百度了一下重定向也不知道如何做啊

叶小旭 at 2013-12-23 20:24
6

@叶小旭 app.conf 添加一条

- url : ^\/loginweixin$
    script : loginweixin.php
youbbs at 2013-12-23 22:52
7

@youbbs 恩谢谢,我已经实现了

叶小旭 at 2013-12-24 00:49
8
登录 后发表评论