小编rlo*_*nzo的帖子

在文件系统中存储上传文件的最佳实践

有关存储用户上传文件的最佳做法是什么?

目前,我在以下方法中存储文件:

<web_app_root>/course_material/<term_id>/<course_id>/<file_id>
Run Code Online (Sandbox Code Playgroud)

如您所见,文件是根据数据库中的键存储的.我认为这更安全,因为我不必过滤文件名并将不安全的字符转换为安全字符.

但是,我正在开始一个新项目,并想知道将Web应用程序的文件系统与数据库紧密联系起来是不是一个坏主意.我应该以更易读的格式存储文件吗?

<web_app_root>/course_material/<term_name_underscored>/<course_name_underscored>/<file_name_underscored>
Run Code Online (Sandbox Code Playgroud)

如果是这样,过滤掉文件名以保证安全的最佳方法是什么?或者我目前正在做的最佳做法是什么?

filesystems uploading

5
推荐指数
1
解决办法
834
查看次数

重定向URL(具有特定的GET参数)

我有这个旧的调查链接已经被另一个链接取代,所以基本上我希望任何人都试图访问该URL:

http://mywebsite.com/survey/view_survey.php?surveyID=1

要重定向到:

http://mywebsite.com/survey/view_survey.php?surveyID=2

我可以在Apache配置或htaccess文件中执行此操作吗?

我在httpd.conf文件的Redirect部分尝试了以下规则:

Redirect 301 /survey/view_survey.php?surveyID=1 http://mywebsite.com/survey/view_survey.php?surveyID=2
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我怀疑在处理规则时不使用GET参数.

我唯一的选择是破解我的代码以重定向特定的surveyID吗?


根据使用重写规则的建议,我在.htaccess文件中尝试了以下内容:

RewriteRule ^survey/view_survey\.php\?surveyID=1525$ /survey/view_survey.php?sur
veyID=1607
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我确实已经启动并运行了重写引擎,因为我当前正在运行另一个重写规则.

apache redirect http

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

apache ×1

filesystems ×1

http ×1

redirect ×1

uploading ×1