![](/img/trans.png)
[英]Echo new lines and unescaped values in textarea during Post Redirect Get routine
[英]Get unescaped POST, not magic quoted values in WordPress
遵循以下問題: 禁用“魔術引號”后,為什么 PHP/WordPress 會繼續自動轉義我的 POST 數據?
在 WordPress 中,即使魔術引號關閉,所有超全局變量也會被轉義。
因此,請遵循以下答案: 禁用“魔術引號”后,為什么 PHP/WordPress 會繼續自動轉義我的 POST 數據?
如果我創建一個插件和一個類來訪問原始 POST、GET 等,這是一個好的解決方案嗎? 您是否發現這種方法有任何缺點和問題?
下面是我的插件:
class MyPluginRequest{
public static function getPost( $key ){
global $_REAL_POST;
return isset( $_REAL_POST[ $key ] )? $_REAL_POST[ $key ] : FALSE ;
}
}
// A hack to cope with un-configurable call to wp_magic_quotes
// E.G. Make the original $_POST available through a global $_REAL_POST
global $_REAL_GET, $_REAL_POST, $_REAL_COOKIE, $_REAL_REQUEST;
$_REAL_GET = $_GET;
$_REAL_POST = $_POST;
$_REAL_COOKIE = $_COOKIE;
$_REAL_REQUEST = $_REQUEST;
然后我使用MyPluginRequest::getPost( 'submit' );
每次我需要發布的未轉義值時。
$wpdb->escape
期望一個已經神奇的引用值還是一個未轉義的值?
看起來它應該可以正常工作。 在問題的后半部分,我相信$wpdb->escape
已被棄用,根據評論塊
/**
* Do not use, deprecated.
*
* Use esc_sql() or wpdb::prepare() instead.
*
* ...
查看 WordPress 代碼以確定wpdb::prepare
期望魔術引用值將我們引入可怕的 WordPress 代碼的泥潭......>咬舌頭<
看起來它希望對我來說是非魔法引用的字符串,但是如果你傳遞一個魔法引用的字符串,它有可能不會雙重轉義,盡管我會通過測試進行驗證。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.