首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

lighttpd: cgi-bin中的简单python代码可以工作,但表单不会被处理

lighttpd是一个轻量级的Web服务器,它支持CGI(公共网关接口)和FastCGI(快速公共网关接口)等方式来处理动态内容。在lighttpd中,cgi-bin目录通常用于存放CGI脚本。

对于你提到的情况,简单的Python代码可以在lighttpd的cgi-bin目录中正常工作,但表单数据无法被处理,可能是由于缺少相应的配置或代码问题导致的。

要解决这个问题,你可以按照以下步骤进行排查和修复:

  1. 确保lighttpd已正确配置CGI支持。在lighttpd的配置文件中,通常会有类似于以下的配置项:
代码语言:txt
复制
server.modules += ("mod_cgi")
cgi.assign = (".py" => "/usr/bin/python")

这些配置项启用了CGI模块,并将.py文件关联到Python解释器。确保这些配置项存在且正确。

  1. 检查你的Python代码是否正确处理了表单数据。确保你的代码使用正确的方式来获取和处理表单数据。你可以使用Python的CGI模块或其他Web框架(如Flask、Django等)来简化表单处理过程。
  2. 检查表单的提交方式和目标URL是否正确。确保表单使用POST方法提交,并将数据发送到正确的URL。你可以在HTML表单中使用<form>标签来指定提交方式和目标URL。
  3. 检查表单字段的名称和Python代码中的变量名是否匹配。确保表单字段的名称与Python代码中的变量名一致,以便正确获取和处理表单数据。

如果以上步骤都没有解决问题,你可以进一步检查lighttpd的日志文件,查看是否有相关的错误或警告信息。根据日志中的提示,你可以进一步调试和修复问题。

关于腾讯云的相关产品,腾讯云提供了云服务器(CVM)和轻量应用服务器(Lighthouse)等产品,可以用于部署和运行lighttpd及相关应用。你可以访问腾讯云官网了解更多关于这些产品的信息:腾讯云产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ngnix and fastcgi and cicstg 开发环境搭建

一个搭建HTTP Server项目需求,虽然方案没有最终确定,使用Ngnix做代理转发,后端使用使用开发语言无关CGI应用进行业务逻辑处理,初步技术是可行。...使用C语言开发WebServer 应用或许真不是什么好主意,那这样想啊,我们还用CICS这么古老东西呢?–这里又忍不住想吐槽cics了..这个架构毒瘤!…....下载安装spawn-fcgi,可以从Github Lighthtpd项目中下载,也可以直接从lighttpd.net这里下载。同样可以编译出Spawn-fcgi这个可执行程序。...[这玩意基本上支持32系统,安装时也会各种水土不服,你可能需要32位jre..]安装开发可能需要32位支持,比如: libXp.i686 glibc-devel.i686 –慢慢享受其中酸爽吧...顺利的话应该可以代码测试一下了。以下代码片段是接受从浏览器提交表单然后提交CTG请求,编写代码编译。

1.1K20

PHP超时处理全面总结

概述 在PHP开发工作里非常多使用到超时处理到超时场合,我说几个场景: 异步获取数据如果某个后端数据源获取不成功则跳过,不影响整个页面展现 为了保证Web服务器不会因为当个页面处理性能差而导致无法访问其他页面...,上面超时针对不同工作模式,但是因为超时带来问题是非常多。...是会生效,但是如果是php-fpm模式运行时生效。...,比如你单独访问一个后端Socket模块,Socket模块不属于我们上面描述任何一种时候,它协议也是私有的,那么这个时候可能需要自己去实现一些超时处理策略,这个时候就需要一些处理代码了。...PHP超时实现 一、初级:最简单超时实现 (秒级超时) 思路很简单:链接一个后端,然后设置为非阻塞模式,如果没有连接上就一直循环,判断当前时间和超时时间之间差异。

2.6K40

Python socket 实现一个简单http服务器(post 与get 区别)、CGI、WSGI、MVC

一、python socket 实现简单http服务器 废话不多说,前面实现过使用linux c 或者python 充当客户端来获取http 响应,也利用muduo库实现过一个简易http服务器,现在来实现一个...对于POST 方法请求,它URL需要指向一个CGI脚本(也就是在cgi-bin或者ht-bin文件)。...WSGI 接口定义非常简单,它只要求Web 开发者实现一个函数,就可以响应HTTP请求。来看一个最简单Web版本“Hello, web!”...如上方式需要对每一个不同请求(参数)都实现一个函数来响应,作为真正web 后台实现来说肯定是不适用,我们需要将同个目录请求 统一处理。...MVC Model在哪?Model是用来传给View ,这样View 在替换变量时候,就可以从Model 取出相应数据。

9.2K00

Python进阶】04、CGI编程

接着用户按一下“发布或提交”(到目前为止工作都在客户端),浏览器把这些信息传送到服务器CGI目录下特定CGI程序,于是CGI程序在服务器上按照预定方法进行处理。...2、功能     绝大多数CGI程序被用来解释处理来自表单输入信息,并在服务器产生相应处理,或将相应信息反馈给浏览器。CGI程序使网页具有交互功能。...这个目录被称为CGI目录,并按照惯例,它被命名为/var/www/cgi-bin目录。 CGI文件扩展名为.cgi,python可以使用.py扩展名。...6、简单表单实例:GET方法         以下是一个通过HTML表单使用GET方法向服务器发送两个数据,提交服务器脚本同样是cgi_get.py文件,cgi_get.html 代码如下: [root...以下同样是使用cgi_get.py ,它也可以处理浏览器提交POST表单数据: 以下为表单通过POST方法(method="post")向服务器脚本 cgi_get.py 提交数据: [root@Node3

1.1K10

TOTOLINK NR1800X 系列 CVE 分析

可以看到处理http post请求是cstecgi.cgi,传入了username和password,对应action是login,我们到相关位置去查看对应代码。...可以看到,这里主要就是用sprinf初始一段语句,我们需要注意是其中topicurl,这个后面跟就是对应接口字符串,所以我们要去寻找loginAuth对应处理函数。...这里再说一下,cstecgi.cgi处理不同函数接口就是通过topicurl值实现,也就是后面goto LABEL_16代码部分。...这个http get请求处理在web服务进程lighttpd,也就是我们quem启动那个进程,我们通过authCode字符串,能交叉引用到其对应函数为Form_Login。...OpModeCfg 命令注入 第一个是 /cgi-bin/cstecgi.cgi OpModeCfg 函数命令注入漏洞,其漏洞原因是传入hostName参数,可执行到doSystem函数,通过简单构造即可导致命令执行

1.1K20

PHP运行模式

一个额外好处是,持续数据库连接(Persistent database connection)可以工作。...B、该两者还可以分出一个好坏来,spawn-fcgi由于是lighttpd一部分,因此安装了lighttpd一般就会使用spawn-fcgi对php支持,但是目前有用户说ligttpdspwan-fcgi...另一个:首先nginx不像lighttpd本身含带了fastcgi(spawn-fcgi),因此它完全是轻量级,必须借助第三方FastCGI处理器才可以对PHP进行解析,因此其实这样看来nginx是非常灵活...,它可以和任何第三方提供解析处理器实现连接从而实现对PHP解析(在nginx.conf很容易设置)。...C、由于spawn-fcgi缺陷,现在出现了新第三方(目前还是,听说正在努力不久将来加入到PHP core)PHPFastCGI处理器,叫做PHP-FPM(具体可以google)。

1.8K30

PHP运行模式

一个额外好处是,持续数据库连接(Persistent database connection)可以工作。...除了这种启动时加载方式,Apache模块可以在运行时候动态装载,这意味着对服务器可以进行功能扩展而不需要重新对源代码进行编译,甚至根本不需要停止服务器。...另一个:首先nginx不像lighttpd本身含带了fastcgi(spawn-fcgi),因此它完全是轻量级,必须借助第三方FastCGI处理器才可以对PHP进行解析,因此其实这样看来nginx是非常灵活...,它可以和任何第三方提供解析处理器实现连接从而实现对PHP解析(在nginx.conf很容易设置)。...C、由于spawn-fcgi缺陷,现在出现了新第三方(目前还是,听说正在努力不久将来加入到PHP core)PHPFastCGI处理器,叫做PHP-FPM(具体可以google)。

2.2K21

GoAhead环境变量注入复现踩坑记

这个老漏洞原理也很简单,就是GoAhead在处理CGI请求时,将用户传入参数作为环境变量了。这样,通过LD_PRELOAD就可以劫持CGI进程动态链接库,进而执行任意代码。...因为在CGIPOST Body就是标准输入,所以正好可以将劫持so文件放在Body中发送,完成利用。 但这次我们需要在Body中发送multipart表单,自然不能再用这种方法。...和PHP一样,GoAhead在遇到上传表单时候,会先将这个上传文件保存在一个临时目录下,待脚本程序处理完成后删掉这个临时文件。...这样,GoAhead读取数据包时候能够完全读取到payload.so内容,实际这个文件并没有上传完毕 第二种方法不需要用到线程或竞争,一个数据包可以搞定,甚至不需要写代码,所以我通过第二种方法来利用...设置为超过16384值,需要比payload.so文件大小要大个500字节左右,我这里设置为15000 发送这个数据包,就可以成功劫持到LD_PRELOAD: 这里原理其实就是,pyaload.so

43120

Nginx从听说到学会(1.简介和对比)

由于: Nginx使用基于事件驱动架构,使得其可以支持数以百万级别的TCP连接 高度模块化和自由软件许可证是的第三方模块层出穷(这是个开源时代啊~) Nginx是一个跨平台服务器,可以运行在Linux...lighttpd是众多OpenSource轻量级web server较为优秀一个。..., 完全可以支持任何语言写处理程序php,Java,Python Apache apache是世界排名第一web服务器, 根据netcraft所作调查,世界上百分之五十以上web服务器在使用...当新代码被提交给apache group时, 该团体审核它具体内容, 进行测试 如果认为满意, 该代码会被集成到apache主要发行版。...如果由FastCGI或其它代理服务器处理单页存在多个SSI,则这项处理可以并行运行,而不需要相互等待。 Nginx专为性能优化而开发,性能是其最重要考量,实现上非常注重效率。

42930

C语言CGI编程入门(一)

比如我们可以编写一个用户注册页面,用户将其输入邮箱、用户名、密码输入并点击注册,此时浏览器就将用户输入内容发送给了我们后台CGI程序,我们CGI程序接受到这些信息,可以对其进行处理。...再就可以编译了。F7编译后,我们来到cgi-bin/test/,就可以看到我们编译生成好"cgi_test.cgi"文件。    ...3.怎么写一个CGI程序     刚才写程序工作是我来完成,虽说那两个语句很简单,但有的同学会问为什么要这么写。    ...我这里只简单地提一下,我们新建一个html网页,在其中添加一个表单,其中有一个文本框和一个按钮,大致代码如下: <form id="form" name="form" method="post" action...实际应用时候应该先判断szPost是否有信息再打印。 ----     今天写够多了。大致C/C++处理CGI就是这样子,你可以发挥自己想象,写出一些具有使用价值程序。

3.7K40

核心编程笔记(20.W

代表了在一个web服务器和能够处理用户表单,生成并返回动态HTML页应用 程序间交互 20.4.2 CGI应用程序 当一个CGI脚本开始执行时,它需要检索用户-支持表单,这些数据必须要从web 客户端才可以获得...# python -m CGIHTTPServer 2.在启动这个服务器目录下建立一个cgi-bin,并将Python CGI脚本放到该目录 # mkdir cgi-bin # cd cgi-bin...站点 我们最后一个例子将会完成这个循环 用户在表单输入他/她信息,然后我们处理这些数据,并输出一个结果页面 现在我们将会在结果页面上加个链接允许返回到表单页面,但是我们返回是含 有用户输入信息页面而不是一个空白页面...20.7.2 多值字段 20.7.3 cookie 20.7.4 使用高级CGI 例,这个脚本有一个处理所有事情主函数,AdvCGI,它有方法显示表单,错误或结 果页面,同事也可以从客户端(Web浏览器...建立Web服务器 例,这个简单Web服务器可以读取GET请求,获取Web页面并将其返回给客户端,它 通过使用BaseHTTPServerBaseHTTPRequestHandler处理器执行do_GET

42910

CGI & FastCGI

cgi是什么   最早Web服务器简单地响应浏览器发来HTTP请求,并将存储在服务器上HTML文件返回给浏览器,也就是静态html。事物总是 断发展,网站也越来越复杂,所以出现动态技术。...这个协议可以用vb,c,php,python 来实现。cgi只是接口协议,根本不是什么语言。...FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server)下一个连接。 在CGI模式,php-cgi在此便退出了。...PHP-FPM与Spawn-FCGI   Spawn-FCGI是一个通用FastCGI管理服务器,它是lighttpd一部份,很多人都用LighttpdSpawn-FCGI进行FastCGI模式下管理工作...换句话说,模块可以在Apache任何一个处理阶段挂接(Hook)上自己处理函数,从而参与Apache请求处理过程。

1.6K30

C++ CGIweb编程

POST 从客户端向服务器发送数据,一般用于发送表单填写数据等情况下 HEAD 和GET基本相同,不过它只返回HTTP消息头(message header)内容,而不是数据内容。...浏览器应该继续显示原来文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用。 205 Reset Content 没有新文档。浏览器应该重置它所显示内容。...407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。 408 Request Timeout 请求超出了服务器等待时间。...如果您想指定其他目录来运行 CGI 脚本,您可以在 httpd.conf 文件修改以下部分:   AllowOverride None...2.2.3 实现GET方法 下面是一个简单 URL,使用 GET 方法传递两个值给 hello_get.py 程序。 /cgi-bin/cpp_get.cgi?

1.2K20

Apache、nginx 、lighttpd性能比较

lighttpd是众多OpenSource轻量级web server较为优秀一个。...准许任何人修改隐错, 提供新特征和将它移植到新平台上, 以及其它工作....当新代码被提交给apache group时, 该团体审核它具体内容, 进行测试, 如果认为满意, 该代码会被集成到apache主要发行版....如果由FastCGI或其它代理服务器处理单页存在多个SSI,则这项处理可以并行运行,而不需要相互等待。 5) Nginx专为性能优化而开发,性能是其最重要考量,实现上非常注重效率。...这里要注意一点,epoll(freebsd 上是 kqueue )网络IO 模型是nginx 处理性能高根本理由,并不是所有的情况下都是epoll 大获全胜,如果本身提供静态服务就只有寥寥几个文件

2.6K10

Nginx运行FastCGI程序(ngx_http_fastcgi_module模块、fcgi库、spwan-fcgi进程管理器)

CGI 程序运行在独立进程,并对每 个 Web 请求建立一个进程,这种方法非常容易实现,效率很差,难以扩展。面对大量请 求,进程大量建立和消亡使操作系统性能大大下降。...Content-types, 可以有 HTTP Accept header 定义 HTTP_USER_AGENT 递交表单浏览器名称、版本和其他平台性附加信息 HTTP_REFERER...这样就需要一个 FastCGI 进程管理器,管理我们编写 FastCGI 程序 spawn-fcgi是一个通用 FastCGI 进程管理器,简单小巧,原先是属于 lighttpd 一部分, 后来由于使用比较广泛...:如果请求Fastcgi_index URI是以/echo结束,该指令设置文件会被附加到URI后面并保存在变量$fastcig_script_name include指令:我们配置文件使用到了...指令: 如果请求Fastcgi_index URI是以/结束, 该指令设置文件会被附加到URI后面并保存在变量$fastcig_script_name fastcgi_param指令:设置传递到

2.4K20
领券