2011-09-02 3 views
1

스팸 봇이 액세스하려고 시도 할 때 내 사이트의 특정 URL (index.php? act = add)을 200 대신 response 404 오류로 만드는 방법은 무엇입니까?
나는 PHP 프로그래머가 아니므로 .htaccess 파일에서 derectives로 어떻게 든 할 수있을 것입니다. 하지만 그 대신에 index.php에의스팸 봇에 대해 특정 URL 응답 404 오류가 발생했습니다.

<Files "index.php"> 
Order Deny,Allow 
Deny from all 
</Files> 

:
내가 htaccess로 파일에서 해당 규칙처럼 뭔가를해야만 필요 (

++++

는 귀하의 답변 주셔서 감사하지만 도움이되지 않았다 사용 "의 index.php? 행동 = 추가".

+++ 을 지금의 작업을. 주셔서 감사합니다!

+4

당신은 테스트해야하는 [ 'evil bit'] (https://tools.ietf.org/html/rfc3514). 'RewriteCond % {HTTP : X-I-Am-Evil} = 1; RewriteRule -/404' – arnaud576875

답변

1

if ($_GET["act"] == "add"){  
    header("HTTP/1.0 404 Not Found"); 
} 
+0

그리고'$ _GET [ 'act']'가 설정되어 있지 않으면 코드가 끔찍하게 깨집니다 (오류 설정에 따라 다름). – TRiG

+1

내 대답은 OP 프로젝트의 해결책이 아닙니다. 코드를 배치해야하는 데모 일뿐입니다. 그의 코드에 따라 index.php에 코드가 삽입되지 않을 수도 있습니다! –

+0

이 문자열 helped : header ("HTTP/1.0 404 Not Found"); 빠른 답장을 보내 주셔서 감사합니다. –

0

당신이 PHP를 사용할 수 있습니다 예를 들어, 당신은 header() function을 사용할 수 있습니다

if ($_GET['act'] == 'add') { 
    if (condition to check spambot/useragent/ipaddress/cookie) { 

     header("HTTP/1.0 404 Not Found"); 
     exit; 

    } else { 

     // 
     // 
     // your code for 'REAL' users 

    } 
} 
0

(파일의 index.php) PHP를 사용하여 헤더

<?php 
header("HTTP/1.0 404 Not Found"); 
?> 

또는 사용 htaccess로

관련 문제