你說的基本上是調用遠程腳本。
我認爲你的意思是這樣 - 你正在查看你的個人資料。例如,您有一個承諾顯示您擁有的點數的小部件。 你提供了一個「代碼」按鈕,如youtube embed或facebook「like」 用戶點擊此按鈕,獲取一段代碼,並且可以將其粘貼到互聯網上的任何地方,代碼將生成一個圖標或據推測是用戶名和他們的點。
首先,您可以通過多種方式來做到這一點。在我看來,最具成本效益的是在更新時在服務器上生成用戶按鈕 - 就像說你的觀點意味着「收到你的文章的贊成數量」,因此它將是一個整數值。每次你豎起大拇指時,你都會重新緩存按鈕並將其寫入一個純文本文件。如果你很好,你可以將它寫入圖像並將其壓平成jpg或gif。如果你不知道怎麼做,你可以把它寫到html中,並保存爲用戶特定的「slug」,如md5(username)。'。html' - 每次調用服務器時,你都不會使用冗餘查詢和帳戶查找功能不需要在帶寬上進行堆疊。您只能提供優化的圖像或html文件。
第二 - 你可以給用戶一個帶有html的iframe。這通常是Facebook如何「喜歡」爲不使用fbml方法的人做的。問題是,許多網站將iframe視爲潛在的xss攻擊,並將其排除。因此,爲了使用iframe,您需要控制域名,如果意圖分享您的個人資料,這可能會破壞您的請求的目的。第三,你可以在你的服務器上調用一個js文件,該文件對數據庫進行ajax調用並提供結果。這也很有可能會被視爲xss攻擊,你甚至可能不會多加考慮。
我提到了iframe和js方法,以防您爲其他運行自己站點的人提供選項。網站所有者使用「like」這種方式來顯示他們的域名被多少次「喜歡」等等。這些人控制了域名,因此iframe和js方法是合乎邏輯的。
所以 - 這個答案可能沒有太多的原始代碼給你,但它應該可以幫助你開始。 我會做圖像方法,因爲它更安全。你會給用戶一個圖像標籤,並在src屬性中使用他們的slug。他們可以將其粘貼到任何位置,並且無法在圖像中重新編寫數字。大多數論壇和地方,你可以發佈到其他人的網站允許圖像。只要做一個谷歌搜索繪製圖像與PHP,以及使用imagemagick庫合併文本和圖像。
最好的方法是用另一個隨機值將用戶名加密成字符串,並在服務器腳本上解密。當然,如果沒有將徽章的引用域綁定到您的服務器應用程序,您不能通過任何方式阻止任何人在另一臺服務器上使用它。 – woodscreative 2010-10-18 22:50:29