纯C语言开发的网站开源了!
#include <stdio.h>
#include <winsock2.h> //用来做缓存
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#include "E://TengYunJiaWuSpach//register//tengyunjiawucache.h" //内存网络集群缓存
#include "E://TengYunJiaWuSpach//register//WuWeiDataStruct.h" //相关数据结构定义
#include "E://TengYunJiaWuSpach//register//WebLiberary.h" //相关 get post head 参数解析
#include "E://TengYunJiaWuSpach//register//htmlfilter.h" //过滤和替换特殊字符,防止恶意攻击 去除 form 段
#include "E://TengYunJiaWuSpach//register//database.h" //腾云驾雾专用数据库 DAO 部分
#include "E://TengYunJiaWuSpach//register//cookies.h"
#include "E://TengYunJiaWuSpach//register//base64ende.h"
#include "E://TengYunJiaWuSpach//register//space.h"
#include "E://TengYunJiaWuSpach//register//register.h"
#include "E://TengYunJiaWuSpach//register//error.h"
main()
{
char *address, *u; //空间名称
char *who, *baseusername; //加密用户
char *token;
char *ct, *cm; //操作类型,具体操作
char *spRefURL; //HTTP_REFERER post 方式的
//post参数解析(这可是久经考验了!)
loadurlparams();
ct = parambyname(&urlparamlist, "ct"); //操作类型
cm = parambyname(&urlparamlist, "cm"); //操作命令 CRUD
spRefURL = parambyname(&urlparamlist, "spRefURL");
if(spRefURL==NULL)
printf("Location: http://cangzhuo.cn/n/n");
token = strtok(spRefURL + 7, ".");
if(token != NULL)
{
//判断空间是否存在
if(!CheckSpaceExist(token))
{
//cookies参数解析(这可是久经考验了!)
loadcookiesparams();
//在验证一下空间防止伪造空间
readspace(token);
if(cookiesbyname(&cookiesparamlist, "username"))
{
baseusername = cookiesbyname(&cookiesparamlist, "username");
iniEnv(baseusername);
if(ainitcookies.username[0]!=0)
{
//还是要验证一下密码防止伪造 cookies
readuser(ainitcookies.username);
if ( strcmp(oneuser.password, ainitcookies.password)==0)
{
//判断空间是否存在
if(ainitcookies.space[0]!=0)
{
//判断是否登陆用户自己的空间
if( strcmp( lowercase(token), lowercase(ainitcookies.space) ) ==0)
{
//只有这里可以执行对应提交命令 其他地方不可以
//...... 所有提交都在这里进行分类处理
if(strcmp(ct, "6")==0){LinkCommit(atoi(cm), token);}
}
else
{
//printf("2");
printf("Location: http://cangzhuo.cn/n/n");
}
}
else
{
//printf("4");
printf("Location: http://cangzhuo.cn/n/n");
}
}
else
{
//printf("5");
printf("Location: http://cangzhuo.cn/n/n");
}
}
else
{
//printf("6");
printf("Location: http://cangzhuo.cn/n/n");
}
}
else
{
//printf("7");
printf("Location: http://cangzhuo.cn/n/n");
}
}
else
{
//空间不存在
printf("Location: http://cangzhuo.cn/n/n");
}
}
else
{
printf("Location: http://cangzhuo.cn/n/n");
}
fflush(stdout);
return;
}
上述代码是我最近新做的空间的千分之一的代码
我用了接近 2个月的业余时间,做了一个空间
完全采用 C语言开发的,与 baidu 空间大体上一模一样,包括界面也一模一样!
我想下周进行开放测试!
不知道 baidu 的大哥大姐,还有李老师有没有意见!
如果你们有意见的话,我就不开放测试了!
如果没有意见到时候请进行观摩!
没意见的话:
时间: 2007-12-22 日左右!
具体地址到时候我会写在: http://www.tengyunjiawu.com/come/1/36/1.html
程序完全由本人独自开发完毕!
粗略计算了一下:可以保证 5000W 注册用户!
我这次开发空间,增加了网络内存缓存集群!
网络内存缓存集群名词解释:
使用起来就好象你操作一台电脑的内存一样!
其实数据实质上是分布在 N 台电脑的内存中!