从POST请求

时间:2015-04-30 20:31:24

标签: javascript php python html http-post

我正在使用一些javascript向我的网络服务器上的/var/www/cgi-bin中的python脚本发送一个帖子请求,然后在这个python脚本中我想将图像文件保存到我的html文件夹中,以便以后可以被检索。

位于/var/www/html,但现在我知道如何执行此操作的唯一方法是将python脚本设置为chmod 777,我不想这样做。

那么我怎样才能保存我使用javascript从网页上获取的文件,然后通过POST通过javascript发送到服务器?

目前,当我这样做时,我收到一条错误消息,指出python没有保存权限,因为它的chmod是755

我这里是python代码,我知道它的工作原理错误就是说我没有权限写这个文件

fh = open("/var/www/html/logo.png", "wb")
fh.write(photo.decode('base64'))
fh.close()

2 个答案:

答案 0 :(得分:10)

如果您不想将该目录的权限更改为777,则可以将目录的所有者更改为您的HTTP服务器用户,然后您的网络应用程序的用户就可以将文件写入该目录,因为它们具有该目录的rwx - 7权限。

要做到这一点,通过(因为您使用Apache作为您的Web服务器,请记住以root身份登录):

chown -R apache:apache /var/www/cgi-bin/

请注意,只有用户apacherootrwx到该目录,其他人rx

这个命令意味着:

chown - change the owner of the directory
-R    - operate on files and directories recursively

apache:apache - apache user, apache group
/var/www/cgi-bin/ - the directory

尝试man chown命令查看chown的手册页并了解详情here's a online version

如果您需要更改它,我认为该目录的默认用户是root。所以登录为root,然后运行命令:

chown -R root:root /var/www/cgi-bin/
  

我们解决了问题in chat room

答案 1 :(得分:0)

错误消息直接指示运行python服务器的角色/使用没有对该文件夹的写访问权。您需要分配角色或Web服务器用户。确保只提供写访问权限而不是写入+执行权限。