Regex 禁止外部域访问

Regex 禁止外部域访问,regex,apache,.htaccess,http,mod-rewrite,Regex,Apache,.htaccess,Http,Mod Rewrite,问题:我只允许我的网站的表单这在mod_重写中是不可靠的 只需检查表单值是否正确填写,无论如何都必须这样做。如果未填充值,请使用重定向 header('Location: elsewhere.html'); 或者只返回另一个视图。是否可能在$\u会话中隐藏查询字符串密钥?我的下一个问题是如何将会话变量作为查询字符串传递。。。。你为什么要为这个烦恼?无论您做什么,智能用户都可以伪造提交该表单的请求。这就是HTTP的本质——好的请求与坏的请求几乎无法区分。特别是像“只从这个形式”这样的条件。我能想

问题:我只允许我的网站的表单<代码>这在mod_重写中是不可靠的

只需检查表单值是否正确填写,无论如何都必须这样做。如果未填充值,请使用重定向

header('Location: elsewhere.html');

或者只返回另一个视图。

是否可能在$\u会话中隐藏查询字符串密钥?我的下一个问题是如何将会话变量作为查询字符串传递。。。。你为什么要为这个烦恼?无论您做什么,智能用户都可以伪造提交该表单的请求。这就是HTTP的本质——好的请求与坏的请求几乎无法区分。特别是像“只从这个形式”这样的条件。我能想到的最接近的方法是在表单中添加一个随机生成的
,并对照一些存储的$\u会话变量进行检查——但是多个窗口呢?然后呢?是否维护具有过期日期的有效密钥数组?我认为你最好假设每个请求都被污染了。@SofianeM你有什么问题?为什么您认为,请求必须来自此表单?表单操作attr将导致另一个页面。我想确保用户在没有填写第一张表单的情况下无法访问此表单页面。我知道使用$u会话可以轻松完成此操作。但是,即使我在第二个表单页面上使用会话变量检查,如果它不是来自第一个表单,那么重定向的唯一方法就是回显for redirect。我想完全重写url以重定向到其他地方。
Options -Multiviews
RewriteEngine on

RewriteCond %{REQUEST_URI} link
RewriteCond %{QUERY_STRING} !secret_key
RewriteRule ^.*/?link/? - [F]
header('Location: elsewhere.html');