簡體   English   中英

使用多種形式處理帶雙引號的post參數

[英]Handing post parameter with double quotes over multiple forms

如何使用POST交出雙引號? 每次嘗試時,他第一次給我\\' \\\\\\'\\\\\\ ,以此類推。 我用str_replace嘗試過,但僅適用於零件。 有沒有辦法解決這個問題?

編輯:

禁用magic_quotes_gpc它仍然不能100%正確地工作。 我的第一個表格有一個隱藏的輸入字段。 它具有價值

text 'textinquotes'

每個post此值將提交到另一個php腳本。 如果我輸出變量,我得到

text \\'textinquotes\\'

如果用戶忘記填寫字段,則我將每個post的值提交給另一個PHP腳本。 在此php腳本中,我get了php腳本的參數,用戶在其中輸入了他的值。 在這種情況下

text \\\\\\'textinquotes\\\\\\'

如果用戶輸入的所有內容正確無誤,我會寫一封電子郵件並將其存儲在數據庫中。 在我收到的電子郵件中

text \\'textinquotes\\'

在數據庫中

text 'textinquotes'

我在做什么還是錯誤的?

為了創建get我有以下代碼:

$red = $referer."?error=1";
foreach($post as $post_key => $post_value) {
    $red .= "&".$post_key."=".$post_value;
}

它是PHP淘汰的magic_quotes_gpc功能所不支持的,
或通過放置一些錯誤的常規輸入的“消毒”功能。

無論哪種情況,您都必須找到原因並永遠將其關閉。

對於魔術,您可以使用phpinfo()來查看它的價值。

如果這是魔術引號,並且您無權更改php。 設置,您至少可以清理超全局數組,這應該足夠了。 這個網站上有很多代碼, 如果php.ini / .htaccess是不可編輯的 ,那么如何刪除魔術引號? 例如

在存儲數據之前,請使用stripslashes刪除PHP的數據格式。

$text = stripslashes($_POST['data']);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM