Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在post方法中隐藏表单操作url_Javascript_Php_Html - Fatal编程技术网

Javascript 在post方法中隐藏表单操作url

Javascript 在post方法中隐藏表单操作url,javascript,php,html,Javascript,Php,Html,我有下面的代码,我想在新脚本中插入它 一个简单的方法是创建第三个页面,称之为:NotSecure.php 所以在您的表单中:,用户将只看到NotSecure.phpNotSecure.php将与Secure.php通信,然后返回响应 请注意,Secure.php仅在NotSecure.php中可见,并且您的用户永远不知道Secure.php(这就是您要查找的:)) NotSecure.php示例: <?php /* init params for forwarding the post


我有下面的代码,我想在新脚本中插入它


一个简单的方法是创建第三个页面,称之为:
NotSecure.php

所以在您的表单中:
,用户将只看到
NotSecure.php
NotSecure.php
将与
Secure.php
通信,然后返回响应

请注意,
Secure.php
仅在
NotSecure.php
中可见,并且您的用户永远不知道
Secure.php
(这就是您要查找的:))

NotSecure.php
示例:

<?php
/* init params for forwarding the post request to a page visible
   only to myself
*/ 
$url = "Secure.php";
$postBodyAsAssociativeArray = array();
// getting all POST params from the page that submited the form
$postBodyAsAssociativeArray['param1name'] = $_POST['param1name'];
$postBodyAsAssociativeArray['param2name'] = $_POST['param2name'];

// use "post" function, to post data to "Secure.php"
$result = post($url, $postBodyAsAssociativeArray);  
// print the "Secure.php" response.
echo $result;

/* use PHP CURL method to post an HTTP request */  
function post($url, $postBodyAsAssociativeArray)
{
    if(empty($url))
    {
        return 'Error: invalid Url or Data';
    }

    // encode associative array to a string, in order to post it in body's
    // request
    $body = json_encode ( $postBodyAsAssociativeArray );

    /* CURL configuration shit */
    //init post object and options
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
    // receive server response ...
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    // invoke the CURL post
    $server_output = curl_exec ($ch);

    curl_close ($ch);
    // return the post response
    return $server_output;
}

PHP代码对您的问题毫无用处

要混淆动作url,可以使用一些javascript仅在提交时设置属性。这里你可以看到一个愚蠢的例子:


由于这一点,您还可以使用一些crypt/uglify库在js文件中隐藏realAction。

强制性警告:您的代码容易受到SQL注入攻击。请考虑使用参数化查询。@ AddiangRangg我不需要任何安全性,如果可能的话,请回答!我认为,您需要简化您的问题,因为您似乎在问“如何在最终用户看不到URL的情况下将内容提交到URL”(这是不可能的)。你能描述一下你试图解决的问题吗?你不能对用户隐藏浏览器正在做什么(比如它正在向哪个URL发布什么数据)。你可以通过某种“代理”页面隐藏.php位置,该页面将重定向你的请求。您可以编写一个.php脚本来接收您的请求,再加上一个关键字,告诉它将数据发送到哪里,然后根据该关键字查找您的target.php。好的,那么notsecure.php应该包含什么呢?通过这种方式(使用“代理服务”)但是,您可以轻松地将后端服务公开给同一环境中的用户way@SukhChain:iv'e添加了
notsecure.php
内容。请告诉我这是否是你想要的…我真的不明白重点。通过这种方式,我无法知道secure.php url,但间接地,我可以像知道它一样行事,因为unsecure.php代理itask@SukhChain为什么他需要隐藏
secure.php
。例如:您授予用户对
unsecure.php
的访问权,但不授予
secure.php
的访问权(比如说
secure.php
是一个不同的服务器,它为多个站点提供用户名和密码验证服务,并返回访问令牌,(比如:使用facebook/google帐户登录)需要小心的安全性等等…另一个例子是实现一个
桥接模式
(),这样每个程序员都可以处理“他的文件”独立于其他方式,这如何阻止用户简单地启用调试工具并在浏览器调用时读取URL?Http不是一种神奇的协议。您无法隐藏所有内容。专家用户始终可以检索他们调用的URL。这不会阻止单个用户检查代码,但可能会减少垃圾邮件。
$("form").submit(function() {
  $(this).attr("action", "realAction");
});