PDA

View Full Version : سوال: کد معادل import_request_variables



arezoo021
یک شنبه 05 اردیبهشت 1395, 19:35 عصر
سلام دوستان
به دلیل نقص امنیتی که تابع import_request_variables داشت در ورژن های جدید php حذف شده
دوستان تابع extract رو پیشنهاد دادن. آیا روش بهتر و امن تری جز این وجود داره؟ اگه نه که نحوه ی استفاده از تابع extract رو بهم یاد بدین دوستان اگه ممکنه.
مثلا برای ارسال اطلاعات از فرم مبدا به مقصد با تابع extract کدش چجوری میشه؟ ممنونم

arezoo021
دوشنبه 06 اردیبهشت 1395, 04:36 صبح
کسی نمیدونه واقعا؟

arezoo021
دوشنبه 06 اردیبهشت 1395, 12:19 عصر
اساتید نمیتونین راهنمایی کنین؟

Farshid007
دوشنبه 06 اردیبهشت 1395, 14:44 عصر
تا اونجایی که من میدونم تابع extract ی ارایه میگیره و متغیر هارو متناسب با کلید های اون ارایه معادل سازی میکنه
تابع extract چه ربطی به ارسال اطلاعات از فرم مبدا به مقصد داره؟؟:متفکر:

http://php.net/manual/en/function.extract.php

اینم تعریف از W3Schools درباره تابع extract:


The extract() function imports variables into the local symbol table from an array.
This function uses array keys as variable names and values as variable values. For each element it will create a variable in the current symbol table.
This function returns the number of variables extracted on success.

arezoo021
دوشنبه 06 اردیبهشت 1395, 14:59 عصر
پس الان بجای import_request_variables از چی استفاده کنیم؟؟؟؟؟

arezoo021
سه شنبه 07 اردیبهشت 1395, 06:22 صبح
کسی بلد نیست واقعاااااااااا؟

MeSaeid
سه شنبه 07 اردیبهشت 1395, 06:50 صبح
شما کدی که قبلا استفاده می کردید رو قرار بدید تا بتونیم راهنمایی کنیم

hamedarian2009
سه شنبه 07 اردیبهشت 1395, 12:26 عصر
این دستور به دلایل امنیتی حذف شده با همون GET و POST معمولی دریافت کنید یا از extract استفاده کنید

arezoo021
سه شنبه 07 اردیبهشت 1395, 16:43 عصر
نحوه ی استفاده از تابع extract رو میگین؟

arezoo021
سه شنبه 07 اردیبهشت 1395, 16:55 عصر
<HTML>
<HEAD>
<TITLE>Form DEMO</TITLE>
<?php
import_request_variables("p","r_");
?>
</HEAD>
<BODY>
<?php
if($r_uname=="steve" && $f_pass=="1234598")
{
echo("Welcome!!!\n");
}
else
{
echo("Invalid User!<BR/>\n");
echo("Click <A HREF=\"demo.php\">here</A> to retry.\n");
}
?>
</BODY>
</HTML>
معادل import_request_variables("p","r_"); با تابع extract چی میشه؟

arezoo021
سه شنبه 07 اردیبهشت 1395, 16:56 عصر
این دستور به دلایل امنیتی حذف شده با همون GET و POST معمولی دریافت کنید یا از extract استفاده کنید
نحوه ی استفاده از تابع extract رو میگین؟

Farshid007
چهارشنبه 08 اردیبهشت 1395, 09:22 صبح
احتیاجی به اکسترکت کردن آرایه POST نیست
می تونید مستقیم خود ارایه POST رو بکار گیرید:


<HTML>
<HEAD>
<TITLE>Form DEMO</TITLE>
</HEAD>
<BODY>
<?php
if($_POST['uname']=="steve" && $_POST['pass']=="1234598")
{
echo("Welcome!!!\n");
}
else
{
echo("Invalid User!\n");
echo("Click <A HREF=\"demo.php\">here</A> to retry.\n");
}
?>
</BODY>
</HTML>

پ ن :فقط نمیدونم چرا پسورد اولشو نوشتید _f در حالی که پارامتر دوم تابع import_request_variables اون نیست بلکه _r هستش:متفکر:

Farshid007
چهارشنبه 08 اردیبهشت 1395, 09:27 صبح
<HTML>
<HEAD>
<TITLE>Form DEMO</TITLE>
<?php
import_request_variables("p","r_");
?>
</HEAD>
<BODY>
<?php
if($r_uname=="steve" && $f_pass=="1234598")
{
echo("Welcome!!!\n");
}
else
{
echo("Invalid User!<BR/>\n");
echo("Click <A HREF=\"demo.php\">here</A> to retry.\n");
}
?>
</BODY>
</HTML>
معادل import_request_variables("p","r_"); با تابع extract چی میشه؟
نمیدونم چرا اصرار دارید ارایه رو اکسترکت کنید؟؟؟


Do not use extract() on untrusted data, like user input (i.e. $_GET, $_FILES, etc.). If you do, for example if you want to run old code that relies on register_globals temporarily, make sure you use one of the non-overwriting extract_type values such as EXTR_SKIP and be aware that you should extract in the same order that's defined in variables_order within the php.ini.

برای ارایه های ارسالی GET و POST و اینجور چیزا اکسترکت نمیکنن!!!

hamedarian2009
چهارشنبه 08 اردیبهشت 1395, 11:42 صبح
http://php.net/manual/en/function.extract.php

arezoo021
پنج شنبه 09 اردیبهشت 1395, 07:22 صبح
خیلی ممنونم از راهنماییتون.

arezoo021
جمعه 10 اردیبهشت 1395, 19:28 عصر
ممنونم ولی اینو خودمم خوندم. متوجه نشدم راستش!!!! :متفکر:

Farshid007
شنبه 11 اردیبهشت 1395, 09:46 صبح
میشه دقیقا بگید چیکار میخواهید بکنید؟:افسرده: