2015-12-03 3 views
1

У меня есть приложение журнала на моем сайте Wordpress, организованном Justhost, который отлично поработал пару недель назад, но теперь он не позволит мне добавлять записи журнала. На клавиатуре предполагается динамически отправлять все, что я пишу в текстовое поле, в базу данных mysql. Я знаю, что мое соединение с базой данных хорошо, потому что textarea отображает все, что я написал ранее. Я попытался отключить все плагины, и это не помогло, поэтому я подозреваю, что это вызвано Wordpress или моим хостинг-провайдером. Я пробовал различные предложения Tweak в .htaccess, но по-прежнему получаю следующую ошибку в моей консоли каждый раз, когда я ввожу ключ в текстовое поле:сообщение 403 запрещено, сайт wordpress на justhost

Ошибка: POST http://myfullname.com/wp-content/themes/myportfolio/updatejournal.php 403 (Forbidden)

Вот файлы:

страниц journal.php

<?php 
    session_start(); 
    include("connection.php"); 
    if (!$_SESSION['id']) exit(wp_safe_redirect(home_url() . '/privatejournal')); 
    $query="SELECT journal FROM users WHERE id='".$_SESSION['id']."' LIMIT 1"; 
    $result = mysqli_query($link, $query); 
    $row = mysqli_fetch_array($result); 
    $journal = $row['journal']; 
?> 

<!DOCTYPE html> 
    <head> 
    </head> 

    <body data-spy="scroll" data-target=".navbar-collapse"> 

    <div class="container contentContainer" id="topContainer"> 
     <div class="row"> 
      <div class="col-md-6 col-md-offset-3" id="topRow"> 
       <textarea class="form-control"><?php echo $journal; ?></textarea> 
      </div> 
     </div> 
    </div> 


    <script> 
     $(".contentContainer").css("min-height", $(window).height()); 
     $("textarea").css("height", $(window).height()-110); 

     $("textarea").keyup(function() { 
      $.post("<?php bloginfo('template_url'); ?>/updatejournal.php", {journal:$("textarea").val()}); 
     }); 
    </script> 
    </body> 
</html> 

updatejournal.php

<?php 
    session_start(); 

    include("connection.php"); 

    $query = "UPDATE users SET journal='".mysqli_real_escape_string($link, $_POST['journal'])."'WHERE id='".$_SESSION['id']."' LIMIT 1"; 

    mysqli_query($link, $query); 

?> 

Различные сообщения, которые я нашел на эту тему, сказали, что это может быть вызвано mod_security, но ни одно из обходных решений, которые они предлагали, не помогло. Вот мой .htaccess файл:

# Use PHP5.4 as default 
AddHandler application/x-httpd-php54 .php 

# Changed PHP handler from application/x-httpd-php54 to application/x-httpd-phpbeta on Mon Nov 23 12:39:39 MST 2015. 

# For security reasons, Option followsymlinks cannot be overridden. 
#Options +FollowSymLinks 
Options +SymLinksIfOwnerMatch 
# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

RewriteCond %{REQUEST_URI} ^/(wordpress|folder1|folder2)/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . /index.php [L] 
# Fix 403 errors on existing directories; WordPress overrides. 
RewriteCond %{REQUEST_URI} ^/(wordpress)/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

<IfModule mod_security.c> 
SecFilterEngine Off 
SecFilterScanPOST Off 
</IfModule> 

ответ

0

Файл .htaccess, расположенный в папке wp-content, был поврежден. Я зашел в текстовый редактор и опустошил файл. Wordpress в конечном итоге переписал контент автоматически. Сейчас все работает отлично.

Смежные вопросы