我将用户(用于新闻文章)中的文件上传到基于linux的网站上的特定文件夹。我已根据我在此处看到的其他问题将目录设置为755 ...并且删除执行权限会导致未提供服务的图像(403被抛出)。
但是......我真的不明白这里的安全含义。如果我将文件夹保留为755,这是否意味着用户可以通过我的上传表单上传脚本,然后执行它?
答案 0 :(得分:1)
1 = execute / access directory
2 = write
4 = read
初始值7表示所有者可以执行,读取和写入。 5表示执行和读取的1 + 4。
中间位置的5表示组成员可以读取结束执行,而在最后一个位置表示每个人都可以读取和执行。
如果运行Web服务器的用户拥有设置为755的文件和目录,则如果您在脚本中提供此类功能,则用户可以上载和读取该目录。
用户上传的文件不应放在公众可以访问的目录中,然后才能确定它们是否安全。 PHP最初将它们放在/tmp/
中。
.htaccess
- 文件。
答案 1 :(得分:1)
对于Linux(或我知道的任何其他操作系统)上的图像和其他文件类型没有单独的权限。任何图像都需要“执行”权限才能被查看。
您必须限制用户仅在脚本端上传图像(例如,PHP上传程序脚本必须在上传前检查文件扩展名)。我不能推荐任何确切的事情,因为您没有提到用户如何将图像上传到服务器。无论如何必须先检查它,然后上传权限对你没有帮助。
答案 2 :(得分:1)
chmod命令分别为Owner / Group / World设置权限。 r等于4,w 2和执行的x是1.为世界设置5表示用户能够读取和执行。如果您希望使用户权限可写,则应设置最后一位数字7。