搜索
bottom↓
回复: 141

远程控制家的东西,可以用智能手机进入网页, 智能家居离我们很近

[复制链接]

出0入0汤圆

发表于 2011-2-3 01:39:56 | 显示全部楼层 |阅读模式
NXP2368做智能主控芯片,已经试试OK  等等近步更改进  用户登录没有密码,这个不行,只能有一个人登录,这个可以吧,如何控制,,如何写网页啊
点击此处下载 ourdev_614496EMLIJ6.doc(文件大小:456K) (原文件名:ftp服务器.doc)
上面为如何驾服务器的,,临时的只有,今天只要更改下就可以驾HTTP 服务器

下面为结果
(原文件名:http.jpg)

出0入0汤圆

 楼主| 发表于 2011-2-3 01:41:58 | 显示全部楼层
我没有把IO口拉出来 ,不知道怎么处理,不知道HTTP怎么写的,开始登录加密的  请继续有心人

出0入0汤圆

发表于 2011-2-3 06:31:39 | 显示全部楼层
mk

出0入0汤圆

发表于 2011-2-3 15:56:31 | 显示全部楼层
先MARK

出0入0汤圆

发表于 2011-2-3 16:38:54 | 显示全部楼层
先MARK

出0入0汤圆

发表于 2011-2-3 17:12:06 | 显示全部楼层
厉害!我觉得这是最好最免费的解决方案!

出0入0汤圆

发表于 2011-2-3 17:27:02 | 显示全部楼层
好东西要顶

出0入0汤圆

 楼主| 发表于 2011-2-4 10:22:40 | 显示全部楼层
我再说下,,这个可以多个用户登录,不知道怎么处理登录时加密码,这个没有啊

出0入0汤圆

 楼主| 发表于 2011-2-4 10:25:18 | 显示全部楼层
http://122.234.237.193:8080/
目前还可以登录看看  智能手机也可以,,我试过了,用5800xm 自己的浏览器
2011年2月4日10时25分51秒

出0入42汤圆

发表于 2011-2-4 10:29:39 | 显示全部楼层
LZ,可以看,另,编码方式是?我电脑&手机都显示乱码

出0入0汤圆

 楼主| 发表于 2011-2-4 10:33:20 | 显示全部楼层
我的电脑怎么是好的,不过手机看看的也是乱码,,我想用英语的话就不会乱码了吧,,我试试 一会

出0入0汤圆

 楼主| 发表于 2011-2-4 10:36:04 | 显示全部楼层
我想这个只是个动态的IP,,这个只是个方案,如果静态态的话好像要加钱的,不过只要路由器不断电的话应该不会更换IP吧

出0入0汤圆

 楼主| 发表于 2011-2-4 10:51:10 | 显示全部楼层
更改了下,换成英文的了,应该能看看了吧,,兄弟上面为什么系统的啊


(原文件名:ji.JPG)

出0入0汤圆

 楼主| 发表于 2011-2-4 10:51:53 | 显示全部楼层
我这里面是实时的

出0入42汤圆

发表于 2011-2-4 11:14:12 | 显示全部楼层
回复【12楼】wjjcyy  
-----------------------------------------------------------------------

英文部分没有乱码,中文还是乱码,我用的英文win7,另区域设置及语言都已改为CN

出0入0汤圆

 楼主| 发表于 2011-2-4 12:15:44 | 显示全部楼层
不知道啊,我让我的朋友在WIN7 试过啊,那次用qq聊天的,他的可以看的,看看中文没有问题,不知道啊

出0入0汤圆

 楼主| 发表于 2011-2-4 12:57:18 | 显示全部楼层
这个是设置过程
(原文件名:1admin.JPG)




(原文件名:2.JPG)

(原文件名:3.JPG)


(原文件名:4.JPG)


(原文件名:5.JPG)

出0入0汤圆

 楼主| 发表于 2011-2-4 13:06:34 | 显示全部楼层
http://122.234.237.193:8080/
目前还可以登录看看  智能手机也可以,,我试过了,用5800xm 自己的浏览器
2011年2月4日13时06分16秒

出0入0汤圆

发表于 2011-2-4 13:10:50 | 显示全部楼层
加上HTTP验证吧。

出0入0汤圆

 楼主| 发表于 2011-2-4 13:21:30 | 显示全部楼层
怎么加啊,,不会啊

出0入0汤圆

 楼主| 发表于 2011-2-4 13:26:43 | 显示全部楼层
下面为所有能提供的
点击此处下载 ourdev_614593EBJX9S.rar(文件大小:283K) (原文件名:Web Server_10M_LPC2368A.rar)

出0入0汤圆

发表于 2011-2-4 13:51:24 | 显示全部楼层
KEIL的例程。

出0入0汤圆

 楼主| 发表于 2011-2-4 13:55:30 | 显示全部楼层
对啊,,怎么更改然后加密啊,,上面的会吗????我不知道啊

出0入0汤圆

发表于 2011-2-4 14:06:23 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-2-4 14:06:52 | 显示全部楼层
wjjcyy
我可以打开的,速度感觉还可以,你的ADSL带宽是多少M的哈

出0入0汤圆

 楼主| 发表于 2011-2-4 14:09:45 | 显示全部楼层
4M  目前没有人上网,,全速运行的啊 呵呵 ,不会写网页,不懂啊,,不会加密,不会用网页控制IO口啊,教我啊

出0入0汤圆

发表于 2011-2-4 14:17:51 | 显示全部楼层
我又用android手机上的uc浏览器试了下,试了大概有10多次只打开了一次,而且只显示上面的英文,那个柱状图是乱码。大部分是显站点忙不响应。HTML不难的,以前在学校时弄过,现在有几年没有碰过了。但控制就是发url请求,你的cpu对这些url请求响应下就可以了。

出0入0汤圆

 楼主| 发表于 2011-2-4 14:23:31 | 显示全部楼层
我用UC不行,不知道为什么就是不行,后来我就用5800XM自己的IE看,很好,不知道为什么

出0入0汤圆

发表于 2011-2-4 14:24:24 | 显示全部楼层
但我觉得做这种远程控制的,表单提交这些安全想做好不容易,毕竟好多终端都是手机访问。最好你的单片机采用MAC地址过滤的方式,这样非法的终端就不能请求了。

出0入0汤圆

发表于 2011-2-4 14:26:44 | 显示全部楼层
你程序上改下,把本地监听端口改为80,这样,浏览器后面的端口号就不用输了。

出0入0汤圆

发表于 2011-2-4 14:28:35 | 显示全部楼层
原画你的路由器远程管理端口也是80,你要把这个也改一下。

出0入0汤圆

发表于 2011-2-4 14:31:53 | 显示全部楼层
<html>
<head>
<meta http-equiv="refresh" content="5">
<title>MCU123 LPC236X WebServer Demo</title>
</head>
-----------------------------------------------------
我看了下你那个cpu上的htm。是每5秒刷新一下请求,但代码中缺少编码方式。这样好多浏览器是不能正常显示的。

出0入0汤圆

 楼主| 发表于 2011-2-4 14:38:16 | 显示全部楼层
回复【31楼】biezhen
-----------------------------------------------------------------------

高手来了啊,,其实我不是懂的,经过你的解释,我明天了一点,其实我不是写网页的,但我能更改网页,试试

但代码中缺少编码方式???什么意思啊我不知道啊

出0入0汤圆

发表于 2011-2-4 14:48:51 | 显示全部楼层
我也是菜鸟。 UTF-8就是编码方式这个要告诉浏览器的。
<!doctype html><html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Google</title>

出0入0汤圆

 楼主| 发表于 2011-2-4 14:51:21 | 显示全部楼层
回复【29楼】biezhen
-----------------------------------------------------------------------

#define TCP_PORT_HTTP        8080      
这个更改后,是不是少了:后的8080,,我本地路由器更改为xx有时间试试

出0入0汤圆

发表于 2011-2-4 14:59:01 | 显示全部楼层
是的,把这个端口改成80, 浏览器默认就是请求80号端口,就不用再打了

出0入0汤圆

发表于 2011-2-4 15:03:49 | 显示全部楼层
又用ipad试了下,显示你这个是完全正常的。

出0入0汤圆

 楼主| 发表于 2011-2-4 15:31:39 | 显示全部楼层
http://122.234.237.193/  目前后面的两个:还有8080没有了,谢谢biezhen

2011年2月4日15时31分54秒http://122.234.237.193/          这个网页OK  每8秒更新一下

出0入0汤圆

发表于 2011-2-4 15:36:18 | 显示全部楼层
HTTP 验证
http://en.wikipedia.org/wiki/Basic_access_authentication

出0入25汤圆

发表于 2011-2-4 15:38:53 | 显示全部楼层
高手
收藏了

出0入0汤圆

发表于 2011-2-4 15:47:32 | 显示全部楼层
我这边的入池(是不是这么叫)80端口被电信封了,人家访问我还要要加端口号,不美观- -"

出0入0汤圆

发表于 2011-2-4 15:52:51 | 显示全部楼层
你们慢慢玩,我忙我的图形化PLC去了,整了一年多了,还没有结束掉,照这速度还得三个月。

出0入0汤圆

 楼主| 发表于 2011-2-4 15:55:00 | 显示全部楼层
我又加个了小广告,

(原文件名:1dk.JPG)

出0入0汤圆

 楼主| 发表于 2011-2-4 15:58:02 | 显示全部楼层
回复【41楼】biezhen
-----------------------------------------------------------------------

很强啊,,谢谢了

出0入0汤圆

 楼主| 发表于 2011-2-4 16:10:38 | 显示全部楼层
http://122.234.237.193/     最新2011年2月4日16时10分31秒

出0入0汤圆

 楼主| 发表于 2011-2-4 16:13:49 | 显示全部楼层
回复【38楼】huayuliang 花生
-----------------------------------------------------------------------

看看不太懂啊,是得系统的学习吧

出0入0汤圆

发表于 2011-2-4 16:48:03 | 显示全部楼层
这个要收录一下,非常好的想法。做系统的话还是不够的。

出0入42汤圆

发表于 2011-2-4 17:14:46 | 显示全部楼层
额,可能上的人太多了,现在打不开
另,换编码方式后就可以了
LS有人说过了

出0入0汤圆

 楼主| 发表于 2011-2-4 17:23:17 | 显示全部楼层
编码我没有写啊,我给它重启了一下,http://122.234.237.193/  2011年2月4日17时23分41秒,,试试

出0入0汤圆

发表于 2011-2-4 17:35:03 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-4 19:53:07 | 显示全部楼层
回复【楼主位】wjjcyy  
-----------------------------------------------------------------------

黑莓8310 uc7.6 测试正常!

出0入0汤圆

 楼主| 发表于 2011-2-4 20:12:37 | 显示全部楼层
谁会写有HTTP 验证 的网页啊,,帮忙写写 看看啊行不行  网页的原码在楼上

出0入0汤圆

发表于 2011-2-4 20:58:20 | 显示全部楼层
楼主在公网如何知道自己家ADSL的IP?

出0入0汤圆

 楼主| 发表于 2011-2-4 21:01:58 | 显示全部楼层
路由器中 有个wlan 的IP就是你公网的IP ,直接点击运行状态也可以看到的 ,不过,这个IP一般为动态的,只要路由器断电后就会更改,所以想要静态的IP 要加钱的,不过只要你不断电就OK

出0入0汤圆

发表于 2011-2-5 11:12:59 | 显示全部楼层
MARK

出0入42汤圆

发表于 2011-2-5 12:47:05 | 显示全部楼层
回复【52楼】lileistone  三块石头
楼主在公网如何知道自己家adsl的ip?
-----------------------------------------------------------------------
还有一个方案就是使用花生壳之类的动态路由
不过不怎么方便

出0入0汤圆

发表于 2011-2-5 13:01:58 | 显示全部楼层
学习,高手啊

出0入0汤圆

 楼主| 发表于 2011-2-5 16:49:14 | 显示全部楼层
http://115.197.46.238/  今天再试试 ,晚上看看能不能更改下网页,看看,重启路由器后就会更改IP 再在变成这个样子的了

出0入0汤圆

 楼主| 发表于 2011-2-5 16:49:47 | 显示全部楼层
2011年2月5日16时50分11秒   http://115.197.46.238/  试试

出0入0汤圆

发表于 2011-2-5 23:25:07 | 显示全部楼层
回复【55楼】jimmy_xt  重楼
回复【52楼】lileistone&#160;&#160;三块石头
楼主在公网如何知道自己家adsl的ip?
-----------------------------------------------------------------------
还有一个方案就是使用花生壳之类的动态路由
不过不怎么方便

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

看到楼主的路由器可以设置动态dns的

出0入0汤圆

 楼主| 发表于 2011-2-5 23:32:31 | 显示全部楼层
没有的,,dns好像不能吧!!这只是个方案

出0入0汤圆

发表于 2011-2-5 23:37:50 | 显示全部楼层
mark!

出0入0汤圆

 楼主| 发表于 2011-2-9 23:56:12 | 显示全部楼层
用自己的电脑做HTTP FTP POP3 服务器 自己找的东西备份下
FTP Serv-U使用手册
单机架网站全攻略
点击此处下载 ourdev_615083Z1XUM5.rar(文件大小:3.13M) (原文件名:单机架网站全攻略.rar)

出0入0汤圆

发表于 2011-2-10 00:11:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-10 00:24:34 | 显示全部楼层
MARK

出0入46汤圆

发表于 2011-2-10 09:40:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-10 10:54:23 | 显示全部楼层
mark!~

出0入0汤圆

发表于 2011-2-10 11:03:23 | 显示全部楼层
HTTP基本认证(HTTP Basic Athorization)过程分析
在HTTP协议进行通信的过程中,HTTP协议定义了基本认证过程以允许HTTP服务器对WEB浏览器进行用户身份证的方法,当一个客户端向HTTP服务 器进行数据请求时,如果客户端未被认证,则HTTP服务器将通过基本认证过程对客户端的用户名及密码进行验证,以决定用户是否合法。
客户端在接收到HTTP服务器的身份认证要求后,会提示用户输入用户名及密码,然后将用户名及密码以BASE64加密,加密后的密文将附加于请求信息中, 如当用户名为anjuta,密码为:123456时,客户端将用户名和密码用“:”合并,并将合并后的字符串用BASE64加密为密文,并于每次请求数据 时,将密文附加于请求头(Request Header)中。
   HTTP服务器在每次收到请求包后,根据协议取得客户端附加的用户信息(BASE64加密的用户名和密码),解开请求包,对用户名及密码进行验证,如果用 户名及密码正确,则根据客户端请求,返回客户端所需要的数据;否则,返回错误代码或重新要求客户端提供用户名及密码。
整个交互过程如下(模拟个登录GOOGLE首页的过程,并假设登录GOOGLE需要认证):
1,客户端向服务器请求数据,请求的内容可能是一个网页或者是一个其它的MIME类型,此时,假设客户端尚未被验证,则客户端提供如下请求至服务器:

Get /index.html HTTP/1.0
Host:www.google.com

这段信息表明,客户端向主机www.google.com请求其位于根目录下的index.html网页,使用http1.0协议。

2,服务器向客户端发送验证请求代码401,服务器返回的数据大抵如下:

HTTP/1.0 401 Unauthorised
Server: SokEvo/1.0
WWW-Authenticate: Basic realm="google.com"
Content-Type: text/html
Content-Length: xxx

<HTML>
<HEAD>
    <TITLE>Error</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
</HEAD>
<BODY><H1>401 Unauthorised.</H1></BODY>
</HTML>

3,当符合http1.0或1.1规范的客户端(如IE,FIREFOX)收到401返回值时,将自动弹出一个登录窗口,要求用户输入用户名和密码。
4,用户输入用户名和密码后,将用户名及密码以BASE64加密方式加密,并将密文放入前一条请求信息中,则客户端发送的第一条请求信息则变成如下内容:

Get /index.html HTTP/1.0
Host:www.google.com
Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxx

注:xxxx....表示加密后的用户名及密码。

5,服务器收到上述请求信息后,将Authorization字段后的用户信息取出、解密,将解密后的用户名及密码与用户数据库进行比较验证,如用户名及密码正确,服务器则根据请求,将所请求资源发送给客户端:

HTTP/1.0 200 OK
Server: www.google.com/http1.0
Content-Type: text/html
Content-Length: xxxx
<html>
网页内容
</html>

如用户名及密码不正确,请返回第2步,重新向客户端发送用户验证请求。

6,在以后的整个通信会话中,客户端均会在请求包中附加入加密后的用户信息。

   HTTP基本认证的目标是提供简单的用户验证功能,其认证过程简单明了,适合于对安全性要求不高的系统或设备中,如大家所用路由器的配置页面的认证,几乎 都采取了这种方式。其缺点是没有灵活可靠的认证策略,如无法提供域(domain或realm)认证功能,另外,BASE64的加密强度非常低,可以说仅 能防止sohu的搜索把它搜到了。当然,HTTP基本认证系统也可以与SSL或者Kerberos结合,实现安全性能较高(相对)的认证系统

出0入0汤圆

发表于 2011-2-10 11:26:58 | 显示全部楼层
进不了了

出0入0汤圆

发表于 2011-2-10 13:20:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-10 13:29:31 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-10 14:23:43 | 显示全部楼层
不知道楼主所谓的http认证指什么?如果只是指传输过程中加密,可以使用HTTPS连接,
如果说是指定用户才能登录,那就不是改网页能解决的了。
现在无法打开你的网页,不知道你是用什么写的?HTML?PHP?.Net还是JSP?
不过不同的语言过程都差不多,都是从客户端点登录的时候发起请求,WebServer接收到后就
传给你,你就要在你的程序中通过读user表来判断登录用户是否正确,当然,还要注意SQL注入等
非法侵入手段的预防,用户名和密码可以使用MD5加密

出0入0汤圆

 楼主| 发表于 2011-2-10 20:36:55 | 显示全部楼层
http://115.195.168.189/

2011年2月10日20时36分31秒还有人看吗????

<html>
<head>
<meta http-equiv="refresh" content="5">
<title>LPC236X WebServer</title>
</head>

<body bgcolor="#3030A0" text="#FFFF00">
<p><b><i>动态系统!</i></b></p>

<p><b>动态嵌入式Web Server</b> </p>
<p><b>硬件配置:</b></p>
<ul>
<li><b>MCU123 LPC2368 KIT board, 60 MHz, 512KB Flash.</b></li>
<li><b>以太网芯片:DM9161AE</b></li>
<li><b>以太网连接速度:ADB%M</b></li>
</ul>

<p><b>A/D 温度监视:(范围0~50°C)</b></p>


<table bgcolor="#ff0000" border="5" cellpadding="0" cellspacing="0" width="540">
<tr>
<td>
<table width="AD7%" border="0" cellpadding="0" cellspacing="0">
<tr><td bgcolor="#00ff00">&nbsp;</td></tr>
</table>
</td>
</tr>
</table>

<table border="0" width="540">

<tr>
<td width="10%">0</td>
<td width="10%">5</td>
<td width="10%">10</td>
<td width="10%">15</td>
<td width="10%">20</td>
<td width="10%">25</td>
<td width="10%">30</td>
<td width="10%">35</td>
<td width="10%">40</td>
<td width="10%">45</td>
<td width="10%">50</td>

</tr>
</table>

<p><b>A/D Converter Input 1:</b></p>

<table bgcolor="#ff0000" border="5" cellpadding="0" cellspacing="0" width="500">
<tr>
<td>
<table width="ADA%" border="0" cellpadding="0" cellspacing="0">
<tr><td bgcolor="#00ff00">&nbsp;</td></tr>
</table>
</td>
</tr>
</table>

<table border="0" width="540">
<tr>
<td width="12%">0V</td>
<td width="12%">0.5V</td>
<td width="12%">1V</td>
<td width="12%">1.5V</td>
<td width="12%">2V</td>
<td width="12%">2.5V</td>
<td width="12%">3V</td>
</tr>
</table>


<p><b>详情登陆:www.ouravr.com</b> </p>


</body>
</html>

出0入0汤圆

 楼主| 发表于 2011-2-10 20:42:06 | 显示全部楼层
回复【71楼】falcon_z
-----------------------------------------------------------------------

我想过了,应该不是你想的那种WEB,只是个简单的程序,好像是发送了个网页,这个是我的感觉

出0入0汤圆

 楼主| 发表于 2011-2-10 20:45:12 | 显示全部楼层
回复【71楼】falcon_z
-----------------------------------------------------------------------

我想过了,应该不是你想的那种WEB,只是个简单的程序,好像是发送了个网页,这个是我的感觉

出0入0汤圆

发表于 2011-2-10 21:51:26 | 显示全部楼层
兄弟你这个太复杂了

主要是要建立一个域名解析,

需要用花生壳等,(多年前的,现在不知道)

我隆重向诸位推荐一个

TeamViewer.exe

我刚收到的法宝

不解释,不行,你抽我

出0入0汤圆

发表于 2011-2-10 22:11:35 | 显示全部楼层
回复【74楼】wjjcyy
回复【71楼】falcon_z  
-----------------------------------------------------------------------
我想过了,应该不是你想的那种web,只是个简单的程序,好像是发送了个网页,这个是我的感觉
-----------------------------------------------------------------------

即便是网页,也要给服务器发送一个form,HTML提交数据的最基本的方式就是把数据放到form中然后提交

那么在服务器端就必然要有地方来接受你这个用户名和密码以便确认是否正确

无论你的服务器是Apache还是IIS,都肯定是这个样子

出0入0汤圆

发表于 2011-2-10 22:21:31 | 显示全部楼层
to wjjcyy:
刚才又仔细看了一下你的网站,似乎服务器端并不是一个PC机而是一个嵌入式的WebServer
这个我没有搞过,不知道究竟应该在什么地方加代码
但是http连接的这个过程是没有什么区别的,必须要有一部分的代码在服务器端跑才能实现
类似于用户认证等功能。
比如说你的用户名密码等放在数据库或者只是一个文件中,你总是要去读的吧?在网页中是无法
实现这个功能的。

出0入0汤圆

发表于 2011-2-10 22:38:14 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-2-10 22:51:24 | 显示全部楼层
回复【77楼】falcon_z
-----------------------------------------------------------------------

其实就是了,,我想了目前就用ip加上个  端口就行了,这个端口经常的更改下,
  
  这个能用http 网页开关IO口吧,用手机控制窗户应该没有问题吧,

但是我连网页加个安钮也不会,,,,

出0入0汤圆

 楼主| 发表于 2011-2-10 22:54:19 | 显示全部楼层
回复【75楼】format
-----------------------------------------------------------------------

谢谢,,...自己标记下,,,感动

出0入0汤圆

发表于 2011-2-11 09:08:50 | 显示全部楼层
回复【79楼】wjjcyy
回复【77楼】falcon_z  
-----------------------------------------------------------------------
其实就是了,,我想了目前就用ip加上个  端口就行了,这个端口经常的更改下,
   
  这个能用http 网页开关io口吧,用手机控制窗户应该没有问题吧,
但是我连网页加个安钮也不会,,,,
-----------------------------------------------------------------------

就算网页上加个按钮,最后也得有后台处理这个按钮发过来的数据,而不是在html网页中处理的。。。
看来楼主没有弄明白web到底是怎么工作的,建议先去看一本web入门指南之类的就好懂多了

出0入0汤圆

发表于 2011-2-11 10:25:36 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-2-11 14:41:20 | 显示全部楼层
mark

出0入8汤圆

发表于 2011-2-11 16:12:51 | 显示全部楼层
一般的路由器都有域名解析(DDNS服务)的,申请个免费的域名,就可以了不用记IP地址了。我用的是3322的域名

出0入0汤圆

 楼主| 发表于 2011-2-11 19:30:20 | 显示全部楼层
回复【75楼】format
-----------------------------------------------------------------------

这个我用的过 ,,能用,还能用XP和WIN 7通信的

出0入0汤圆

 楼主| 发表于 2011-2-11 19:30:40 | 显示全部楼层
回复【75楼】format
-----------------------------------------------------------------------

这个我用的过 ,,能用,还能用XP和WIN 7通信的

出0入0汤圆

 楼主| 发表于 2011-2-11 19:42:39 | 显示全部楼层
回复【84楼】kebaojun305
-----------------------------------------------------------------------

http://www.boersoft.com/help/view.php?fid=36  
我的和你的不一样的吧

出0入0汤圆

发表于 2011-2-11 19:54:06 | 显示全部楼层
#include <sys/heap.h>

#include <stdlib.h>
#include <string.h>
#include <memdebug.h>

#include <pro/httpd.h>
#include <gorp/base64.h>

/*!
* \addtogroup xgHTTPD
*/
/*@{*/

AUTHINFO *authList = 0;

/*!
* \brief Look up an authorization entry.
*/
static AUTHINFO *NutHttpAuthLookup(CONST char *dirname, CONST char *login)
{
    AUTHINFO *auth;

    for (auth = authList; auth; auth = auth->auth_next) {
        if (dirname && (strstr(dirname, auth->auth_dirname) != dirname))
            continue;
        if (login && strcmp(login, auth->auth_login))
            continue;
        break;
    }
    return auth;
}

/*!
* \brief Register an authorization entry.
*
* Protect a specified directory from unauthorized access.
*
* \warning Directories not registered by this function are
*          accessible by anyone.
*
* \param dirname Name of the directory to protect.
* \param login   Required login to access this directory. This
*                string must contain a user name, followed by
*                a colon followed by an uncrypted password.
*
* \return 0 on success, -1 otherwise.
*/
int NutRegisterAuth(CONST char *dirname, CONST char *login)
{
    AUTHINFO *auth;

    /* Allocate a new list element. */
    if ((auth = malloc(sizeof(AUTHINFO))) != NULL) {
        auth->auth_next = authList;
        /* Allocate the path component. */
        if ((auth->auth_dirname = strdup(dirname)) != NULL) {
            /* Allocate the login component. */
            if ((auth->auth_login = strdup(login)) != NULL) {
                /* Success. Add element to the list and return. */
                authList = auth;
                return 0;
            }
            /* Allocation failed. */
            free(auth->auth_dirname);
        }
        free(auth);
    }
    return -1;
}


/*!
* \brief Clear all authorization entries.
*
* Clears all authorization entries and frees the used ressouces.
*
*/
void NutClearAuth(void)
{
    AUTHINFO *auth;

    while (authList) {
        auth = authList;
        authList = auth->auth_next;
        free(auth->auth_dirname);
        free(auth->auth_login);
        free(auth);
    }
}

/*!
* \brief Validate an authorization request.
*
* \note This function is automatically called by the HTTP
*       library on incoming requests. Applications do not
*       need to call this function.
*
* \param req Request to be checked.
*
* \return 0, if access granted, -1 otherwise.
*/
int NutHttpAuthValidate(REQUEST * req)
{
    char *realm;
    char *cp = 0;
    int rc = -1;

    /*
     * Get directory by chopping off filename.
     */
    realm = req->req_url;
    if ((cp = strrchr(realm, '/')) != 0)
        *cp = 0;
    else
        realm = ".";

    /*
     * Check if authorization required.
     */
    if (NutHttpAuthLookup(realm, 0)) {
        /*
         * Check authorization.
         */
        if (req->req_auth) {
            /*
             * Acceptint basic authorization only.
             */
            if (strncmp(req->req_auth, "Basic ", 6) == 0) {
                NutDecodeBase64(req->req_auth + 6);
                if (NutHttpAuthLookup(realm, req->req_auth + 6))
                    rc = 0;
            }
        }
    } else
        rc = 0;

    if (cp)
        *cp = '/';

    return rc;
}

/*@}*/

出0入0汤圆

发表于 2011-2-11 19:56:07 | 显示全部楼层
真晕,贴完就发出去了。。。

这个是 ethernut 的 auth.c文件,可以参考下。。。其他文件可以下载ethernut安装包。。

出0入0汤圆

发表于 2011-2-11 20:07:03 | 显示全部楼层
不错收藏!

出0入0汤圆

发表于 2011-2-18 11:34:17 | 显示全部楼层
MARK!

出0入228汤圆

发表于 2011-2-18 12:00:35 | 显示全部楼层
直接路由器就能做

刷个LINUX的固件 WWDRT之类的,然后串口输出至 自己的单片机,想干啥就干啥吧。

出0入0汤圆

发表于 2011-2-18 13:13:27 | 显示全部楼层
看看···

出0入0汤圆

发表于 2011-2-18 13:48:00 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-2-18 16:51:39 | 显示全部楼层
顶了

出0入0汤圆

发表于 2011-2-18 17:00:28 | 显示全部楼层
mark

智能家居

出0入0汤圆

发表于 2011-2-18 20:02:40 | 显示全部楼层
好东东,mark

出0入0汤圆

发表于 2011-11-21 12:20:06 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-21 13:01:16 | 显示全部楼层
最近准备玩玩这个!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-9 03:55

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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