2011-03-21 6 views
0

안녕하세요, HTACCESS의 특정 PHP 값을 가진 요청을 필터링해야하고 그 방법을 찾을 수 없습니다.PHP 값이있는 HTACCESS

문제는 누군가 내 사이트를 스팸 메일로 보내고 특별한 PHP 값으로 내 서버를 과부하 상태로 유지하는 것입니다.

URL은 www.site.com/?q=XXXXX입니다. 나는 이와 같은 모든 요청을 필터링하고 (? q = XXXX로) 홈페이지로 리디렉션해야합니다.

나는 이것을 시도했지만 올바르게 작동하지 않는다 (루프가있다).

RewriteCond %{QUERY_STRING} q=(.*) 
RewriteRule ^(.*) http://www.site.com 

감사

답변

1

왜 u는 _GET 값에 투입되는 어떤 청소 해달라고? 누군가가 충분히 당신이 함께 자신의 IP 주소/주소 또는 뭔가를 차단 보라 서버 과부하로 열심히 스팸 경우

if(isset($_GET['q'])){ 
    header('Location: homepage.php'); 
} 
+0

을 제한한다는 것을 알고 있습니다. 검색 값이고 site.com/search/XXXX에서 index.php? q =로 다시 작성했습니다. 누군가는 아마도 일부 원격 검색에 쿼리를 포함 시켰을 뿐이며 직접 액세스하려고하지 않습니다. – Tom

+0

메신저 당신이 뭘하고 싶은지 잘 모르겠어. 견적'URL은 www.site.com/?q=XXXXX입니다. 나는 (q = XXXX를 사용하여) 이와 같은 모든 요청을 걸러 내고 대신 홈페이지로 리디렉션해야합니다. 즉, q = 값을 얻고 싶지 않습니다. ... – Neal

+0

www에 대한 모든 직접 요청을 필터링하려고합니다. site.com/?q=XXXX 동시에 www.site.com/search/XXXX에이 값이 필요합니다. PHP에서 직접하고 싶지만 HTACCESS에서 직접하고 싶지는 않습니다. 정적 캐싱이 있기 때문에 PHP를 사용하지 않아도됩니다. – Tom

0

: PHP 파일의 상단에 (사용 PHP)

같은 것을 넣어 가능한 경우 그 줄.

또한 홈페이지를로드 할 때 다른 요청을 보내지 않고 죽이기를 요청하는 것이 좋습니다. 또는 존재하지 않거나 영향을 미칠 수도있는 도메인으로 리디렉션하여 바쁘게 유지할 수도 있습니다.

+0

요청이 다른 IP에서 오는 어떤 이유로 그들을 차단하는 것은 불가능하다. 그 DDOS 또는 뭔가 같은 아니 ... – Tom

+0

서버에 과부하 다른 IP에서 오는 요청은 정확하게 DDoS 의미합니다. –

+0

하지만 이것은 내 서버를 원격으로 액세스하고 검색을 위해 내 데이터베이스를 사용하는 DDOS와는 조금 다른 웹 사이트입니다. – Tom

0

"X"를 계산하는 것에 대해 생각해 보셨습니까? ? q = X == true이면 계속되는 경우 그렇지 않으면 q> 9 인 경우 누군가가 그걸 망치고 있으며 그 값을 필요로하기 때문에