纯C语言开发的网站开源了!

作者用两个月业余时间开发了一个类似于百度空间的网站,采用纯C语言编写,并实现了内存网络集群缓存,可支持5000万注册用户。

纯C语言开发的网站开源了!

空间 commit 代码 纯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 台电脑的内存中!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值