以下のようなサイトに使用するデフォルトのサイト テンプレートがあります。
<!-- Meta start -->
<title></title>
<meta name="description" content="" />
<meta name="keywords" content="" />
<!-- Meta end -->
<?php
require_once($sidebar_inc);
?>
<?php
// main.inc.php
require_once($main_inc);
?>
<!-- CONTENT START -->
<?php
// signup.tpl template location
$tpl = 'inc/tpl/signup.tpl';
// check if files exists and is readable
if(file_exists($tpl) && is_readable($tpl)) {
echo file_get_contents($tpl);
} else {
echo 'Template not found';
}
?>
<!-- CONTENT FINISH -->
<?php
// footer.inc.php
require_once($footer_inc);
?>
今私の問題は、魔法の引用符がオンになっている場合signup.tpl
に含まれている場合に、すべてのフォームデータに追加されることです。file_get_contents
"\
signup.tpl
テンプレートはこちら
<h1>Sign up</h1>
<p>Welcome to SITE_NAME. To get started, you’ll need an account.</p>
<form action="signup.php" method="post">
<div class="form_settings">
<p><span>Name</span><input class="contact" type="text" name="your_name" value="" /></p>
<p><span>Email Address</span><input class="contact" type="text" name="your_email" value="" /></p>
<p><span>Message</span><textarea class="contact textarea" rows="8" cols="50" name="your_enquiry"></textarea></p>
<p style="padding-top: 15px"><span> </span><input class="submit" type="submit" name="contact_submitted" value="submit" /></p>
</div>
</form>
基本的に魔法の引用符signup.tpl
が含まれていると、このように表示されます。
ただし、魔法の引用符をオフにすると、スラッシュが追加されないため、次のようになります。
これで、魔法の引用符をオンにするべきではないことがわかりましたが、魔法の引用符がオンになっている場合はすべてからスラッシュを削除する機能がある$_GET, $_POST, $_COOKIE, $_SESSION
ため、魔法の引用符がオンになっていてもスクリプトが機能します。問題は、魔法の引用符がオンになっていると、にスラッシュが追加されないという問題を解決する方法がわからないことsignup.tpl
です。たとえば、魔法の引用符がオンになっているサーバーにスクリプトを移動した場合に、スクリプトが機能することを確認したいだけです。
signup.tpl にスラッシュを追加するマジック クォートを停止するにはどうすればよいですか? 魔法の引用符をオフにできることはわかっていますが、魔法の引用符がオンになっていて魔法の引用符をオフにすることを許可していないサーバーを変更した場合に備えて言ったように。
(フォームは無視してください。問題を示すためのサンプルとして使用されているサインアップ フォームではありません)。