ホームページ >バックエンド開発 >PHPチュートリアル >PHPのaddlashes関数の詳しい分析と解説_PHPチュートリアル

PHPのaddlashes関数の詳しい分析と解説_PHPチュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-07-21 15:45:291032ブラウズ

構文: string addedlashes(string str);
内容の説明
この関数は、データベース クエリがスムーズに動作できるように、データベースで処理する必要がある文字列の引用部分にスラッシュを追加します。変更される文字には、一重引用符 (')、二重引用符 (")、バックスラッシュ ()、およびヌル文字 NUL (ヌル バイト) が含まれます。
============== == ================================================
1. フォーム送信時の addlashes のパフォーマンス まず、get_magic_quotes_gpc() の値を確認します。これは通常 1 です。この時点で、
echo get_magic_quotes_gpc().
" A ".$_POST['message']
" B ".stripslashes($) _POST['メッセージ' ]);



入力: include('/home/myfile'); /me/myfile' ; データベース内の addlashes のパフォーマンス

例:
PHP コード:



コードをコピーします

コードは次のとおりです:
test< ;/title></head> <BR><body> <br><FORM action="" method=post> <div class="codetitle"><TEXTAREA name=message rows="18" Cols="55" >default text</TEXTAREA> ; <span style="CURSOR: pointer" onclick="doCopy('code40624')"><INPUT type=submit value =Submit name=submit></FORM> <u><?php </U>$db->query("INSERT INTO `testtable) ` ( id , content ) VALUES (' 1' , '".$_POST['message']."')"); </u></span>$query=$db->query("select * from `testtable` where `id `= 1;"); </div>$ Result=$db->fetch_array($query); <div class="codebody" id="code40624">echo get_magic_quotes_gpc(). <br>" A ".$_POST['message']. <br>" B ".$Result['コンテンツ']; <br>?> <br> </body></html><br><br>入力: include('/home/me/myfile'); '); B include('/home /me/myfile'); <br>概要: get_magic_quotes_gpc() が 1 に等しい場合、データベースに入り、データベースから直接読み取ると、入力文字列を取得できます。あらゆる変更。 <br><br>3、get_magic_quotes_gpc()<br> <br> サーバー上の get_magic_quotes_gpc() の設定は実行時に変更できません。つまり、Web ページのコードで事前にさまざまな状況を考慮する必要があります。そうしないと、データを送信するときに、サーバーがあなたのためにスラッシュを追加したかどうかはまだわかりません。インターネット上で次の 2 つの人気のある関数は、誰もが必要とするものかもしれません。個人的には 2 番目の関数が好きです: <br>PHP コード: <br><br><br><br>コードをコピー</div> <br> コードは次のとおりです: <br><br><br>function my_addslashes( $message ){ <strong>if(get_magic_quotes_gpc() == 1 ){ </strong>return $message; <br>}else{ <br>if(is_array($message)==true){ <br>while(list($key,$value)=each($message) ){ <div class="codetitle">$message[ $key]=my_addslashes($value); <span style="CURSOR: pointer" onclick="doCopy('code18597')">return $message; <u>}else{ </u>return addslashes($message) </span>} </div>} <div class="codebody" id="code18597">}<br><br>PHP コード: <br><br><br> <br>コードをコピー<br><br> コードは次のとおりです: <br><br><br>function my_addslashes($data){ <br>if(!get_magic_quotes_gpc()) { <br>return is_array($data)?array_map('AddSlashes',$data):addslashes($data) ); <br>} else { <br> $data を返す </div>} <br><br><br>簡単に説明すると、get_magic_quotes_gpc() が 1 (サーバーのデフォルト設定は 1) に等しい場合、文字列は変更せずにデータベースに直接保存できるということです。それ以外の場合は、addslashes 関数を使用します。 <p align="left"></p> <div style="display:none;"> <span id="url" itemprop="url">http://www.bkjia.com/PHPjc/320351.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">tru​​e</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http://www.bkjia.com/PHPjc/320351.html</span><span id="genre" itemprop="genre">技術記事</span><span id="description" itemprop="description">構文: string addedlashes(string str); 内容の説明: この関数は、データベースによる処理が必要な文字列の引用部分にスラッシュを追加し、データベース クエリがスムーズに動作できるようにします。これは…</span> </div> <div class="art_confoot"></div></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>声明:</span><div>この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。</div></div></div><div class="nphpSytBox"><span>前の記事:<a class="dBlack" title="PHPでマルチサーバー共有SESSIONデータを実現_PHPチュートリアル" href="https://m.php.cn/ja/faq/310456.html">PHPでマルチサーバー共有SESSIONデータを実現_PHPチュートリアル</a></span><span>次の記事:<a class="dBlack" title="PHPでマルチサーバー共有SESSIONデータを実現_PHPチュートリアル" href="https://m.php.cn/ja/faq/310458.html">PHPでマルチサーバー共有SESSIONデータを実現_PHPチュートリアル</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>関連記事</h2><em><a href="https://m.php.cn/ja/article.html" class="bBlack"><i>続きを見る</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="https://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ja/faq/2.html" title="正規表現内のすべての式記号 (概要)" class="aBlack">正規表現内のすべての式記号 (概要)</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!</p></div><div class="footermid"><a href="https://m.php.cn/ja/about/us.html">私たちについて</a><a href="https://m.php.cn/ja/about/disclaimer.html">免責事項</a><a href="https://m.php.cn/ja/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body><!-- Matomo --><script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://tongji.php.cn/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '9']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script><!-- End Matomo Code --></html>