質問

を使用しているmysql apiはPHP、現在の変換をmysqliに増加します。の例文れによって使用printf、知りたいと思い場合には必要です。現在使用エコーのように:

echo "<h1>".$row['ARTICLE_NAME']."</h1>
<div id='leftlayer' class='leftlayer'>
<p><strong>Username: </strong>".$row['USERNAME']."
<p><strong>Article Number: </strong>".$row['ARTICLE_NO']."
<p><strong>Subtitle: </strong>".$row['SUBTITLE']."
<p><strong>Auction Start: </strong>".$row['ACCESSSTARTS']." 
</div>";

でmysqliが必要に結合変数の結果によってこのように:

$getRecords->bind_result($ARTICLE_NO, $ARTICLE_NAME, $SUBTITLE$, $CURRENT_BID, $START_PRICE, $BID_COUNT, $QUANT_TOTAL, $QUANT_SOLD, $ACCESSSTARTS, $ACCESSENDS, $ACCESSORIGIN_END, $USERNAME, $BEST_BIDDER_ID, $FINISHED$, $WATCH$$, $BUYITNOW_PRICE, $PIC_URL, $PRIVATE_AUCTION, $AUCTION_TYPE, $ACCESSINSERT_DATE, $ACCESSUPDATE_DATE, $CAT_DESC$, $CAT_PATH, $ARTICLE_DESC, $COUNTRYCODE, $LOCATION$, $CONDITIONS, $REVISED$, $PAYPAL_ACCEPT, $PRE_TERMINATED, $SHIPPING_TO, $FEE_INSERTION, $FEE_FINAL$, $FEE_LISTING, $PIC_XXL$, $PIC_DIASHOW, $PIC_COUNT, $ITEM_SITE_ID); 

というだけ替えるだけで簡単に私の参$列の結合変数は、例えば:

  <p><strong>Username: </strong>".$USERNAME."

あるセキュリティ上の問題とは、この考えているのか、あるいは微

役に立ちましたか?

解決

私は、データベースからデータを取得しているとき、結合は、あなたのアプリケーションをより安全になりますが、DBに書いているときに、SQLインジェクションの危険性を持っていないだろうとして、しかしそれが役立つことをわからない。

あなたは、DBからの読み取りに取る

どのようなアプローチで、あなたはまだあなたは、データが完全にクリーンであることを完全に特定されていない場合htmlspecialchars()使用して出力をエスケープする必要があります。あなたはあなたがそれを出力しているところに適用された方法でデータをエスケープする必要があります - あなたははIonutにあなたのコメントで示唆としてバインド文はこれを処理しません。 PHP / MySQLは、HTMLドキュメント/シェルコマンド/ JSONの/ etcに印刷されているかどうか分かりません。任意の出力媒体のための任意のデータを安全にする魔法の脱出方法はありません。

他のヒント

同意するそのmysqliは少なくとも原則として--より、mysqlのパッケージできるので結合するパラメータは両方に力を入れ、より良いためにクエリを実行します。れん発見された少なくとも二つの深刻な問題mysqli:

  • バグ46808 問題なのであることが報告されていますの異なる方法 少なくとも三年 やまだんが修正されていない。を利用する場合はLONGTEXTカラムという問題や
  • てしまったりしくおかのバグがmysqliに失敗した(意味のないメッセージについての誤りに"カナリフォーム"またはsomesuch).でのこの点のみ(1))であったことを断念せざるをmysqli.

PDOあります。すか?私たバイナリを使用しています。いを簡単んなに注意して逃げ文字列です。

XML / HTMLページを提供するとき、

あなたは、出力をエスケープする必要があります。その使用ははhtmlspecialcharsするまたは<のhref = "のhttp:// www.php.net/manual/en/function.htmlentities.php」のrel = "nofollowをnoreferrer">にhtmlentities を。とにかく、あなたは関係なく、データソースとそのデータをフェッチするために使用されるAPIの出力をエスケープする必要があります。

知っているバッファオーバーフローの脆弱性が報告されてるPHPのバージョンわからないバージョンになってる。に基づく照会を受けることを想定し、入力い適切にフィルタを用い printf があることがあるの確保によ エコー.より多くの文脈のものです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top