我可以發送一個字符串或另一條信息到另一個.php文件,而不用通過[不通過GET,但是通過POST符合我所知的]而不使用表單來暴露[發送沒有表格的POST數據
回答
這不是一個好的解決方案,如果作者接受這是一個解決方法。還會話更容易劫持比手動請求(即通過「中間人」攻擊) – 2010-09-23 18:17:32
爲什麼這是一個不好的解決方案?也許塞繆爾的過程是這樣的,劫持會議不是問題。真正解決會話劫持(以不顯眼的方式)的唯一方法是對所有與會話相關的請求使用SSL。如果Samuel擔心數據泄漏,他應該使用SSL。 – 2010-09-23 18:30:43
@zolex,攔截郵件數據有什麼困難?使用WireShark運行的咖啡店就是你需要劫持POST數據的地方。使用cookies和發佈數據重新創建請求,並且您很好。如果你認爲會議是一個糟糕的解決方案,那麼SSL是唯一的好方案。 – riwalk 2010-09-24 18:44:59
如果您不想使用表單,則可以使用AJAX發送POST請求。
使用jQuery $.post方法也很簡單:
$.post('/foo.php', { key1: 'value1', key2: 'value2' }, function(result) {
alert('successfully posted key1=value1&key2=value2 to foo.php');
});
看看PHP文檔的功能,您可以發送後使用它們reqeust。
fsockopen()
fputs()
或簡單地使用一個類似一個Zend_Http_Client其也基於套接字conenctions。
還發現了一個neat example使用谷歌...
與SESSION,而不是post發送數據。
session_start();
$_SESSION['foo'] = "bar";
你在哪裏收到的請求時,如果你絕對需要POST數據(一些奇怪的邏輯)的頁面,你可以在一開始做這個somwhere:
$_POST['foo'] = $_SESSION['foo'];
POST數據將是有效的就像使用POST發送一樣。
然後銷燬會話(或者如果您需要該會話用於其他目的,則只需取消設置字段)。
破壞會話或取消設置字段很重要,因爲與POST不同,SESSION將保持有效,直到您明確銷燬它或直到瀏覽器會話結束爲止。如果你不這樣做,你可以觀察到一些奇怪的結果。例如:您使用sesson過濾一些數據。用戶打開過濾器並獲取過濾的數據。過了一段時間,他回到頁面,期望過濾器被重置,但不是:他仍然看到過濾的數據。
只需使用:file_get_contents()
// building array of variables
$content = http_build_query(array(
'username' => 'value',
'password' => 'value'
));
// creating the context change POST to GET if that is relevant
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'content' => $content,)));
$result = file_get_contents('http://www.example.com/page.php', null, $context);
//dumping the reuslt
var_dump($result);
Reference:我的回答類似的問題:
- 1. HTML POST數據沒有被髮送
- 2. 將POST數據修改爲發送到有限的PHP表格
- 3. 發送數據表作爲POST數據
- 4. 發送POST數據
- 5. 發送POST數據
- 6. 無法發送表單的POST數據
- 7. POST不發送的所有數據
- 8. 純Javascript發送沒有表格的文章數據
- 9. 聯繫表格發送沒有數據的電子郵件
- 10. 將POST數據發送到不帶表格的AJAX
- 11. cURL發送表單,但遠程服務器沒有發送POST
- 12. 發送表格數據
- 13. 爲什麼AJAX沒有發送正確的POST數據?
- 14. 如何發送沒有請求數據的cURL POST在PHP中?
- 15. Ajax POST數據沒有被髮送到ASP.NET中的Page_Load方法
- 16. 沒有jQuery的AJAX不發送POST數據到PHP文件
- 17. 表單不通過POST發送數據
- 18. Dojo Ajax post發送非表單數據
- 19. 未在POST中發送表單數據
- 20. 表單數據未發送至POST
- 21. 如何將數據POST到沒有憑據的在線表格
- 22. PHP不發送POST數據
- 23. Python urllib2發送POST數據
- 24. IE不發送POST數據
- 25. Jquery .post不發送數據
- 26. Ajax post不發送數據
- 27. 用Java發送POST數據
- 28. RestKit不發送post數據
- 29. response.writeHead不發送POST數據
- 30. 發送大量POST數據
聽起來像是你需要使用會話。 – Gazler 2010-09-23 17:23:10
目前還不完全清楚你將數據發送到哪裏。是服務器到服務器還是服務器到服務器還是服務器到不同服務器? – buggedcom 2010-09-23 17:26:21
好吧,我把它從一個文件傳遞到另一個文件在同一臺服務器上 – Samuel 2010-09-23 17:28:44