PDA

View Full Version : سوال: get_$ و post_$ چه بفاوتی دارن؟



yoshika
یک شنبه 29 دی 1387, 18:12 عصر
با سلام
تفاوت post_$ و get_$ چیه؟
و اینکه get_$ ،(قابلیت ذخیره سازی) bookmarkable است یعنی چی؟
من در جایی خوندم
1-get_$ برای login مناسب نیست چون username و password کاملا قابل مشاهده روی صفحه است این ویژگی یعنی چه؟ و آیا این کاری نیست که مثلا سایت برنامه نویس انجام میده تا کاربر نیاز به login دوباره نداسته باشه؟
2-web server log چیست که همه submit های get در آن ذخیره میشود؟

cybercoder
یک شنبه 29 دی 1387, 18:23 عصر
اولی آرایه ایست محتوی اطلاعات فرمی که با متد post یعنی به صورتی نامرئی توسط مرورگر به سرور ارسال میشه با استفاده از get کلیه متغیرها به url اضافه می شن مثل : http://abc.ext?var1=x&var2=y
روشنه که اگه password رو این طوری بفرستید دیده میشه ( کسی نیاد گیر بده ما کد می کنیم و ... )

برای این که نیاز به احراز هویت مجددا انجام نشه از session استفاده می شه که در موردش مطالعه کنید.
Webserver log هم فایل هایی حاوی گزارشات سرور هستش مثل همونی که خودت گفتی

موفق باشید

yoshika
یک شنبه 29 دی 1387, 19:10 عصر
اولی آرایه ایست محتوی اطلاعات فرمی که با متد post یعنی به صورتی نامرئی توسط مرورگر به سرور ارسال میشه با استفاده از get کلیه متغیرها به url اضافه می شن مثل : http://abc.ext?var1=x&var2=y
روشنه که اگه password رو این طوری بفرستید دیده میشه ( کسی نیاد گیر بده ما کد می کنیم و ... )

برای این که نیاز به احراز هویت مجددا انجام نشه از session استفاده می شه که در موردش مطالعه کنید.
Webserver log هم فایل هایی حاوی گزارشات سرور هستش مثل همونی که خودت گفتی

موفق باشید
ممنون از پاسختون ولی متاسفانه لینکتون غیر معتبره و منظورتون رو از به طور نامریی به سرور میفرسته رو نمیفهمم میشه لطفا در مورد عملکرد این تابع توضیح بدین

و web server log در کجاست؟

behzad_gh
یک شنبه 29 دی 1387, 20:14 عصر
اگر همین الان در نوار آدرس مرورگر خودتون یک نگاه بیندازید میبینید که بعد از آدرس صفحه این عبارت درج شده :

?t=144253
وقتی مقدار t به این صورت یعنی در ادامه آدرس ست می‌شده خوب همه می‌تونند اون رو ببینند. ولی اگر بخواهیم کسی اون رو نبینه باید t رو با استفاده از دستور post مقدار دهی کنیم.
و بعد با دستور get مقداری رو که به صورت مخفی یا آشکار ست شده می‌شه گرفت.

yoshika
یک شنبه 29 دی 1387, 20:24 عصر
ولی get که نمیتونه مقداری رو که post فرستاده بگیره منطقا غلطه

behzad_gh
یک شنبه 29 دی 1387, 20:32 عصر
ولی get که نمیتونه مقداری رو که post فرستاده بگیره منطقا غلطه

اوه حق با شماست من چون چند وقتی هست که php کار نکردم فراموش کرده بودم . شرمنده

post_$
اگر اطلاعات از طريق يه فرم و با روش post به يه فايل php ارسال بشه
توي اين فايل php با استفاده از post_$ مي شه اطلاعات رو گرفت.

get_$
اگر اطلاعات از طريق يه فرم و با روش get به يه فايل php ارسال بشه يا اطلاعات بصورت QueryString به آدرس صفحه ضميمه شده باشه مانند ?t=144253 توي اين فايل php با استفاده از get_$ مي شه به اطلاعات رو گرفت

Yousha
یک شنبه 29 دی 1387, 20:41 عصر
خیلی! هیچوقت از GET_$ استفاده نکنید!

مهمترین تفاوتهاشون:
GET_$:
حداکثر 100 کاراکتر از اطلاعات رو جابه جا/ذخیره می کنه(یعنی حداکثر ظرفیتش 100 کاراکتره)!
مقادیر و پارامتر ها رو در Address bar مرورگر در معرض دید میزاره!
مقادیرش براحتی قابل Sniff/Steal هستش.
همچنین اطلاعات/مقادیر رو از QueryString/URL میگیره.
و غیره...
که باعث شده از امنیت بسیار پایینی برخوردار بشه.

POST_$:
هیچ کدوم از این ضعفهارو نداره و از امنیت بالایی هم برخورداره.
بیشتر هم برای درخواستهای Form استفاده میشه.

REQUEST_$:
بهترین و کاملترینه. قدرت پیمایشش هم بیشتره.
...
پس اگر فرم داید از POST استفاده کنید، در غیر این صورت از REQUEST.
(یادتون باشه ورودی و خروجی رو هم فیلتر و ایمن سازی کنید.)
موفق باشید.

yoshika
دوشنبه 30 دی 1387, 20:53 عصر
GET_$:
حداکثر 100 کاراکتر از اطلاعات رو جابه جا/ذخیره می کنه(یعنی حداکثر ظرفیتش 100 کاراکتره)!
.
ولی من در جایی خوندم که با get میشه یه template text برای سایت ایجاد کرد که حتما محدودیت در تعداد کاراکتر ها ندارد البته این get یک فایل متنی با پسوند .inc اگه لازمه کدشو بذارم

Yousha
دوشنبه 30 دی 1387, 23:32 عصر
ولی من در جایی خوندم که با get میشه یه template text برای سایت ایجاد کرد که حتما محدودیت در تعداد کاراکتر ها ندارد البته این get یک فایل متنی با پسوند .inc اگه لازمه کدشو بذارم

اشتباه می کنید. کدشو بزارید بهتون بگم.

yoshika
پنج شنبه 03 بهمن 1387, 15:17 عصر
vehicle_structure.php
tubular_frames.inc
mechanical_systems.php
friction_braking.inc
electrical_systems.php
solar_array.inc
racing.php
race_strategy.inc
A simple template file might look something like this (because we haven’t included the necessary
.inc text files, this example will not actually work):
<HTML>
<HEAD>
<TITLE>Solar-car topics</TITLE>
<STYLE TYPE=”text/css”>
<!--
BODY {font: verdana; font-size: 12pt}
-->
</STYLE>
</HEAD>
<BODY>
<TABLE BORDER=0 CELLPADDING=0 WIDTH=100%>
<TR>
<!-- Navbar, with Get-style URLs. -->
<TD BGCOLOR=”#4282B4” ALIGN=CENTER VALIGN=TOP WIDTH=25%>
<P>
<A HREF=”mechanical_systems.php?Name=friction_braki ng”>
<B>Friction braking</B></A>
<BR>
<A HREF=”mechanical_systems.php?Name=steering”>
<B>Steering</B></A>
<BR>
<A HREF=”mechanical_systems.php?Name=suspension”>
<B>Suspension</B></A>
<BR>
<A HREF=”mechanical_systems.php?Name=tires”>
<B>Tires and wheels</B></A>
<BR>
</P>
</TD>
<!-- Main body of content -->
<TD BGCOLOR=”#FFFFFF” ALIGN=LEFT VALIGN=TOP WIDTH=75%>
<?php include(“$_GET[‘Name’].inc”); ?>
</TD></TR></TABLE>
</BODY>
</HTML>

این کد اون template است

Yousha
پنج شنبه 03 بهمن 1387, 19:06 عصر
<?php include(“$_GET[‘Name’].inc”); ?>

یا قمر اصغر...!
اینو کی نوشته؟!

200% اشتباه و آسیب پذیره! هیچ وقت اینجوری آدرس ندید!!
با این کاره شما، میشه براحتی تمام فایلهاتون رو در Address bar مرورگر باز کرد!! بصورت Source!!!!
...
در اینجا با GET محتویات Template رو نمی خونید! و حملشون نمیکنید! بلکه فقط آدرسشو(نام فایلو) می خونید و حملش می کنید: $_GET[‘Name’]
این کدهاتون رو هم درستش کنید.
...
در غیر این صورت تو Zone-H می بینمتون... :قهقهه::چشمک: