PHP include doc未拾取$\u GET变量
我读到的所有东西都告诉我这应该行得通 第1页是PHP include doc未拾取$\u GET变量,php,mysql,include,Php,Mysql,Include,我读到的所有东西都告诉我这应该行得通 第1页是 <?php $state = $_GET['state']; $brand = $_GET['brand']; include ("my_path/state_brand_page_01.php"); ?> 第2页是 <? //get all dealers for this brand and state session_start(); include ('../../lib/db.php'); //=======
<?php
$state = $_GET['state'];
$brand = $_GET['brand'];
include ("my_path/state_brand_page_01.php");
?>
第2页是
<?
//get all dealers for this brand and state
session_start();
include ('../../lib/db.php');
//=======================Start Local Insert
//This stops SQL Injection in POST vars
foreach ($_POST as $key => $value) {
$_POST[$key] = mysql_real_escape_string($value);
}
//This stops SQL Injection in GET vars
foreach ($_GET as $key => $value) {
$_GET[$key] = mysql_real_escape_string($value);
}
//get dealer
echo $state;
echo $_GET['state']; // NOTHING SHOWING
$dquery = mysql_query("SELECT * FROM dealer WHERE state='$_GET[state]' AND brand='$_GET[brand]' ORDER BY company DESC") or die(mysql_error());
?>
如果查询字符串包含state=whatever,则$state和$\u GET['state']都应该可用
当我看到一个问题是,如果您通过URL而不是文件路径包括,即:
include('http://www.test.com/file.php');
它不会知道你的值,因为它在被包含之前就被解析了。(出于安全原因,也被认为是不好的做法。)如果查询字符串包含state=where,则$state和$u GET['state']都应该可用
当我看到一个问题是,如果您通过URL而不是文件路径包括,即:
include('http://www.test.com/file.php');
它不会知道你的值,因为它在被包含之前就被解析了。(出于安全原因也被认为是不好的做法。)可能您的路径被解释为URL(如www.foo.com/state\u brand\u page\u 01.php),因此include()使用HTTP方法获取它?那会导致美元丢失
指
下面的示例#2.可能您的路径被解释为URL(如www.foo.com/state_brand_page_01.php),因此include()使用HTTP方法获取它?那会导致美元丢失
指
下面的示例#2.尝试将其放入会话
$_SESSION['state'] = $_GET['state'];
$\会话['brand']=$\获取['brand'] 试着把它放到会话中
$_SESSION['state'] = $_GET['state'];
$\会话['brand']=$\获取['brand'] 如果我这样做,包括(“我的路径/状态品牌页面”\u 01.php?状态=$state&brand=$brand”);它可以工作,但我认为我没有必要这么做;在第二页,告诉我发生了什么这是一次阻止SQL注入的高尚尝试,但总有一天你会因为忘记逃避一个变量而失败,很可能会严重伤害你自己、你的业务或你的事业。是一个空数组,url看起来像。。http:……德克萨斯州/cadillac/?brand=cadillac&state=texastanks-tadman。。我还不完全了解安全问题。我会看看你提供的文件。你能告诉我你将如何绕过这个方法吗?如果我这样做,包括(“我的路径/状态品牌页面”\u 01.php?状态=$state&brand=$brand”);它可以工作,但我认为我没有必要这么做;在第二页,告诉我发生了什么这是一次阻止SQL注入的高尚尝试,但总有一天你会因为忘记逃避一个变量而失败,很可能会严重伤害你自己、你的业务或你的事业。是一个空数组,url看起来像。。http:……德克萨斯州/cadillac/?brand=cadillac&state=texastanks-tadman。。我还不完全了解安全问题。我会看看你提供的文件。你能告诉我你怎么能绕过这个方法吗?当你展示他的包含路径是URL时,我真的笑了出来。当你展示他的包含路径是URL时,我真的笑了出来。你得到了它。。。我正在使用完整的url。当我在include中使用路径时,即(../../lib/state_brand_01.php),它会工作!你明白了。。。我正在使用完整的url。当我在include中使用路径时,即(../../lib/state_brand_01.php),它会工作!