繁体   English   中英

使用PHP身份验证的HTTP身份验证

[英]HTTP authentication using PHP authentication

我正在为我的站点创建一个成员区域,并且它已经在运行。 我使用mysql和php对成员进行身份验证,这确实很好。

但是现在出现了问题,我想为成员提供将文件上传到系统的可能性,并且这些文件应仅对登录成员可用。

我知道我可以将这些文件存储到数据库甚至文件系统中,并通过php提供服务,但是当成员上传较大的文件时,这对于服务器将变得非常沉重。 这些文件可能甚至20MB甚至更大。

我想让apache提供文件,但是只需要找到一种自动执行http身份验证的方法,这样用户就不需要登录两次。 我想可以在一个用户名和密码后面进行此HTTP身份验证,例如,当用户登录php和mysql身份验证时,透明地同时使用javascript等,这样也可以进行http身份验证,每个成员都可以具有相同凭据的http身份验证。 当然,我不想将这些http auth凭证存储在javascript文件中,但是诸如解决方案之类的ajax也许可以解决问题。 我只是不确定如何执行此操作。

似乎您将身份验证(您提供某种登录方式)与HTTP身份验证(您专门使用HTTP协议进行身份验证,浏览器向用户显示弹出窗口)混淆了。

您可能希望使用前者,以便可以设置登录页面的样式。 在这种情况下,您将必须使用PHP或某些脚本语言来检查用户是否已登录。fpassthrureadfile对于某些网站可能是很好的解决方案;请参阅。 对于此类工作,它们是快速且经过优化的。

如果您确实想在Web浏览器中而不是在PHP中执行文件处理工作,则一种解决方案是创建唯一的,短暂的文件名。 例如,您可以使用link在PHP中创建到文件的硬链接,然后将用户重定向到临时文件名。 将硬链接存储在数据库中,不久后将其删除。

检出使用PHP / Apache限制对静态文件(html,css,img等)的访问 我认为那里采取的方法与您的问题非常相似。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM