问题:我想只允许我网站的表格;<form action="link"
提交我的表单后导航到 www.domain.com/link。但要拒绝直接访问 URL www.domain.com/link。
尝试:到目前为止,我知道如何使用 mod_rewrite 禁止访问:
Options -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_URI} link
RewriteRule ^.*/?link/? - [F]
但我不知道如何允许表单提交访问该页面。如果通过这样做提交表单,我探索了使用带有秘密值的输入标签以允许访问的可能性
Options -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_URI} link
RewriteCond %{QUERY_STRING} !secret_key
RewriteRule ^.*/?link/? - [F]
替代方案:但用户只要想直接访问页面,就可以将该键复制并粘贴为查询字符串。即使我使用 mod_rewrite 隐藏了查询字符串,更聪明的用户仍然可以通过检查输入标签来访问页面。保护这样的页面的可靠方法是什么?不污染查询字符串。