2017-02-12 117 views
-1

我正在使用Magento創建自己的商店,即使我知道一些基本知識,但對編程並不熟悉。我使用SUPEE 9652補丁運行CE 1.9.3.1。 設置我的.htaccess與.htaccess中的內容可以阻止cron

Order allow,deny 
Allow from 123.45.678.90 (example IP server Address) 
Deny from all 

然而,cron是仍然被封鎖的.htaccess,當我刪除(或重命名)的.htaccess,它的運行(白色頁面的mydomain/cron.php)。我的cron從Cronjob的主機pannel中設置,但是在我的.htaccess中顯示403錯誤。

有人能指出我還有什麼可以阻止在我的.htaccess cron?

############################################ 
## uncomment these lines for CGI mode 
## make sure to specify the correct cgi php binary file name 
## it might be /cgi-bin/php-cgi 

# Action php5-cgi /cgi-bin/php5-cgi 
# AddHandler php5-cgi .php 

############################################ 
## GoDaddy specific options 

# Options -MultiViews 

## you might also need to add this line to php.ini 
##  cgi.fix_pathinfo = 1 
## if it still doesn't work, rename php.ini to php5.ini 

############################################ 
## this line is specific for 1and1 hosting 

#AddType x-mapp-php5 .php 
#AddHandler x-mapp-php5 .php 

############################################ 
## default index file 

DirectoryIndex index.php 

<IfModule mod_php5.c> 

    ############################################ 
    ## adjust memory limit 

    # #php_value memory_limit 64M 
    #php_value memory_limit 256M 
    #php_value max_execution_time 18000 

    ############################################ 
    ## disable magic quotes for php request vars 

    #php_flag magic_quotes_gpc off 

    ############################################ 
    ## disable automatic session start 
    ## before autoload was initialized 

    #php_flag session.auto_start off 

    ############################################ 
    ## enable resulting html compression 

    ##php_flag zlib.output_compression on 

    ########################################### 
    # disable user agent verification to not break multiple image upload 

    #php_flag suhosin.session.cryptua off 

    ########################################### 
    # turn off compatibility with PHP4 when dealing with objects 

    #php_flag zend.ze1_compatibility_mode Off 

</IfModule> 

<IfModule mod_security.c> 
    ########################################### 
    # disable POST processing to not break multiple image upload 

    SecFilterEngine Off 
    SecFilterScanPOST Off 
</IfModule> 

<IfModule mod_deflate.c> 

    ############################################ 
    ## enable apache served files compression 
    ## http://developer.yahoo.com/performance/rules.html#gzip 

    # Insert filter on all content 
    ###SetOutputFilter DEFLATE 
    # Insert filter on selected content types only 
    #AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript 

    # Netscape 4.x has some problems... 
    #BrowserMatch ^Mozilla/4 gzip-only-text/html 

    # Netscape 4.06-4.08 have some more problems 
    #BrowserMatch ^Mozilla/4\.0[678] no-gzip 

    # MSIE masquerades as Netscape, but it is fine 
    #BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 

    # Don't compress images 
    #SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary 

    # Make sure proxies don't deliver the wrong content 
    #Header append Vary User-Agent env=!dont-vary 

</IfModule> 

<IfModule mod_ssl.c> 

    ############################################ 
    ## make HTTPS env vars available for CGI mode 

    SSLOptions StdEnvVars 

</IfModule> 

<IfModule mod_rewrite.c> 

    ############################################ 
    ## enable rewrites 

    Options +SymLinksIfOwnerMatch 
    RewriteEngine on 

    ############################################ 
    ## you can put here your magento root folder 
    ## path relative to web root 

    #RewriteBase /magento/ 

    ############################################ 
    ## uncomment next line to enable light API calls processing 

    # RewriteRule ^api/([a-z][0-9a-z_]+)/?$ api.php?type=$1 [QSA,L] 

    ############################################ 
    ## rewrite API2 calls to api.php (by now it is REST only) 

    RewriteRule ^api/rest api.php?type=rest [QSA,L] 

    ############################################ 
    ## workaround for HTTP authorization 
    ## in CGI environment 

    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 

    ############################################ 
    ## TRACE and TRACK HTTP methods disabled to prevent XSS attacks 



    <IfModule mod_setenvif.c> 
     <IfModule mod_headers.c> 

      ############################################ 
      # X-Content-Type-Options: nosniff disable content-type sniffing on some browsers. 
      Header set X-Content-Type-Options: nosniff 

      ############################################ 
      # This header forces to enables the Cross-site scripting (XSS) filter in browsers (if disabled) 
      BrowserMatch \bMSIE\s8 ie8 
      Header set X-XSS-Protection: "1; mode=block" env=!ie8 

     </IfModule> 
    </IfModule> 

    ############################################ 
    ## redirect for mobile user agents 

    #RewriteCond %{REQUEST_URI} !^/mobiledirectoryhere/.*$ 
    #RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC] 
    #RewriteRule ^(.*)$ /mobiledirectoryhere/ [L,R=302] 

    ############################################ 
    ## always send 404 on missing files in these folders 

    RewriteCond %{REQUEST_URI} !^/(media|skin|js)/ 

    ############################################ 
    ## never rewrite for existing files, directories and links 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-l 

    ############################################ 
    ## rewrite everything else to index.php 

    RewriteRule .* index.php [L] 

</IfModule> 


############################################ 
## Prevent character encoding issues from server overrides 
## If you still have problems, use the second line instead 

AddDefaultCharset Off 
#AddDefaultCharset UTF-8 

<IfModule mod_expires.c> 

    ############################################ 
    ## Add default Expires header 
    ## http://developer.yahoo.com/performance/rules.html#expires 

    ExpiresDefault "access plus 1 year" 

</IfModule> 

############################################ 
## By default allow all access 

# Order allow,deny 
# Allow from all 

########################################### 
## Deny access to release notes to prevent disclosure of the installed Magento version 

<Files RELEASE_NOTES.txt> 
    order allow,deny 
    deny from all 
</Files> 

############################################ 
## If running in cluster environment, uncomment this 
## http://developer.yahoo.com/performance/rules.html#etags 

#FileETag none 

########################################### 
## Deny access to cron.php 
<Files cron.php> 

    ############################################ 
    ## uncomment next lines to enable cron access with base HTTP authorization 
    ## http://httpd.apache.org/docs/2.2/howto/auth.html 
    ## 
    ## Warning: .htpasswd file should be placed somewhere not accessible from the web. 
    ## This is so that folks cannot download the password file. 
    ## For example, if your documents are served out of /usr/local/apache/htdocs 
    ## you might want to put the password file(s) in /usr/local/apache/. 

    AuthName "Cron auth" 
    AuthUserFile ../.htpasswd 
    AuthType basic 
    Require valid-user 

    ############################################ 

    Order allow,deny 
    Allow from 123.45.678.90 (example IP server Address) 
    Deny from all 


</Files> 

感謝您的幫助!

+0

您還啓用了HTTP認證 - 大概是要傳遞適當的憑據? – MrWhite

+0

我想它不應該是這樣,因爲我在網站上使用SSL certif。我試圖評論這一行:RewriteRule。* - [E = HTTP_AUTHORIZATION:%{HTTP:Authorization}]但它沒有幫助... – benjamin

+0

@ w3dk任何其他行/代碼我應該添加/註釋來運行cron? – benjamin

回答

0

終於明白了......這是我的錯誤。 我註釋行

AuthName "Cron auth" 
AuthUserFile ../.htpasswd 
AuthType basic 
Require valid-user 

,因爲他們值得用密碼保護的代碼。 (!)從我的託管服務提供商有人曾建議我取消其註釋,

但主要的事情是從

<Files cron.php> 

爲我的Magento安裝的文件夾中來了,我不得不修改如下:

<Files folder/cron.php> 

服務器日誌錯誤幫助我瞭解它...