На главную | Бесплатные DLE модули | Бесплатные DLE шаблоны | Хаки для DLE | Платные DLE шаблоны | Платные DLE модули

Как разрешить сторонний вызов php в dle

Автор Тема: Как разрешить сторонний вызов php в dle  (Прочитано 1743 раз)

0 Пользователей и 1 Гость просматривают эту тему.

oliwin

  • Юнкер DLE-сайтостроения
  • **
  • Сообщений: 81
  • Карма: 0
    • Просмотр профиля
В файле user_info.tpl я написал ajax код отправки данных файлу send.php, который лежит в корне сайта, но когда я сабмичу форму и ajax отсылает данные - выскакивает Hacking attempt! и php не обрабатывается
Как быть?

vladimir

  • Администратор
  • Герой форума
  • *****
  • Сообщений: 4 287
  • Карма: 415
    • Просмотр профиля
    • Помогаем новичкам в ДЛЕ
Вероятно в send.php находится что-то не правильное. Угадать мы не сможем не видя кода.
Как минимум нужно добавить в начале
define ( 'DATALIFEENGINE', true );
Понравился форум dle.net.ua? Поставь ссылку!

oliwin

  • Юнкер DLE-сайтостроения
  • **
  • Сообщений: 81
  • Карма: 0
    • Просмотр профиля
Вот такое содержимое:
<?
define('DATALIFEENGINE', true);
if (isset($_POST['status']) && isset($_POST['id_user'])){
$id=(int)$_GET['id_user'];
$status=$_POST['status'];
$status=mysql_real_escape_string($status);
include ('engine/api/api.class.php');
$row = $db->super_query("UPDATE statuses set id_user='".$id."',status='".$status."'");

if($row==true) {echo'Установлен';}



}
?>
Файл лежит в папке scripts в корне, и вызывается через ajax в файле userinfo.tpl

Сима

  • Модератор
  • Герой форума
  • *****
  • Сообщений: 3 215
  • Карма: 237
  • sima007-->Сима :)
    • Просмотр профиля
    • Блог sima
А теперь AJAX в студию ;)
Мой блог .
Помог?Помоги и ты : R132599791532 , Z151187258120 , U315585286440 .

oliwin

  • Юнкер DLE-сайтостроения
  • **
  • Сообщений: 81
  • Карма: 0
    • Просмотр профиля
var status = $("#actionInputAL").val();
 $.ajax({
  type: "POST",
  url: "<?php echo $_SERVER['DOCUMENT_ROOT'].'scripts/send_otziv.php';?>",
  data: ({status : status}),
  dataType:"text",
  success: function(data){$("#actionInputALV").text("Статус установлен! " + data);}
});   
});
});
</script>
Спасибо за помощь

Сима

  • Модератор
  • Герой форума
  • *****
  • Сообщений: 3 215
  • Карма: 237
  • sima007-->Сима :)
    • Просмотр профиля
    • Блог sima
var status = $("#actionInputAL").val();
 $.ajax({
  type: "POST",
  url: "<?php echo $_SERVER['DOCUMENT_ROOT'].'scripts/send_otziv.php';?>",
  data: ({status : status}),
  dataType:"text",
  success: function(data){$("#actionInputALV").text("Статус установлен! " + data);}
});   
});
});
</script>
Спасибо за помощь
А теперь смотрим в как в DLE делается передача данных.
Подскажу:
$.post - а теперь ищем ;)
Мой блог .
Помог?Помоги и ты : R132599791532 , Z151187258120 , U315585286440 .

oliwin

  • Юнкер DLE-сайтостроения
  • **
  • Сообщений: 81
  • Карма: 0
    • Просмотр профиля
Сима, подскажите пожалуйста..Вы имеете ввиду другой записью ajax?

Сима

  • Модератор
  • Герой форума
  • *****
  • Сообщений: 3 215
  • Карма: 237
  • sima007-->Сима :)
    • Просмотр профиля
    • Блог sima
Сима, подскажите пожалуйста..Вы имеете ввиду другой записью ajax?
Да.
Мой блог .
Помог?Помоги и ты : R132599791532 , Z151187258120 , U315585286440 .

oliwin

  • Юнкер DLE-сайтостроения
  • **
  • Сообщений: 81
  • Карма: 0
    • Просмотр профиля
Щас попробую.

oliwin

  • Юнкер DLE-сайтостроения
  • **
  • Сообщений: 81
  • Карма: 0
    • Просмотр профиля
Сделал так:
<script>
$(document).ready(function(){

$("#delete_status").click(function(){
$("#actionInputAL").removeAttr("disabled");
$("#actionInputAL").attr("value","");
$('#actionInputAL').focus();
$("#delete_status").css("display", "none");
});

$("#actionSubmit").click(function(){

$("#actionInputAL").attr("disabled", "disabled");
$("#delete_status").css("display", "block");
var status = $("#actionInputAL").val();

$.post(
"<?php echo $_SERVER['DOCUMENT_ROOT'].'scripts/send_otziv.php';?>",
{status: status},
function(data){$("#actionInputALV").text("Статус установлен! " + data);}
   )

 
});
});
</script>
AJAX Возвращает: Статус установлен! Hacking attempt!

Сима

  • Модератор
  • Герой форума
  • *****
  • Сообщений: 3 215
  • Карма: 237
  • sima007-->Сима :)
    • Просмотр профиля
    • Блог sima
Сделал так:
<script>
$(document).ready(function(){

$("#delete_status").click(function(){
$("#actionInputAL").removeAttr("disabled");
$("#actionInputAL").attr("value","");
$('#actionInputAL').focus();
$("#delete_status").css("display", "none");
});

$("#actionSubmit").click(function(){

$("#actionInputAL").attr("disabled", "disabled");
$("#delete_status").css("display", "block");
var status = $("#actionInputAL").val();

$.post(
"<?php echo $_SERVER['DOCUMENT_ROOT'].'scripts/send_otziv.php';?>",
{status: status},
function(data){$("#actionInputALV").text("Статус установлен! " + data);}
   )

 
});
});
</script>
AJAX Возвращает: Статус установлен! Hacking attempt!
Ну чтож вы делаете?
<?php echo $_SERVER['DOCUMENT_ROOT'].'scripts/send_otziv.php';?>Сделайте передачу параметра и передавайте на AJAX-файл.
Мой блог .
Помог?Помоги и ты : R132599791532 , Z151187258120 , U315585286440 .

oliwin

  • Юнкер DLE-сайтостроения
  • **
  • Сообщений: 81
  • Карма: 0
    • Просмотр профиля
Не совсем понял, путь ведь надо указать на php

oliwin

  • Юнкер DLE-сайтостроения
  • **
  • Сообщений: 81
  • Карма: 0
    • Просмотр профиля
я ведь указываю обработчику php путь от корня....или я не так понял?
Как будет правильно?

Сима

  • Модератор
  • Герой форума
  • *****
  • Сообщений: 3 215
  • Карма: 237
  • sima007-->Сима :)
    • Просмотр профиля
    • Блог sima
$.post(dle_root + "scripts/send_otziv.php", { "status": status }, function(data){

$("#actionInputALV").text("Статус установлен! " + data);

});
Мой блог .
Помог?Помоги и ты : R132599791532 , Z151187258120 , U315585286440 .

oliwin

  • Юнкер DLE-сайтостроения
  • **
  • Сообщений: 81
  • Карма: 0
    • Просмотр профиля
Спасибо! И последний вопрос: почему если я пишу echo "ok"; в php обработчике то ajax это не выводит на страницу?

 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
2685 Просмотров
Последний ответ 10-08-2009, 16:33:53
от volkodav
8 Ответов
865 Просмотров
Последний ответ 11-10-2010, 14:04:13
от asmakovec2
8 Ответов
1621 Просмотров
Последний ответ 10-02-2011, 21:52:24
от Сима
0 Ответов
383 Просмотров
Последний ответ 24-04-2011, 10:09:30
от PavloBlack
1 Ответов
306 Просмотров
Последний ответ 31-07-2011, 09:32:47
от Сергій Тігіпко