用C写CGI怎么能输出header等这些信息?

coldice 2001-07-16 10:25:50
我在用C写CGI的过程中,发现使用一些CGI库都能方便的输出html正文,
但我想写一个重定向的cgi程序,使用<meta>当然可以了。但总觉得别扭。赫赫。


能不能在C程序中直接输出一些类似于php中header之类的重定向语句?
...全文
123 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tasehouny 2001-07-17
  • 打赏
  • 举报
回复
网上有C CGI_LIB 记不得下载地址了。
我的硬盘上好像有。 tase@263.net
wyzegg 2001-07-16
  • 打赏
  • 举报
回复
当然可以啦,大家都是一个原理吗
看好在下:
第一章 CGI
第二章 ACTIVEX
第三章:异常处理
第四章 多线程/多进程
……
……
1.1 如何编CGI程序

CGI的工作原理介绍:CGI(Common Gateway Interface)是一个WEB服务器提供信息服务的标准接口,通过这样一个接口,WEB服务器能够执行程序,并将程序输出信息返回给浏览器。因为在WEB网上的数据都是静态的,通过CGI程序能够动态的处理浏览者的请求,如保存用户输入的信息,根据用户信息返回相关的资料等等。当客户端发送一个CGI请求给WEB服务器后,WEB服务器将根据CGI程序的类型决定数据向CGI程序的传送方式,一般来讲是通过标准输入/输出流和环境变量来与CGI程序间传递数据。
……
……
.3 利用ISAPI开发CGI程序

我们所使用的ISAPI扩展类是由CHttpServer所派生,可以调用CHttpServer::AddHeader来指明返回数据的类型,例如下面的代码演示了输出纯文本:

void CTestisaExtension::Default(CHttpServerContext* pCtxt)
{
AddHeader(pCtxt, "Content-type = text/plain\r\n");
(*pCtxt) << "Hello world!\r\n";
}

我们可以重载某些函数来达到加强控制的目的,可重载的函数有以下这些:
virtual LPCTSTR CHttpServer::GetTitle( ) const;返回部分<em>信息</em> <br>virtual BOOL CHttpServer::OnParseError( CHttpServerContext* pCtxt, int nCause );错误处理 <br>virtual void CHttpServer::StartContent( CHttpServerContext* pCtxt ) const;<em>输出</em><HTML><BODY>部分<em>信息</em> <br>virtual void CHttpServer::EndContent( CHttpServerContext* pCtxt ) const;<em>输出</em><script> window.__INITIAL_STATE__= {"csrf":"X0MWDVuC-5MmR4FzAdJRrBLZO9nL9hCkkeHg","origin":"http:\u002F\u002Fbbs.csdn.net","isMobile":false,"cookie":"uuid_tt_dd=10_593557810-1714016380666-743583;","ip":"3.137.178.133","pageData":{"page":{"pageId":143,"title":"社区详情","keywords":"社区详情","description":"社区详情","ext":{"isMd":"true","armsfe1":"{pid:\"dyiaei5ihw@1a348e4d05c2c78\",appType:\"web\",imgUrl:\"https:\u002F\u002Farms-retcode.aliyuncs.com\u002Fr.png?\",sendResource:true,enableLinkTrace:true,behavior:true}","redPacketCfg":"{\"presetTitle\":[\"成就一亿技术人!\",\"大吉大利\",\"节日快乐\",\"Bug Free\",\"Hello World\",\"Be Greater Than Average!!\"],\"defaultTitle\":\"成就一亿技术人!\",\"preOpenSty\":{},\"redCardSty\":{}}","blogStar":"[{\"year\":\"2021\",\"enable\":true,\"communityIds\":[3859],\"url\":\"https:\u002F\u002Fbbs.csdn.net\u002Fsummary2021\"},{\"year\":\"2022\",\"enable\":true,\"communityIds\":[3860],\"url\":\"https:\u002F\u002Fbbs.csdn.net\u002Fsummary2022\"}]","mdVersion":"https:\u002F\u002Fcsdnimg.cn\u002Frelease\u002Fmarkdown-editor\u002F1.1.0\u002Fmarkdown-editor.js","componentSortCfg":"{ \"right\":[\"ratesInfo\",\"cty-profile\",\"pub-comp\",\"user-right-introduce\",\"post-event\",\"my-mission\",\"user-recommend\",\"user-right-rank\",\"user-right-rule\",\"user-right-adimg\"] }","show_1024":"{\"enable\":false,\"useWhitelist\":false,\"whitelist\":[76215],\"home\":\"https:\u002F\u002F1111.csdn.net\u002F\",\"logo\":\"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221104102741.png\",\"hideLive\":true}","iframes":"[\"3859\"]","pageCfg":"{\"disableDownloadPDF\": false,\"hideSponsor\":false}"}},"template":{"templateId":71,"templateComponentName":"ccloud-detail","title":"ccloud-detail","floorList":[{"floorId":562,"floorComponentName":"floor-user-content","title":"社区详情页","description":"社区详情页","indexOrder":3,"componentList":[{"componentName":"baseInfo","componentDataId":"cloud-detail1","componentConfigData":{},"relationType":3},{"componentName":"user-right-introduce","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-recommend","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-rank","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-rule","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-adimg","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"default2014LiveRoom","componentDataId":"20221024DefaultLiveRoom","componentConfigData":{},"relationType":3}]}]},"data":{"baseInfo":{"customDomain":"","uriName":"VC_Basic","communityHomePage":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic","owner":{"userName":"community_8","nickName":"基础类社区","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","position":"","companyName":""},"user":{"userRole":3,"userName":null,"nickName":null,"avatarUrl":null,"rank":null,"follow":2,"communityBase":null,"joinCollege":null,"isVIP":null},"community":{"name":"VC\u002FMFC","description":"VC\u002FMFC相关问题讨论","avatarUrl":"https:\u002F\u002Fimg-community.csdnimg.cn\u002Favatar\u002F666d6d17e5774672af753dd112cb43f4.png?x-oss-process=image\u002Fresize,m_fixed,h_88,w_88","qrCode":"","createTime":"2007-09-28","communityAvatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","communityNotice":null,"userCount":16472,"contentCount":421732,"followersCount":8257,"communityRule":"\u003Cp style=\"margin-left:.5in\"\u003E        VC\u002FMFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……\u003Cbr \u002F\u003E\n        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……\u003Cbr \u002F\u003E\n        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……\u003C\u002Fp\u003E\n","communityId":127,"bgImage":"","hashId":"den11vnj","domain":"","uriName":"VC_Basic","externalDisplay":1,"adBanner":{"img":"","url":"","adType":0,"adCon":null},"rightBanner":{"img":"","url":"","adType":0,"adCon":null},"tagId":null,"tagName":null,"communityType":1,"communityApplyUrl":"https:\u002F\u002Fmarketing.csdn.net\u002Fquestions\u002FQ2106040308026533763","joinType":0,"visibleType":0,"collapse":0,"topicMoveAble":0,"allowActions":{},"communityOwner":"community_8","tagNameInfo":{"provinceTag":null,"areaTag":null,"technologyTags":null,"customTags":null}},"tabList":[{"tabId":1286,"tabName":"全部","tabUrl":"","tabSwitch":1,"tabType":4,"tabContribute":0,"cardType":0,"indexOrder":-1,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic?typeId=1286","iframe":false,"sortType":1},{"tabId":1143,"tabName":"VC++技术资源","tabUrl":"https:\u002F\u002Fgithub.com\u002FTangramDev","tabSwitch":1,"tabType":0,"tabContribute":1,"indexOrder":0,"iframe":false,"sortType":1},{"tabId":689,"tabName":"VC综合技术","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":1,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic?typeId=689","iframe":false,"sortType":1},{"tabId":699,"tabName":"互联网技术","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":2,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic?typeId=699","iframe":false,"sortType":1},{"tabId":1110,"tabName":"MFC AppLauncher","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":3,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic?typeId=1110","iframe":false,"sortType":1},{"tabId":690,"tabName":".NET 技术","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":4,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic?typeId=690","iframe":false,"sortType":1},{"tabId":694,"tabName":"界面","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":5,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic?typeId=694","iframe":false,"sortType":1},{"tabId":695,"tabName":"进程","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":6,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic?typeId=695","iframe":false,"sortType":1},{"tabId":696,"tabName":"算法","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":7,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic?typeId=696","iframe":false,"sortType":1},{"tabId":697,"tabName":"硬件\u002F系统","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":8,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic?typeId=697","iframe":false,"sortType":1},{"tabId":698,"tabName":"数据库","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":9,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic?typeId=698","iframe":false,"sortType":1},{"tabId":4055743,"tabName":"博文收录","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":19,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic?typeId=4055743","iframe":false,"sortType":1},{"tabId":1636846,"tabName":"Ada助手","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":20,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic?typeId=1636846","iframe":false,"sortType":1}],"dataResource":{"mediaType":"c_cloud","subResourceType":"8_c_cloud_long_text","showType":"long_text","tabId":0,"communityName":"VC\u002FMFC","communityHomePageUrl":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_Basic","communityType":1,"content":{"id":"177807","contentId":177807,"cateId":0,"cateName":null,"url":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F177807","shareUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F177807","createTime":"2001-07-16 10:25:50","updateTime":"2021-05-28 10:04:46","resourceUsername":"coldice","best":0,"top":0,"text":null,"publishDate":"2001-07-16","lastReplyDate":"2001-07-17","type":"13","nickname":"coldice","avatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","username":"coldice","commentCount":2,"diggNum":0,"digg":false,"viewCount":123,"hit":false,"resourceSource":6,"status":10,"taskStatus":null,"expired":false,"taskCate":0,"taskAward":0,"taskExpired":null,"checkRedPacket":null,"avgScore":0,"totalScore":0,"topicTitle":"用C写CGI怎么能输出header等这些信息?","insertFirst":false,"likeInfo":null,"description":"我在用C写CGI的过程中,发现使用一些CGI库都能方便的输出html正文, 但我想写一个重定向的cgi程序,使用当然可以了。但总觉得别扭。赫赫。 能不能在C程序中直接输出一些类似于php中header之类的重定向语句? ","coverImg":"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221027062431.png","content":"我在用C写CGI的过程中,发现使用一些CGI库都能方便的输出html正文, \u003Cbr \u002F\u003E\n但我想写一个重定向的cgi程序,使用<meta>当然可以了。但总觉得别扭。赫赫。 \u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n能不能在C程序中直接输出一些类似于php中header之类的重定向语句? ","mdContent":null,"pictures":null,"videoInfo":null,"linkInfo":null,"student":{"isCertification":false,"org":"","bala":""},"employee":{"isCertification":false,"org":"","bala":""},"userCertification":[],"dependId":"0","dependSubType":null,"videoUrl":null,"favoriteCount":0,"favoriteStatus":false,"taskType":null,"defaultScore":null,"syncAsk":false,"videoPlayLength":null},"communityUser":null,"allowPost":false,"submitHistory":[{"user":{"registerurl":"https:\u002F\u002Fg.csdnimg.cn\u002Fstatic\u002Fuser-reg-year\u002F1x\u002F23.png","avatarurl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","nickname":"coldice","selfdesc":"","createdate":"2001-02-10 04:00:00","days":"8476","years":"23","username":"coldice","school":null,"company":null,"job":null},"userName":"coldice","event":"创建了帖子","body":"2001-07-16 10:25","editId":null}],"resourceExt":{}},"contentReply":{"pageNo":1,"pageSize":20,"totalPages":1,"totalCount":2,"total":0,"list":[{"hit":null,"hitMsg":null,"content":"网上有C CGI_LIB 记不得下载地址了。\u003Cbr \u002F\u003E\n我的硬盘上好像有。 tase@263.net","topicTitle":null,"description":"网上有C CGI_LIB 记不得下载地址了。 我的硬盘上好像有。 tase@263.net","id":1676299,"contentResourceId":177807,"bindContentResourceId":0,"communityId":127,"username":"Tasehouny","userNickName":"Tasehouny","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2001-07-17 12:07:52","updateTime":"2001-07-17 12:07:52","formatTime":"2001-07-17","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"当然可以啦,大家都是一个原理吗","topicTitle":null,"description":"当然可以啦,大家都是一个原理吗","id":1675143,"contentResourceId":177807,"bindContentResourceId":0,"communityId":127,"username":"wyzegg","userNickName":"wyzegg","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2001-07-16 09:00:59","updateTime":"2001-07-16 09:00:59","formatTime":"2001-07-16","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null}],"maxPageSize":3000},"defaultActiveTab":1286,"recommends":[{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fperfectpdl\u002F447883","title":"VC MFC专题讲座 chm","desc":"看好在下:\u003Cbr\u003E第一章 \u003Cem\u003ECGI\u003C\u002Fem\u003E \u003Cbr\u003E第二章 ACTIVEX\u003Cbr\u003E第三章:异常处理\u003Cbr\u003E第四章 多线程\u002F多进程\u003Cbr\u003E……\u003Cbr\u003E……\u003Cbr\u003E1.1 如何编\u003Cem\u003E写\u003C\u002Fem\u003E\u003Cem\u003ECGI\u003C\u002Fem\u003E程序\u003Cbr\u003E\u003Cbr\u003E\u003Cem\u003ECGI\u003C\u002Fem\u003E的工作原理介绍:\u003Cem\u003ECGI\u003C\u002Fem\u003E(Common Gateway Interface)是一个WEB服务器提供\u003Cem\u003E信息\u003C\u002Fem\u003E服务的标准接口,通过这样一个接口,WEB服务器能够执行程序,并将程序\u003Cem\u003E输出\u003C\u002Fem\u003E的\u003Cem\u003E信息\u003C\u002Fem\u003E返回给浏览器。因为在WEB网上的数据都是静态的,通过\u003Cem\u003ECGI\u003C\u002Fem\u003E程序能够动态的处理浏览者的请求,如保存用户输入的\u003Cem\u003E信息\u003C\u002Fem\u003E,根据用户\u003Cem\u003E信息\u003C\u002Fem\u003E返回相关的资料等等。当客户端发送一个\u003Cem\u003ECGI\u003C\u002Fem\u003E请求给WEB服务器后,WEB服务器将根据\u003Cem\u003ECGI\u003C\u002Fem\u003E程序的类型决定数据向\u003Cem\u003ECGI\u003C\u002Fem\u003E程序的传送方式,一般来讲是通过标准输入\u002F\u003Cem\u003E输出\u003C\u002Fem\u003E流和环境变量来与\u003Cem\u003ECGI\u003C\u002Fem\u003E程序间传递数据。 \u003Cbr\u003E……\u003Cbr\u003E……\u003Cbr\u003E.3 利用ISAPI开发\u003Cem\u003ECGI\u003C\u002Fem\u003E程序\u003Cbr\u003E\u003Cbr\u003E我们所使用的ISAPI扩展类是由CHttpServer所派生,可以调用CHttpServer::Add\u003Cem\u003EHeader\u003C\u002Fem\u003E来指明返回数据的类型,例如下面的代码演示了\u003Cem\u003E输出\u003C\u002Fem\u003E纯文本: \u003Cbr\u003E\u003Cbr\u003Evoid CTestisaExtension::Default(CHttpServerContext* pCtxt)\u003Cbr\u003E{\u003Cbr\u003E\tAdd\u003Cem\u003EHeader\u003C\u002Fem\u003E(pCtxt, \"Content-type = text\u002Fplain\\r\\n\");\u003Cbr\u003E\t(*pCtxt) \u003C\u003C \"Hello world!\\r\\n\"; \u003Cbr\u003E}\u003Cbr\u003E\u003Cbr\u003E我们可以重载某些函数来达到加强控制的目的,可重载的函数有以下这些: \u003Cbr\u003Evirtual LPCTSTR CHttpServer::GetTitle( ) const;返回\u003CTITLE\u003E部分\u003Cem\u003E信息\u003C\u002Fem\u003E \u003Cbr\u003Evirtual BOOL CHttpServer::OnParseError( CHttpServerContext* pCtxt, int nCause );错误处理 \u003Cbr\u003Evirtual void CHttpServer::StartContent( CHttpServerContext* pCtxt ) const;\u003Cem\u003E输出\u003C\u002Fem\u003E\u003CHTML\u003E\u003CBODY\u003E部分\u003Cem\u003E信息\u003C\u002Fem\u003E \u003Cbr\u003Evirtual void CHttpServer::EndContent( CHttpServerContext* pCtxt ) const;\u003Cem\u003E输出\u003C\u002Fem\u003E\u003C\u002FBODY\u003E\u003C\u002FHTML\u003E部分\u003Cem\u003E信息\u003C\u002Fem\u003E \u003Cbr\u003Evirtual void CHttpServer::WriteTitle( CHttpServerContext* pCtxt ) const;\u003Cem\u003E输出\u003C\u002Fem\u003E\u003CTITLE\u003E\u003C\u002FTITLE\u003E部分\u003Cem\u003E信息\u003C\u002Fem\u003E \u003Cbr\u003E\u003Cbr\u003E此外我们可以在命令处理函数中利用CHttpServerContext指针来得到\u003Cem\u003ECGI\u003C\u002Fem\u003E中的相关环境变量,在CHttpServerContext中有一个成员变量m_pECB为下面的结构指针。 \u003Cbr\u003E\u003Cbr\u003Etypedef struct _EXTENSION_CONTROL_BLOCK { \u003Cbr\u003EDWORD cbSize; \u002F\u002FIN 该结构长度 \u003Cbr\u003EDWORD dwVersion \u002F\u002FIN 版本 \u003Cbr\u003EHCONN ConnID; \u002F\u002FIN 连接上下文 \u003Cbr\u003EDWORD dwHttpStatusCode; \u002F\u002FOUT 状态码 \u003Cbr\u003ECHAR lpszLogData[HSE_LOG_BUFFER_LEN]; \u002F\u002FOUT \u003Cbr\u003ELPSTR lpszMethod; \u002F\u002FIN 环境变量REQUEST_METHOD \u003Cbr\u003ELPSTR lpszQueryString; \u002F\u002FIN QUERY_STRING \u003Cbr\u003ELPSTR lpszPathInfo; \u002F\u002FIN PATH_INFO \u003Cbr\u003ELPSTR lpszPathTranslated; \u002F\u002FIN PATH_TRANSLATED \u003Cbr\u003EDWORD cbTotalBytes; \u002F\u002FIN CONTENT_LENGTH \u003Cbr\u003EDWORD cbAvailable; \u002F\u002FIN \u003Cbr\u003ELPBYTE lpbData; \u002F\u002FIN \u003Cbr\u003ELPSTR lpszContentType; \u002F\u002FIN CONTENT_TYPE \u003Cbr\u003E...其他\u003Cem\u003E信息\u003C\u002Fem\u003E在此忽略 \u003Cbr\u003E} EXTENSION_CONTROL_BLOCK, *LPEXTENSION_CONTROL_BLOCK; \u003Cbr\u003E……\u003Cbr\u003E……4.1 为什么需要多进程\u002F线程\u003Cbr\u003E\u003Cbr\u003E\u003Cbr\u003E\u003Cbr\u003E","createTime":"2008-05-09 16:52:16","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-447883-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-447883-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fperfectpdl\u002F447883\",\"strategy\":\"2~default~OPENSEARCH~Paid\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-447883-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1714016380699_66911\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fperfectpdl\u002F447883\",\"strategy\":\"2~default~OPENSEARCH~Paid\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-447883-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1714016380699_66911\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsayu3368\u002F5945381","title":"Nikto安全扫描工具","desc":"Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定\u003Cem\u003ECGI\u003C\u002Fem\u003E漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说。。。\n\nroot@91ri.org:~# cd \u002Fpentest\u002Fweb\u002Fnikto\u002F\nroot@91ri.org:\u002Fpentest\u002Fweb\u002Fnikto# ls\ndocs nikto.conf nikto.pl plugins templates\nroot@91ri.org:\u002Fpentest\u002Fweb\u002Fnikto# .\u002Fnikto.pl -h\nOption host requires an argument\n\n-config+ Use this config file\n-\u003Cem\u003ECgi\u003C\u002Fem\u003Edirs+ scan these \u003Cem\u003ECGI\u003C\u002Fem\u003E dirs: ‘none’, ‘all’, or values like “\u002F\u003Cem\u003Ecgi\u003C\u002Fem\u003E\u002F \u002F\u003Cem\u003Ecgi\u003C\u002Fem\u003E-a\u002F”\n-dbcheck check database and other key files for syntax errors\n-Display+ Turn on\u002Foff display outputs\n-evasion+ ids evasion technique\n-Format+ save file (-o) format\n-host+ target host\n-Help Extended help information\n-id+ Host authentication to use, format is id:pass or id:pass:realm\n-list-plugins List all available plugins\n-mutate+ Guess additional file names\n-mutate-options+ Provide extra information for mutations\n-output+ Write output to this file\n-nocache Disables the URI cache\n-nossl Disables using SSL\n-no404 Disables 404 checks\n-port+ Port to use (default 80)\n-Plugins+ List of plugins to run (default: ALL)\n-root+ Prepend root value to all requests, format is \u002Fdirectory\n-ssl Force ssl mode on port\n-Single Single request mode\n-timeout+ Timeout (default 2 seconds)\n-Tuning+ Scan tuning\n-update Update databases and plugins from CIRT.net\n-vhost+ Virtual host (for Host \u003Cem\u003Eheader\u003C\u002Fem\u003E)\n-Version Print plugin and database versions\n+ requires a value\n\nNote: This is the short help output. Use -H for full help.\n\n升级插件\n\nroot@91ri.org:\u002Fpentest\u002Fweb\u002Fnikto# .\u002Fnikto.pl -update\n\n-h 指定扫描的目标 –p 端口\n\nroot@91ri.org:\u002Fpentest\u002Fweb\u002Fnikto# .\u002Fnikto.pl -h www.91ri.org -p 80\n\n-C 指定\u003Cem\u003ECGI\u003C\u002Fem\u003E目录 –all表示猜解\u003Cem\u003ECGI\u003C\u002Fem\u003E目录\n\nroot@91ri.org:\u002Fpentest\u002Fweb\u002Fnikto# .\u002Fnikto.pl -h www.91ri.org -C all\n\n-T选项包含很多小选项 –T 9表示扫描SQL注入漏洞\n\nroot@91ri.org:\u002Fpentest\u002Fweb\u002Fnikto# .\u002Fnikto.pl -h www.91ri.org -T 9\n\n-D指定\u003Cem\u003E输出\u003C\u002Fem\u003E显示 2显示cookies\n\nroot@91ri.org:\u002Fpentest\u002Fweb\u002Fnikto# .\u002Fnikto.pl -h www.91ri.org -D 2\n\n-T选项包含的小选项解释:\n0 检查文件上传页面\n1 检查web日志\n2 检查错误配置或默认文件\n3检查\u003Cem\u003E信息\u003C\u002Fem\u003E泄露问题\n4 检查XSS\u002FScript\u002FHTML问题\n5 从根目录检查是否存在可访问的文件\n6 检查拒绝服务问题\n7 从任意文件检索是否存在可访问文件\n8 检查是否存在系统命令执行漏洞\n9 检查SQL注入漏洞\na 检查认证绕过问题\nb 识别安装的软件版本\nc 检查源代码泄露问题\nx 反向链接选项","createTime":"2013-08-14 16:22:01","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-5945381-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-5945381-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsayu3368\u002F5945381\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-5945381-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1714016380699_66911\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsayu3368\u002F5945381\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-5945381-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1714016380699_66911\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fblog.csdn.net\u002Fweixin_30849279\u002Farticle\u002Fdetails\u002F117120249","title":"c语言实现\u003Cem\u003Ecgi\u003C\u002Fem\u003E返回结果转json,如何從Perl \u003Cem\u003ECGI\u003C\u002Fem\u003E程序發送JSON響應?","desc":"I am writing a JSON response from a perl\u002F\u003Cem\u003Ecgi\u003C\u002Fem\u003E program. The \u003Cem\u003Eheader\u003C\u002Fem\u003E's content type needs to be \"application\u002Fjson\". But it doesn't seems to be recognized as response is thrown as a text file.我正在寫一個來自perl ...","createTime":"2021-05-21 14:16:56","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-3-117120249-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-3-117120249-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fweixin_30849279\u002Farticle\u002Fdetails\u002F117120249\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-3-117120249-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1714016380699_66911\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fweixin_30849279\u002Farticle\u002Fdetails\u002F117120249\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-3-117120249-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1714016380699_66911\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"blog"},{"url":"https:\u002F\u002Fblog.csdn.net\u002FY_Hanxiao\u002Farticle\u002Fdetails\u002F93855355","title":"C语言\u003Cem\u003Ecgi\u003C\u002Fem\u003E编程入门","desc":"本文译自Getting Started with \u003Cem\u003ECGI\u003C\u002Fem\u003E Programming in C。因为本人水平有限,难免有误,欢迎指正。\n\n这是一篇介绍如何使用C语言进行\u003Cem\u003ECGI\u003C\u002Fem\u003E编程的文章。假设读者了解C基础知识,并且可以\u003Cem\u003E写\u003C\u002Fem\u003E出简单的HTML表单和在Web服务器上安装\u003Cem\u003ECGI\u003C\u002Fem\u003E脚本。通过简单的范例对原理进行解释说明。\n\n两点重要提醒:\n\n为了避免浪费时间,请检查——通过恰当的本地文档或者联系Web服务器管理员—...","createTime":"2019-06-27 10:51:51","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-93855355-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-93855355-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002FY_Hanxiao\u002Farticle\u002Fdetails\u002F93855355\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-93855355-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1714016380699_66911\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002FY_Hanxiao\u002Farticle\u002Fdetails\u002F93855355\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-93855355-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1714016380699_66911\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"blog"},{"url":"https:\u002F\u002Fblog.csdn.net\u002FshuaiAWP\u002Farticle\u002Fdetails\u002F46776545","title":"\u003Cem\u003Ecgi\u003C\u002Fem\u003E_\u003Cem\u003Eheader\u003C\u002Fem\u003E: unable to find LFLF","desc":"我非常恶心做嵌入式web\r\n出错位置\r\n      \u003Cem\u003Ecgi\u003C\u002Fem\u003E_procee_\u003Cem\u003Eheader\u003C\u002Fem\u003E()\r\n对于错误 \u003Cem\u003Ecgi\u003C\u002Fem\u003E_\u003Cem\u003Eheader\u003C\u002Fem\u003E: unable to find LFLF的补充\r\n浏览器中显示502 Bad Gateway\r\nThe \u003Cem\u003ECGI\u003C\u002Fem\u003E was not \u003Cem\u003ECGI\u003C\u002Fem\u003E\u002F1.1 compliant.\r\n可能的原因:\r\n\u003Cem\u003E输出\u003C\u002Fem\u003EMIME格式错误,结尾一定要有两个换行符\r\nprintf(\"Content-Type:","createTime":"2015-07-06 16:58:45","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-46776545-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-46776545-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002FshuaiAWP\u002Farticle\u002Fdetails\u002F46776545\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-46776545-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1714016380699_66911\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002FshuaiAWP\u002Farticle\u002Fdetails\u002F46776545\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-46776545-bbs-177807.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1714016380699_66911\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"blog"}],"staffDOList":[{"id":null,"communityId":127,"username":"community_8","userNickname":"基础类社区","roleCode":1,"status":1,"createUsername":"","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","createTime":"2021-05-12 18:05:00","updateTime":"2021-05-12 18:05:00","lastLoginTime":"2021-05-12 18:05:00"},{"id":null,"communityId":127,"username":"sunhui","userNickname":"Web++","roleCode":2,"status":1,"createUsername":"bbs_assistant","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F4da5553c0cca498aa6129165b431f71b_sunhui.jpg!1","createTime":"2021-07-27 15:41:46","updateTime":"2021-07-27 15:41:46","lastLoginTime":"2021-07-27 15:41:46"},{"id":null,"communityId":127,"username":"CharlesSimonyi","userNickname":"encoderlee","roleCode":2,"status":1,"createUsername":"bbs_assistant","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Ffa9dbe2c89e44d1295ce730595971342_charlessimonyi.jpg!1","createTime":"2021-07-05 14:02:33","updateTime":"2021-07-05 14:02:33","lastLoginTime":"2021-07-05 14:02:33"}],"communityConfig":{"scoreType":0,"scoreItems":{"0":"给本帖投票","1":"锋芒小试,眼前一亮","2":"潜力巨大,未来可期","3":"持续贡献,值得关注","4":"成绩优异,大力学习","5":"贡献巨大,全力支持"}},"shouldApply":false,"subscribeAble":false,"operatorAble":false,"commentNeedJoinCommunity":false},"default2014LiveRoom":[{"itemType":"","description":"高峰论坛","title":"2022 技术英雄会","url":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fiframe\u002Fcsdnnews\u002FfsNR5NWp?chat=1&title=1&footer=1","images":["https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221016050009.png"],"ext":{"time":"9:00","liveRoomUrl":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fcsdnnews\u002FfsNR5NWp"}}]},"isGooglebot":false,"canonical":"https:\u002F\u002Fwww.csdn.net\u002Ftopics\u002F177807","openUrl":"","isApp":false,"localUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F177807","typeId":"index","hasIndex":false},"CFG":{"ALIPLAYER_VERSION":"v4","ALIPLAYER_H5_VERSION":"mobile_v1","ENV":"prod","ROOT_URL":"https:\u002F\u002Fcms-mall.csdn.net\u002F","VUE_APP_API_URL_SERVER":"http:\u002F\u002Fcms-community-api.internal.csdn.net\u002F","VUE_APP_API_URL":"https:\u002F\u002Fcms-api.csdn.net\u002F","LOGIN_URL":"https:\u002F\u002Fpassport.csdn.net\u002Faccount\u002Flogin","VUE_APP_DOMAIN_SKILL":"https:\u002F\u002Fedu.csdn.net\u002F","VUE_APP_DOMAIN_PATH":"https:\u002F\u002Fedu.csdn.net\u002F","VUE_APP_COMMUNITY_API_URL":"https:\u002F\u002Fcommunity-api.csdn.net\u002F","VUE_APP_CCLOUD_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fcommunity-cloud\u002Fv1\u002F","VUE_APP_SKILL_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fskilltree\u002Fapi\u002F","VUE_APP_SEARCH_PLUGIN_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fsearchplugin\u002F","VUE_APP_COMMUNITY_ASK_API_URL":"https:\u002F\u002Fmp-ask.csdn.net\u002F","VUE_APP_ME_URL":"https:\u002F\u002Fme.csdn.net\u002F","VUE_APP_CCLOUD_RESUME":"https:\u002F\u002Fbizapi.csdn.net\u002Fjob-api\u002F","VUE_APP_CCLOUD_MAIN":"https:\u002F\u002Fwww.csdn.net\u002F","VUE_APP_CCLOUD_UC":"https:\u002F\u002Fwww.csdn.net\u002F","VUE_APP_CCLOUD_BZP_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002F","VUE_APP_CCLOUD_START_API_URL":"https:\u002F\u002Fmp-action.csdn.net\u002F","VUE_APP_PRACTIVE":"https:\u002F\u002Fbizapi.csdn.net\u002Fdaily-practice\u002F","VUE_APP_CCLOUD_HOSTPATH":"https:\u002F\u002Fbbs.csdn.net\u002F"},"queries":{"pageId":[],"domain":["ccloud.csdn.net\u002Fccloud\u002Fdetail1"],"id":["177807"],"deviceType":"pc","isSpider":"","hostname":["bbs.csdn.net"]},"basePath":"bbs.csdn.net\u002Fccloud\u002Ftopics\u002F177807","hrefUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F177807","active":0,"navBarFixed":false,"title":"用C写CGI怎么能输出header等这些信息?","isLive":false,"contentType":{"text":"text","picture":"picture","link":"link","video":"video","vote":"vote","live":"live","blog":"blog","long_text":"long_text","task_text":"task_text"},"liveUrl":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fiframe\u002F","spmExtra":{"id":127,"topicId":177807},"keywords":"","description":"以下内容是CSDN社区关于用C写CGI怎么能输出header等这些信息?相关内容,如果想了解更多关于VC\u002FMFC社区其他内容,请访问CSDN社区。"};</script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/runtime.3e5c09eb.js"></script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/chunk/common.7672e502.js"></script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/chunk/tpl/ccloud-detail/index.243a94d0.js"></script></BODY></HTML>部分<em>信息</em> <br>virtual void CHttpServer::WriteTitle( CHttpServerContext* pCtxt ) const;<em>输出</em><TITLE>部分信息

此外我们可以在命令处理函数中利用CHttpServerContext指针来得到CGI中的相关环境变量,在CHttpServerContext中有一个成员变量m_pECB为下面的结构指针。

typedef struct _EXTENSION_CONTROL_BLOCK {
DWORD cbSize; //IN 该结构长度
DWORD dwVersion //IN 版本
HCONN ConnID; //IN 连接上下文
DWORD dwHttpStatusCode; //OUT 状态码
CHAR lpszLogData[HSE_LOG_BUFFER_LEN]; //OUT
LPSTR lpszMethod; //IN 环境变量REQUEST_METHOD
LPSTR lpszQueryString; //IN QUERY_STRING
LPSTR lpszPathInfo; //IN PATH_INFO
LPSTR lpszPathTranslated; //IN PATH_TRANSLATED
DWORD cbTotalBytes; //IN CONTENT_LENGTH
DWORD cbAvailable; //IN
LPBYTE lpbData; //IN
LPSTR lpszContentType; //IN CONTENT_TYPE
...其他信息在此忽略
} EXTENSION_CONTROL_BLOCK, *LPEXTENSION_CONTROL_BLOCK;
……
……4.1 为什么需要多进程/线程



Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定CGI漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说。。。 root@91ri.org:~# cd /pentest/web/nikto/ root@91ri.org:/pentest/web/nikto# ls docs nikto.conf nikto.pl plugins templates root@91ri.org:/pentest/web/nikto# ./nikto.pl -h Option host requires an argument -config+ Use this config file -Cgidirs+ scan these CGI dirs: ‘none’, ‘all’, or values like “/cgi/ /cgi-a/” -dbcheck check database and other key files for syntax errors -Display+ Turn on/off display outputs -evasion+ ids evasion technique -Format+ save file (-o) format -host+ target host -Help Extended help information -id+ Host authentication to use, format is id:pass or id:pass:realm -list-plugins List all available plugins -mutate+ Guess additional file names -mutate-options+ Provide extra information for mutations -output+ Write output to this file -nocache Disables the URI cache -nossl Disables using SSL -no404 Disables 404 checks -port+ Port to use (default 80) -Plugins+ List of plugins to run (default: ALL) -root+ Prepend root value to all requests, format is /directory -ssl Force ssl mode on port -Single Single request mode -timeout+ Timeout (default 2 seconds) -Tuning+ Scan tuning -update Update databases and plugins from CIRT.net -vhost+ Virtual host (for Host header) -Version Print plugin and database versions + requires a value Note: This is the short help output. Use -H for full help. 升级插件 root@91ri.org:/pentest/web/nikto# ./nikto.pl -update -h 指定扫描的目标 –p 端口 root@91ri.org:/pentest/web/nikto# ./nikto.pl -h www.91ri.org -p 80 -C 指定CGI目录 –all表示猜解CGI目录 root@91ri.org:/pentest/web/nikto# ./nikto.pl -h www.91ri.org -C all -T选项包含很多小选项 –T 9表示扫描SQL注入漏洞 root@91ri.org:/pentest/web/nikto# ./nikto.pl -h www.91ri.org -T 9 -D指定输出显示 2显示cookies root@91ri.org:/pentest/web/nikto# ./nikto.pl -h www.91ri.org -D 2 -T选项包含的小选项解释: 0 检查文件上传页面 1 检查web日志 2 检查错误配置或默认文件 3检查信息泄露问题 4 检查XSS/Script/HTML问题 5 从根目录检查是否存在可访问的文件 6 检查拒绝服务问题 7 从任意文件检索是否存在可访问文件 8 检查是否存在系统命令执行漏洞 9 检查SQL注入漏洞 a 检查认证绕过问题 b 识别安装的软件版本 c 检查源代码泄露问题 x 反向链接选项

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧