我有几个PHP脚本具有以下结构:
$count = $_GET['count'];
$sort = $_GET['sort'];
$car = $_GET['car'];
$driver = $_GET['driver'];
...
$SQL = "SELECT car, truck FROM autos WHERE car='$car' AND truck='truck'";
...
Run Code Online (Sandbox Code Playgroud)
另一个脚本将是相同的脚本,而不是汽车,卡车或表autos我将使用另一个表,不同的变量和可能或多或少的变量.有没有一种方法或一个好的设计模式可供使用,这样我只需编写一个这个脚本的实例副本15或左右我可能不得不写.
当与不太完美的代码结合使用时,这会产生安全隐患,但我认为这对您来说不是问题。
extract($_GET, EXTR_SKIP);
echo $car;
Run Code Online (Sandbox Code Playgroud)
使用提取的好处是您可以指定发生名称冲突时的行为。不过你可以考虑一下EXTR_PREFIX_ALL旗帜。
或者,只需创建一个白名单,这在我看来是最好的。
$allowed = array('car', 'count');
$vars = array_intersect_key($_GET, array_flip($allowed));
extract($vars);
Run Code Online (Sandbox Code Playgroud)