Как сделать так, чтобы PHP-скрипт, который обрабатывает ajax-запрос, был недоступен для использования, а пользователь прошел аутентификацию? - PullRequest
1 голос
/ 04 декабря 2011

У меня есть jjery ajax-запрос, который вызывает PHP-скрипт, который отправит электронное письмо.Это электронное письмо поступает от администратора, поэтому пользователь должен пройти аутентификацию, чтобы иметь возможность сделать это.У меня есть два вопроса:

  1. Как я могу заблокировать этот PHP-файл, чтобы кто-то мог напрямую перейти в путь в браузере и продолжать отправлять его?
  2. Как запустить файл, только если пользователь прошел аутентификацию?

PHP:

$emailer = new GiftCardEmailer();
$emailer->SendGiftCardEmail($gift_card);

jQuery:

 $(document).ready(function() {                
     var status = $('p#status');
     status.hide();

     $('#sendemail').click(function() {                   
          $.ajax({
                    url: 'mail-handler.php',
                    beforeSend: function() {
                        status.fadeIn();
                        status.html('<img src="images/ajax-loader.gif" />');  
                    },                        
                    success: function( data ) {
                        if (console && console.log){
                            console.log( 'Sample of data:', data.slice(0,100) );
                        }                            
                        status.html('Email Sent Successfully.');   
                        setTimeout(function() {
                            status.fadeOut(); 
                        }, 4000);                            
                    }
                });
            });
        });

Ответы [ 2 ]

3 голосов
/ 04 декабря 2011

Один из подходов заключается в проверке правильности сеанса в заголовке файла, содержащего фактический почтовый код. Если сеанс не существует, просто завершите сценарий.

Проверьте AJAX и безопасности , может быть полезно.

1 голос
/ 04 декабря 2011

Я делаю все с помощью session_start () в верхней части страницы php, а затем проверяю мои конкретные переменные сеанса для аутентификации.

Нет сеанса, нет доступа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...