回文章列表
作者waynesan.bbs@csc241.twbbs.org (阿虎七號) 看板: itoc
標題[修正] bhttpd.c 找不到的 cmd 送出 404 Not Found.
時間迷幻國度 (2008/10/31 Fri 23:36:17)
基於一些安全性上的問題,

找不到的 command 還是送出 404 Not Found. 比較保險。



: bhttpd.c

static Command cmd_table_get[] =
{

  ...

#ifdef ROBOT_EXCLUSION
  cmd_robots,      "robots.txt",9,
#endif

-   cmd_mainpage,    "",          0,
+   cmd_mainpage,    "\0",        1,

  NULL,            NULL,        0
};

: bhttpd.c:do_cmd()

      for (; ptr = cmd->cmd; cmd++)
      {
        if (!str_ncmp(url, ptr, cmd->len))
          break;
      }

      /* 如果在 command_table 裡面找不到,那麼自動重新導向 */
      if (!ptr)
      {
-         out_http(ap, HS_REDIRECT, NULL);
+         out_error(ap, HS_NOTFOUND);     /* waynesan.081018: 找不到 cmd 改送 404 Not Found */
        return -1;
      }

      ap->urlp = url + cmd->len;

--

2008 (CC)(BY)(NC)(SA) WayneSan. Some Rights Reserved.
http://creativecommons.org/licenses/by-nc-sa/2.5/tw/

--
    ╴╴
  ▔▔\   ◤ 國立臺中二中‧電腦研習社 Computer Study Club 
/  /\  國度 Charming Shadow Country       ◢
\/  /  ╠╝身分waynesan @ 2008/10/18 Sat 03:03:46   ╚╣
  \╴╴來源 218-163-195-243.dynamic.hinet.net     ╦╣
      ▔▔    ╬══ csc241.twbbs.org ═╩═ 203.71.212.241 ═╩╩╗
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻