现在的位置: 首页 > 综合 > 正文

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

2013年12月12日 ⁄ 综合 ⁄ 共 3750字 ⁄ 字号 评论关闭

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

 

抱歉!评论已关闭.