PDA

View Full Version : سوال: امنیت در سورس



soroush.r70
چهارشنبه 14 فروردین 1392, 10:19 صبح
به نظر شما چه کاری برای سورس زیر انجام بدم خوبه و امنیتش خوب می شه...؟

فرم :


<form method="post" id="rssform" action="<?php echo root; ?>inc/save.php">
<center><input type="email" name="emailrss" required placeholder="ایمیل خود را وارد نمایید" class="inputemail" autocomplete="off"></center>
<center> <input type="submit" class="botton" value="ثبت ایمیل"></center>
</form>

save.php :


<?php
if(isset($_POST['emailrss']))
{
$persianscript = $_POST['emailrss'];
$file = fopen("list.txt", "a");
chmod("list.txt",0777);
fwrite($file, "\n" . $persianscript);
fclose($file);
echo '<script type="text/javascript">window.location = "tanx.php";</script>';
exit;
}
?>

colors
چهارشنبه 14 فروردین 1392, 10:43 صبح
اینجارو (http://barnamenevis.org/showthread.php?382173-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-TOKEN-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%81%D8%B1%D9%85-%D9%87%D8%A7-%D9%88-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-%D8%A2%D9%86-!) یه سری بزن

soroush.r70
چهارشنبه 14 فروردین 1392, 10:55 صبح
من اومدم فرم رو به این شکل :


<form method="post" id="rssform" action="<?php echo root; ?>inc/save.php">
<center><input type="email" name="emailrss" required placeholder="ایمیل خود را وارد نمایید" class="inputemail" autocomplete="off"></center>
<center> <input type="submit" name="submit" class="botton" value="ثبت ایمیل"></center>
<input name="token_key" type="hidden" id="token_key" value="<?php echo $token_key;?>" />
</form>

و صفحه save.php رو به این شکل :


<?php
session_start();
if(isset($_POST['submit'],$_POST['emailrss'],$_SESSION['token_key'],$_POST['token_key'])
&& $_SESSION['token_key']==$_POST['token_key'])
{
$persianscript = $_POST['emailrss'];
$file = fopen("list.txt", "a");
chmod("list.txt",0777);
fwrite($file, "\n" . $persianscript);
fclose($file);
echo '<script type="text/javascript">window.location = "tanx.php";</script>';
exit;

}
$token_key=md5(time());
$_SESSION['token_key']=$token_key;
?>

ولی هیچ عکس العملی نشون نمی ده چرا..؟

colors
چهارشنبه 14 فروردین 1392, 11:26 صبح
منظورت چه عکس العملیه؟

soroush.r70
چهارشنبه 14 فروردین 1392, 15:13 عصر
منظورت چه عکس العملیه؟

خوب باید وقتی داخل فرم می نویسم باید در فایل متنی ثبت بشه فقط به صفحه save.php ارجاع داده می شه بعد هیج کاری نمی کنه

colors
چهارشنبه 14 فروردین 1392, 16:20 عصر
مگه قرار کار بیشتری صورت بده؟ الان کدت مشکلی نداره!

soroush.r70
چهارشنبه 14 فروردین 1392, 18:31 عصر
اگه به کد دقت کنید می بینید بعد submit باید در بره به صفحه save.php و ایمیل رو داخل فایل list.txt ذخیره کنه و بعد بره به tanx.php که همچنین اتفاقی نیفته

colors
چهارشنبه 14 فروردین 1392, 18:43 عصر
کدهای :

$token_key=md5(time());
$_SESSION['token_key']=$token_key;

باید در صفحه ای که فرم قرار داره بزارین, سشن روهم واسش استارت کن

<?php
session_start();
$token_key=md5(time());
$_SESSION['token_key']=$token_key;
?>
<form method="post" id="rssform" action="<?php echo root; ?>inc/save.php">
<center>
<input type="email" name="emailrss" required placeholder="ایمیل خود را وارد نمایید" class="inputemail" autocomplete="off">
</center>
<center>
<input type="submit" name="submit" class="botton" value="ثبت ایمیل">
</center>
<input name="token_key" type="hidden" id="token_key" value="<?php echo $token_key;?>" />
</form>
اون دو خط روهم از فایل save.php حذف کن

soroush.r70
چهارشنبه 14 فروردین 1392, 19:29 عصر
خیلی عجیبه بازم نشد اینکارو کردم .

فرم:

<?php
$token_key=md5(time());
$_SESSION['token_key']=$token_key;
?>
<form method="post" id="rssform" action="<?php echo root; ?>inc/save.php">
<center><input type="email" name="emailrss" required placeholder="ایمیل خود را وارد نمایید" class="inputemail" autocomplete="off"></center>
<center> <input type="submit" name="submit" class="botton" value="ثبت ایمیل"></center>
<input name="token_key" type="hidden" id="token_key" value="<?php echo $token_key;?>" />
</form>


save.php


<?php
if(isset($_POST['submit'],$_POST['emailrss'],$_SESSION['token_key'],$_POST['token_key'])
&& $_SESSION['token_key']==$_POST['token_key'])
{
$persianscript = $_POST['emailrss'];
$file = fopen("list.txt", "a");
chmod("list.txt",0777);
fwrite($file, "\n" . $persianscript);
fclose($file);
echo '<script type="text/javascript">window.location = "tanx.php";</script>';
exit;
}
?>

colors
چهارشنبه 14 فروردین 1392, 19:59 عصر
به شرطی که سشن هارو تو دو صفحه استارت کرده باشی, هیچ مشکلی تو کدهات نیست! همین الان تستش کردم