如何优化和改进获得6个可能的URL参数

时间:2015-06-17 11:03:27

标签: php regex url-rewriting get url-parameters

我正在编写一个简单的工作板,我有URL过滤和工作我想要的方式,一切正常 - 我只是想知道我是否可以改进它,如果有任何安全问题,如果它非常低效。

请参阅以下网址部分 - foo.com/in/london/at/google/do/design

我为每个部分分配一个变量,并计算出位置,公司和类别。

其他有用的用例:

  • 切换订单 - foo.com/at/google/in/london/do/design
  • 参数较少 - foo.com/in/london/at/google

我找出所有这些变量的代码是:

// Get the different possible page parameters
// Only allow alphanumeric, dashes, and commas
$regex = "[^a-zA-Z0-9,-]";
$a = isset($_GET["a"]) ? preg_replace("/".$regex."/", "", $_GET["a"]) : "";
$aa = isset($_GET["aa"]) ? preg_replace("/".$regex."/", "", $_GET["aa"]) : "";
$b = isset($_GET["b"]) ? preg_replace("/".$regex."/", "", $_GET["b"]) : "";
$bb = isset($_GET["bb"]) ? preg_replace("/".$regex."/", "", $_GET["bb"]) : "";
$c = isset($_GET["c"]) ? preg_replace("/".$regex."/", "", $_GET["c"]) : "";
$cc = isset($_GET["cc"]) ? preg_replace("/".$regex."/", "", $_GET["cc"]) : "";

if ($a == "in" && $aa != null) { $searchLocation = $aa; }
if ($b == "in" && $bb != null) { $searchLocation = $bb; }
if ($c == "in" && $cc != null) { $searchLocation = $cc; }

if ($a == "at" && $aa != null) { $searchCompany = $aa; }
if ($b == "at" && $bb != null) { $searchCompany = $bb; }
if ($c == "at" && $cc != null) { $searchCompany = $cc; }

if ($a == "do" && $aa != null) { $searchCategory = $aa; }
if ($b == "do" && $bb != null) { $searchCategory = $bb; }
if ($c == "do" && $cc != null) { $searchCategory = $cc; }

if ($a == "missinghtml") { $errorUrl = true; }

我正在考虑这种想法,必须有更好的做法,这部分是否安全?

对此的任何想法都非常感谢。就像我说它有效,但它会更好吗?谢谢:))

0 个答案:

没有答案