• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Возникли проблемы при использовании Ajax

  • Автор темы Sergey J.
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

Sergey J.

Доброго всем времени суток. Ребята, помогите разобраться с такой проблемой. Есть примерно такая структура сайта (пример упрощенный):
test3.php - главный файл.
test.php - содержит функции.

Вот листинги
test3.php
Код:
<html>
<head>
<script language="javascript" type="text/javascript" src="prototype-1.4.0/dist/prototype.js"></script>
<?php
echo "<hr>test3<hr><br><br>";
define('DP_ACP',1); 
global $f;
$f=0980;
include_once("test.php");

t1();
?>


test.php
Код:
<?php
if(!defined('DP_ACP'))
{
echo("ne opredelena DP_ACP");
//Header('Location: test3.php');
exit;
}
?>

<script type="text/javascript">
function test()
{
var pars="code=0";
new Ajax.Updater('id_test','test.php',{method: 'post', parameters: pars});
}
</script>

<?php
function t1()
{
echo("
<hr>
<input type='button' value='test' onclick=\"java script:test()\"/>
<div id='id_test'>test</div>
<hr>");
}


if(isset($_POST['code']))
echo($_POST['code']);
else echo("POST['code'] ne sushestvuyet...");

?>

Ну и о проблеме: она состоит в том, что после клика на кнопку "test" вновь исполняется файл test.php, но он уже не видит ни DP_ACP, ни другие ранее объявленные и определенные глобальные переменные. Складывается впечатление, что когда выполняется джава-функция файл test.php подгружается и используется как совершенно независимый файл. Возможно есть какой-нибудь способ решить эту проблему?

PS заранее всех благодарю за ответ.
 
V

vovchik

Честно говоря, непонял зачем вообще нужна эта переменная. Поэтому не знаю, что советовать.
Ajax.Updater вызывает скрипт и вставляет результат его выполнения в указанный элемент. Почему бы не перенести функцию t1() в test3.php и вызывать его?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!