基于唯一参数/键的简单PHP表单发布API


Simple PHP form post API based on unique parameter/key

我感兴趣的是,安全地实现一个非常简单的API,允许网站在我的网站上注册,接收并复制唯一的HTML表单到他们的网站,最终发布到我的API。

例如:

  1. 网址为www.church.com的教堂购买了5份我的服务
  2. 我为教会提供了一个HTML表单,然后他们将其复制到自己的网站上
    2b。该表单将张贴回我的API/URL,并带有一个唯一的密钥,指定它来自www.church.com(密钥=1234)

<form action="https://www.example.com/myCustomAPIService.php?key=1234" method="post">
  First name: <input type="text" name="fname"><br>
  Last name: <input type="text" name="lname"><br>
  <input type="submit" value="Submit">
</form>

什么可以阻止其他组织将HTML复制到他们的网站?

检查$_SERVER["HTTP_REFERER"]是否可以解决此问题?

你不能依赖来自用户的任何东西,所以没有100%安全的方法只使用HTML。

你需要一些秘密。例如:

  1. Church.com向您的web服务器发送请求,并为其生成的每个HTML表单提供临时公钥的密钥
  2. Church.com使用此临时密钥创建HTML表单
  3. 用户将带有此临时密钥的表单发送到您的网站
  4. 您将检查临时密钥是否有效

或者:

  1. church.com创建html表单
  2. 用户将表格发送到church.com
  3. church.com使用他的密钥将此表单中的值发送到您的网站

等等。