当帖子包含" iframe"失败,错误403

时间:2018-05-17 10:54:55

标签: php post ionic-framework iframe http-status-code-403

我正在完成一个关于Ionic配方的应用程序,我必须将一些食谱保存为收藏夹,以便可以看到它们没有连接。这些食谱来自wordpress页面的json,其中一些包含嵌入iframe的youtube视频。

在移动设备上我用SQLite保存配方json,但我还要将它们保存在远程数据库上,为此我尝试使用post,但是当服务器检测到配方有iframe时给出了错误403。

对于测试我做了一个简单的表格:

"*"

回收数据的PHP是

<html>
<head>
</head>
<body>
  <form method="post" action="https://www.ecocesta.com/app_data/favoritos.php" enctype="text/json">
    <input name="idUsuario"><br>
    <input name="idReceta"><br>
    <input name="contenido"><br>
    <input type="submit">
    <input type="hidden" name="accion" value="add">
  </form>
</html>

当我发送这个&#34; contenido&#34;失败了403:

<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$direccion_db="127.0.0.1";
$login="app_admin";
$password="9XCorOl5";
$db="app_data";


// Create connection
$conexion = new mysqli($direccion_db, $login, $password,$db);
if ($conexion->connect_errno) {
    echo "Error Base de datos";
    exit;
}

if (isset($_POST['idUsuario']) && is_numeric($_POST['idUsuario'])) {
    $idUser = (float) $_POST['idUsuario'];
} else {
    echo("Es necesaria una id de usuario");
    exit();
}

if (isset($_POST['idReceta']) && is_numeric($_POST['idReceta'])) {
    $idReceta = (float) $_POST['idReceta'];
} else {
    echo("Es necesaria una id de receta");
    exit();
}

if (isset($_POST['accion'])) {
    $accion = $_POST['accion'];

    switch ($accion) {
      case 'add':
        echo("Add<br>");
        if (isset($_POST['contenido']))  {
            $contenido = $_POST['contenido'];
        } else {
            echo("Es necesario un contenido");
            exit();
        }
          nuevoFavorito($idUser,$idReceta,$contenido,$conexion);
        break;
      case 'delete':
        echo("Borrar");
        borraFavorito($idUser,$idReceta,$conexion);
        break;
      case 'get':
        recuperaFavoritos($idUser,$conexion);
          break;
      default:
        echo("Es necesaria una acción");
        exit();
        break;
    }
} else {
    echo("Es necesaria una acción");
    exit();
}

function nuevoFavorito($idUser, $idReceta, $contenido ,$conexion)
{
    $sql="INSERT INTO  favoritos (idUser,id_receta,contenido) VALUES (".$idUser.",".$idReceta.",'".$contenido."')";
    echo($sql);

    if ($conexion->query($sql) === TRUE)
    {
      echo "New record created successfully";
    }
    else
    {
      echo "Error: " . $sql . "<br>" . $conexion->error;
    }
}
?>

任何解决方案?

感谢。

0 个答案:

没有答案