2012-11-02 3 views
0

Я пытаюсь выполнить php-скрипт в фоновом режиме, поэтому пользователю не нужно ждать обработки.Ajax вызов из PHP для выполнения отдельного PHP; любые опасности?

В PHP я могу назвать JavaScript:

?> 
<script> 
window.top.hdReq(); 
</script> 
<? 

который называет яваскрипт XMLHttpRequest для запуска PHP скрипта. Меня не интересует какой-либо ответ от этого сценария.

Я знаю, что это может быть немного обходным путем, но ... оно работает как шарм, пока :-) И так как я не знаю, на каком сервере сайт заканчивается, я должен искать способ, который работает во всех случаях.

Мой вопрос, прежде чем я напишу весь PHP-скрипт: могут ли быть какие-либо опасности или проблемы, связанные с его выполнением? (Кроме того, пользователь не позволяя JavaScript, но в этом случае весь сайт doen't работы :-)

+0

Пожалуйста, ознакомьтесь с этим ответом - http://stackoverflow.com/a/3362238/1458679 – Ren

ответ

3

Там нет никакой реальной опасности в делать это таким образом ...

Обязательно продезинфицируйте любой вход вы отправьте/отправьте сценарий php и обязательно передайте токен, чтобы убедиться, что на самом деле ваш код отправляет ему запросы.

+0

санируйте мир! – Chris

+0

Да, конечно! Thnx. – Michel

1

Нет опасности. Но подумайте, что будет делать этот сценарий. Если он будет делать что-то, что требует много времени, то при использовании закрыть страницу и сценарий не закончил его работу, то может оказаться убит Apache, пока работа не завершена.

+0

Это займет до десяти секунд макс. Долго ждать пользователя, но не более того. Но теперь вы упомянули об этом: может ли сервер остановить выполнение в середине скрипта, когда пользователь покидает страницу? Или он будет продолжаться до конца? – Michel

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