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");
});