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

纯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 台电脑的内存中!

 
posted @   chinacloudy  阅读(312)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示