纯C语言开发的网站开源了!
纯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 台电脑的内存中!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述