WEB开发网
开发学院网络安全黑客技术 如何阅读源代码(5) 阅读

如何阅读源代码(5)

 2006-07-04 20:27:41 来源:WEB开发网   
核心提示:如果该日期、时间没有错误,则该数据是一个好的数据,如何阅读源代码(5),将good_record计数器加1,并且检查时间戳,这个字符串是惟一的,可以检查时间的重复性,和数据是否重复数据,这里有一个函数

如果该日期、时间没有错误,则该数据是一个好的数据,将good_record计数器加1,并且检查时间戳,和数据是否重复数据。这里有一个函数,jdate()在主程序一开头我们就遇到了,当时跳了过去没有深究,这里留给读者做一个练习。(提示:该函数根据一个日期产生一个字符串,这个字符串是惟一的,可以检查时间的重复性,是一个通用函数,可以在别的程序中拿来使用)
/*********************************************/
   /* DO SOME PRE-PROCESS FORMATTING */
   /*********************************************/
/* fix URL field */
   cp1 = cp2 = log_rec.url;
   /* handle null '-' case here... */
   if (*++cp1 == '-') { *cp2++ = '-'; *cp2 = ''; }
   else
   {
    /* strip actual URL out of request */
    while ( (*cp1 != ' ') && (*cp1 != '') ) cp1++;
    if (*cp1 != '')
    {
     /* scan to begin of actual URL field */
     while ((*cp1 == ' ') && (*cp1 != '')) cp1++;
     /* remove duplicate / if needed */
     if (( *cp1=='/') && (*(cp1+1)=='/')) cp1++;
     while ((*cp1 != ' ')&&(*cp1 != '"')&&(*cp1 != ''))
     *cp2++ = *cp1++;
     *cp2 = '';
    }
   }
/* un-escape URL */
   unescape(log_rec.url);
/* check for service (ie: http://) and lowercase if found */
   if ( (cp2=strstr(log_rec.url,"://")) != NULL)
   {
    cp1=log_rec.url;
    while (cp1!=cp2)
    {
     if ( (*cp1>='A') && (*cp1<='Z')) *cp1 += 'a'-'A';
     cp1++;
    }
   }
/* strip query portion of cgi scripts */
   cp1 = log_rec.url;
   while (*cp1 != '')
    if (!isurlchar(*cp1)) { *cp1 = ''; break; }
    else cp1++;
   if (log_rec.url[0]=='')
    { log_rec.url[0]='/'; log_rec.url[1]=''; }
/* strip off index.html (or any aliases) */
   lptr=index_alias;
   while (lptr!=NULL)
   {
    if ((cp1=strstr(log_rec.url,lptr->string))!=NULL)
    {
     if ((cp1==log_rec.url)||(*(cp1-1)=='/'))
     {
     *cp1='';
     if (log_rec.url[0]=='')
      { log_rec.url[0]='/'; log_rec.url[1]=''; }
     break;
     }
    }
    lptr=lptr->next;
   }
/* unescape referrer */
   unescape(log_rec.refer);
......

1 2 3  下一页

Tags:如何 阅读 源代码

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接