0

CentOS 5 VPS があり、そこに Web サイトをインストールしました。しかし、パスワード フィールドに ' (アポストロフィ) などの特殊文字を挿入すると、このパスワードが正しくないというエラーが常に表示されるという問題があります:/これは Linux システムが原因だと思います。私は正しいですか?それとも、私がやっている消毒のせいでしょうか?

誰かが私を助けることができれば、私は喜んでいます。

編集:

function array_sanitize(&$item) {
    $item = htmlentities(strip_tags(mysql_real_escape_string($item)));
}
4

2 に答える 2

1

マジック クォートが有効になっている場合は、オフにする必要があります。php.ini で次のように編集します。

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

.htaccessまたは、これをドキュメント ルートに配置することもできます。

php_flag magic_quotes_gpc Off

マジック クォートについて知りたい場合: http://php.net/manual/en/security.magicquotes.php

于 2012-10-29T11:38:50.583 に答える
0

うーん、これは入力エスケープの問題、または Web サイトの設定のように思えます。有効なユーザー名/パスワードを実行してチェックする実際のクエリへの入力のパスをトレースしてみてください。これは、実際のコードなしで書くことができるすべてです。

PS私は答えしか投稿できないので、このように投稿しています。

于 2012-10-29T11:19:46.933 に答える