PDA

View Full Version : پردازش نشدن کد php داخل html هنگام echo کردن در فایل php



sasanamiri
دوشنبه 21 تیر 1395, 22:10 عصر
سئوالم اینه که در حال نوشتن قسمت پنل مدیریت یک نرم افزار تحت php هستم و مجبور برای امنیت بیشتر آدرس صفحات رو مخفی کنم و تنها راه دسترسی بهشون از طریق فایل index.php در شاخه اصلی سایت هستش مثلا برای رفتن به صفحه home باید در قیمت آدرس بار با متد GET این کار رو کرد
مثلا
http://www.example.com/index.php?route=home


و بعد فایل index با دریافت متد GET متوجه میشه که باید چه صفحه ای رو لود کنه و اون وقت صفحه مورد نظر رو از فایل های مربوط به اون صفحه که در قسمت دیگری از سرور ذخیره شده رو از فایل خونده و در فایل index اکو echo می کنه همه چیز به خوبی کار میکنه به جژء

اینکه کد های php داخل html که از فایل مورد نظر خونده میشه و بعد echo میشه اصلا parse نمیشه یعنی اجرا نمیشه و مثل یک تگ html باهاش برخورد میشه
و تو زدن view page source در مرورگر میشه کد های php رو دید

حالا میخوام بدونم آیا راهی هست که قبل از اکو کردن کد php داخل html ترجمه و اجرا بشه و بعد اکو بشه یا نه
ممنون میشم دوستان راهنمایی کنید خیلی گیر کردم تو این موضوع
نمونه کد:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Apple ID</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- Bootstrap 3.3.4 -->
<link rel="stylesheet" href="admin/view/bootstrap/css/bootstrap.min.css">

<!-- Theme style -->
<link rel="stylesheet" href="admin/view/dist/css/app.min.css">

</head>
<body dir="rtl" class="login-page">
<div class="login-box">
<div class="login-box-body">
<div class="login-logo">
<img src="images/app/logo.png" alt="Application Logo" >
</div><!-- /.login-logo -->
<p class="login-box-msg">
<?php
if($_session['message'] == ''){
echo 'لطفا نام کاربری و کلمه عبور خود را وارد نمایید';
}else{
echo $_session['message'];
}
?>
</p>
<form id="ajaxlogin" action="admin/modules/login.php" method="post">
<div class="form-group has-feedback">
<input type="text" name="username" class="form-control" placeholder="نام کاربری">
<span class="glyphicon glyphicon-user form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
<input type="password" name="password" class="form-control" placeholder="گذرواژه">
</div>

<img id="imgcaptcha" class="center-block" src="admin/view/modules/catpcha/ap-captcha.php" alt=" کد امنیتی" style="cursor:pointer">
<br>

<input class="form-control center-block" type="text" name="captcha" placeholder="کد امنیتی " style="width:160px;text-align:center">

<br>
<button type="submit" id="btnlogin" class="btn btn-success btn-block center-block" style="width:200px;">ورود</button>
</form>
</div><!-- /.login-box-body -->
</div><!-- /.login-box -->

<!-- jQuery 2.1.4 -->
<script src="admin/view/plugins/jQuery/jQuery-2.1.4.min.js"></script>
<!-- Bootstrap 3.3.4 -->
<script src="admin/view/bootstrap/js/bootstrap.min.js"></script>

<script>
$("document").ready(function(e) {
$("#imgcaptcha").click(function(){
document.getElementById("imgcaptcha").src="admin/view/modules/catpcha/ap-captcha.php";
});
});

</script>
</body>
</html>

sasanamiri
سه شنبه 22 تیر 1395, 22:52 عصر
راه حل استفاده از تابعinclude بود

aaaaaaaa1
جمعه 25 تیر 1395, 10:05 صبح
!!!!
جالب بود

farhad_823
دوشنبه 28 تیر 1395, 01:39 صبح
میشه از eval استفاده کرد که مشکلات امنیتی زیادی به همراه داره. راه بعد استفاده از include است که خودتون هم اشاره کردید. اما به جای این ها می توانید با استفاده از htaccess به هر شکل که بخواهید آدرس دهی کنید.

arash_fa
سه شنبه 29 تیر 1395, 00:02 صبح
صد البته که استفاده از include و require و مدل once این دو مورد میشه استفاده کرد

شما از چی استفاده کردید مگه؟ یعنی چه جور لود کردید فایل قالبو؟

البته چون جالب بود برام سوال کردم