2015-12-21 62 views
0

我對可能安全實現一個簡單的API的選項感興趣,它允許網站在我的網站上註冊,接收並複製獨特的HTML表單到他們的網站最終會發布到我的API。基於唯一參數/密鑰的簡單PHP表單發佈API

例如爲:

  1. 在URL的一所教堂: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」]解決這個問題?

+0

[' $ _SERVER [「HTTP_REFERER」]'不可靠](http://stackoverflow.com/questions/6023941/how-reliable-is-http-referer)。 查看[這裏](http://security.stackexchange.com/questions/32299/is-server-a-safe-source-of-data-in-php)獲取更多選項。 –

+0

查閱者不是,從來不會是,也永遠不會是「安全系統」。他們是「你好,我的名字是」標籤,並且可以包含用戶想要的** ANYTHING **。 –

回答

2

你不能依賴來自用戶的任何東西,所以沒有100%安全的方式使用HTML只。

你需要一些祕密。例如:

  1. Church.com請求發送到Web服務器的臨時公鑰密鑰對每個HTML形式,它產生
  2. Church.com創建HTML表單與此臨時密鑰
  3. 用戶發送形式這個臨時密鑰到您的網站
  4. 您將檢查臨時密鑰是否有效

或者:

  1. church.com創建HTML表單
  2. 用戶發送形式church.com
  3. church.com於這種形式的值傳送到您的網站與他的祕密密鑰