在PHP文件中隐藏API键和URL

在PHP文件中隐藏API键和URL,php,json,ajax,url,Php,Json,Ajax,Url,我有一个表单,用户提交信息(姓名、地址、电话等),提交时,数据将插入API url,发送到API,返回数据并放入隐藏字段,然后发布。是否可以将AJAX URL隐藏在php文件中,这样我就可以隐藏API密钥,使其不公开?比如: $.ajax({ url: whitepages.php 内部whitepages.php 以下是我现有的代码: var wpfname = $('#customer_person_name_f input').val(); var wplname = $('#c

我有一个表单,用户提交信息(姓名、地址、电话等),提交时,数据将插入API url,发送到API,返回数据并放入隐藏字段,然后发布。是否可以将AJAX URL隐藏在php文件中,这样我就可以隐藏API密钥,使其不公开?比如:

$.ajax({
    url: whitepages.php
内部whitepages.php

以下是我现有的代码:

var wpfname = $('#customer_person_name_f input').val();
var wplname = $('#customer_person_name_l input').val();
var wpfullname = wpfname + " " + wplname;
var wpaddress = $('#customer_address_street input').val();
var wpcity = $('#customer_address_city input').val();
var wpstate = $('#address_state_abbr input').val();
var wpzip = $('#customer_address_zipcode input').val();
var wpphone = $('#customer_phone_number input').val();
var wpemail = $('#customer_email_address input').val();

$.ajax({
    url: "https://proapi.whitepages.com/3.3/lead_verify.json?name=" + wpfullname +"&phone=" + wpphone + "&address.street_line_1=" + wpaddress + "&api_key=" + KEYGOESHERE + "&address.city=" + wpcity + "&address.postal_code=" + wpzip + "&address.state_code=" + wpstate + "&email_address=" + wpemail,
    dataType: "text",
    method: "GET",
    crossDomain: "true",
    success: function(data) {

        var json = $.parseJSON(data);
        console.log(json);
        $('#wp_phone_contact_score').val(json.phone_checks.phone_contact_score);
        $('#wp_subscriber_name').val(json.phone_checks.subscriber_name);
        $('#wp_subscriber_age_range').val(json.phone_checks.subscriber_age_range);
        $('#wp_subscriber_address').val(json.phone_checks.subscriber_address.street_line_1 +', ' + json.phone_checks.subscriber_address.city +', ' + json.phone_checks.subscriber_address.state_code + ' ' + json.phone_checks.subscriber_address.postal_code);
        $('#wp_line_type').val(json.phone_checks.line_type);
        $('#wp_is_commercial').val(json.phone_checks.is_commercial);
        $('#wp_address_contact_score').val(json.address_checks.address_contact_score);
        $('#wp_is_active').val(json.address_checks.is_active);
        $('#wp_address_to_name').val(json.address_checks.address_to_name);
        $('#wp_resident_age_range').val(json.address_checks.resident_age_range);
        $('#wp_resident_phone').val(json.address_checks.resident_phone);
        $('#wp_type').val(json.address_checks.type);
    }

<form>
<input id="wp_phone_contact_score" type="hidden" name="customer_wp_phone_contact_score" value="">
<input id="wp_subscriber_name" type="hidden" name="customer_wp_subscriber_name" value="">
<input id="wp_subscriber_age_range" type="hidden" name="customer_wp_subscriber_age_range" value="">
<input id="wp_subscriber_address" type="hidden" name="customer_wp_subscriber_address" value="">
<input id="wp_line_type" type="hidden" name="customer_wp_line_type" value="">
<input id="wp_is_commercial" type="hidden" name="customer_wp_is_commercial" value="">
<input id="wp_address_contact_score" type="hidden" name="customer_wp_address_contact_score" value="">
<input id="wp_is_active" type="hidden" name="customer_wp_is_active" value="">
<input id="wp_address_to_name" type="hidden" name="customer_wp_address_to_name" value="">
<input id="wp_resident_age_range" type="hidden" name="customer_wp_resident_age_range" value="">
<input id="wp_resident_phone" type="hidden" name="customer_wp_resident_phone" value="">
<input id="wp_type" type="hidden" name="customer_wp_type" value="">

<input type="text" name="customer_person_name_f">
<input type="text" name="customer_person_name_l">
<input type="text" name="customer_phone_number">
<input type="text" name="customer_address_street">
<input type="text" name="customer_address_city">
<input type="text" name="customer_address_state_abbr">
<input type="text" name="customer_address_zipcode">
<input type="submit" id="submitBtn" class="btn btn-primary btn-large" value="Submit"/>
</form>
var wpfname=$('customer\u person\u name\u f input').val();
var wplname=$('#客户\人员\姓名\输入').val();
var wpfullname=wpfname+“”+wplname;
var wpaddress=$('#客户地址\街道输入').val();
var wpcity=$(“#客户地址#城市输入”).val();
var wpstate=$(“#地址#状态_缩写输入”).val();
var wpzip=$(“#客户地址_zipcode输入”).val();
var wphone=$('#客户电话号码输入').val();
var wpemail=$(“#客户#email_地址输入”).val();
$.ajax({
url:“https://proapi.whitepages.com/3.3/lead_verify.json?name=“+wpfullname+”&phone=“+wpphone+”&address.street_line_1=“+wpaddress+”&api_key=“+KeyGoesher+”&address.city=“+wpcity+”&address.postal_code=“+wpzip+”&address.state_code=“+wpstate+”&email_address=“+wpemail,
数据类型:“文本”,
方法:“获取”,
跨域:“真”,
成功:功能(数据){
var json=$.parseJSON(数据);
log(json);
$('wp#phone_contact_score').val(json.phone_checks.phone_contact_score);
$('wp#u subscriber_name').val(json.phone_checks.subscriber_name);
$('wp#u subscriber_age_range').val(json.phone_checks.subscriber_age_range);
$(“#wp#u subscriber_address').val(json.phone_checks.subscriber_address.street_line_1+”、“+json.phone_checks.subscriber_address.city+”、“+json.phone_checks.subscriber_address.posal(code+”);
$('#wp_line_type').val(json.phone_checks.line_type);
$('wp#u is_commercial').val(json.phone_checks.is_commercial);
$('wp#address_contact_score').val(json.address_checks.address_contact_score);
$('wp#u处于活动状态').val(json.address_checks.is_active);
$('#wp#address_to_name').val(json.address_checks.address_to_name);
$('wp#u resident_age_range').val(json.address_checks.resident_age_range);
$('wp#u resident_phone').val(json.address_checks.resident_phone);
$('#wp_type').val(json.address_checks.type);
}

如果不将数据提供给浏览器,则无法让浏览器使用URL中的某些数据发出HTTP请求


您必须从服务器而不是浏览器向whitepages.com发出HTTP请求。

是的,但是您的用户不能像在脚本中那样直接调用whitepages

您必须编写自己的脚本,用户将使用ajax调用该脚本,并使用服务器向whitepage发出请求

使用CURL或file_get_contents()


用户只知道他正在向您发送他的(姓名、地址、电话等)。

当然,您可以向自己存储密钥的PHP页面发出AJAX请求,然后使用PHP向白页发出cURL请求。然后,您可以让PHP页面返回对AJAX的响应。
数据类型:“text”
var json=$.parseJSON(data);
?只需首先使用
数据类型:“json”
跨域:“true”,
-这是毫无意义的。只有当您发出一个相同的原始区域请求,该请求将得到一个HTTP重定向到不同的原始区域时,这才有意义。(并且它应该是布尔值
true
,而不是字符串)。这听起来像是我想做的事情。我对PHP非常陌生,所以我只需要找到一个好的教程来指导我。