절대 MySQL 쿼리 일치를 수행하는 방법. 사용자가 domain.ltd/ngv와 충돌하는 짧은 링크 domain.ltd/NGV를 통해 URL/파일을 호출하려고하면/NGV 파일이 아닌/NGV 파일을 가져 오도록 강제합니다.mysql_query에서 exect match를 수행하는 방법은 무엇입니까?
여기에 충돌이 발생합니다. MySQL의 선택을 수행하는 코드는 또한 htaccess로 비트는 실제 짧은 링크를 생성하기 위해 여기에 코드의 마지막 비트입니다
$tag = $_REQUEST['rid'];
$q = mysql_query("SELECT * FROM `media` WHERE `qp_tag` = '".mysql_escape_string($tag)."' LIMIT 1");
$r = mysql_fetch_row($q);
if(!empty($r)) {
$f = stripslashes($r['file']);
$t = stripslashes($r['type']);
$c = file_get_contents($f);
$api_html = <<<API_HTML_VIEW
$c
API_HTML_VIEW;
echo $api_html;
} else {
$api_html = <<<API_HTML_VIEW
We are sorry but we cannot find requested resource :(
API_HTML_VIEW;
echo $api_html;
}
htaccess로 코드 비트
RewriteRule ^([a-zA-Z0-9-]+)/?$ api.php?rid=$1 [L,QSA]
를 제공하고되는도 할 수있다 문제는 내가 p에서 물건을 다시 걷어 올지 모르겠다.
function qp_tag() {
$file_tag = $_FILES['file']['name'];
$file_uni = uniqid();
$short = strtolower(substr(base64_encode(crc32($file_tag)), 0, 3));
return $short;
}
편집 순간에 분개 : 시스템이 작동 이제 유일한 문제는 그것이 내가 제대로 이해하면의 경우 파일
$f = $r['file'];
$t = $r['type'];
$s = $r['size'];
$n = $r['name'];
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: ".$t."");
header("Content-Disposition:attachment;filename=".$n."");
header("Content-Length: ".$s);
ob_clean();
flush();
$fp = fopen($f, "r");
while (!feof($fp))
{
echo fread($fp, 65536);
flush(); // this is essential for large downloads
}
fclose($fp);
내가 올바른 파일/URL을 mysql에서 가져 오도록 url 요청이 qp_tag 아래의 파일/url에 대한 것임을 알리는 절대적인 수학 연산을 원한다 : OGG는 OGG가 OgG, OGG 등의 기록을 남기지 않는다. OGG 또는 OGG를 사용하면 여전히 원하는 파일이 아닌 동일한 파일을 호출 할 수 있습니다. –
예, 제공된 코드는 이와 같이 정확하게 일치해야합니다. $ tag가 "OGG"이면, "BINARY"를 사용하면 정확히 qp_tag가 "OGG"인 레코드 만 얻을 수 있습니다. "OgG"또는 "oGG"등의 기록을 얻지 못할 것입니다 ... –
지금 htaccess에서 문제가 될지 궁금해지기 시작 했습니까? 그러나 다시 htaccess는 많은 일을하지 않습니다. 그래서 정확한 태그를 기반으로 실제 선택의 API에 문제가 있습니다 –