PDA

View Full Version : بررسی کد از لحاظ امنیت



imdeveloper
پنج شنبه 04 تیر 1394, 02:27 صبح
سلام
من پس از مدت ها اومدم با PHP یه پروژه ای رو بنویسم و کدهای زیر رو برای افزودن اطلاعات نوشتم میخواستم ببینم از لحاظ امنیت چطوره؟
فایل index.php :

<html>
<head>
<title>hello world!</title>
<meta charset="utf-8" />
</head>
<body>
<form action="insert.php" method="post">
<input type="text" name="facebook" placeholder="فیس بوک" />
<input type="text" name="twitter" placeholder="توییتر" />
<input type="text" name="pinterest" placeholder="پینترست"/>
<input type="submit" value="ثبت" />
</form>
</body>
</html>

فایل insert.php :


<?php
require 'connection.php';
?>
<meta charset="utf-8"/>
<?php

$Facebook = $_POST["facebook"];
$twitter = $_POST["twitter"];
$pinterest = $_POST["pinterest"];
$ss=mysql_query(insert($Facebook , $twitter , $pinterest),ConnectToDB());
if(!$ss)
{
print "نشد";
}
else
{
print "شد";
}

?>






فایل connection.php :


<?php
require 'config.php';

function ConnectToDB()
{
$connect = mysql_connect(Db_Host,Db_UserName,Db_Password) or die ("خطا در اتصال به پایگاه داده");
mysql_select_db(Db_Name) or die ("پایگاه داده انتخاب نشد");
mysql_query('SET NAMES UTF-8');
return $connect;
}
function insert($Facebook , $twitter , $pinterest)
{
$QInsert = "INSERT INTO social VALUES ('$Facebook' , '$twitter', '$pinterest')";
return $QInsert;
}
?>




فایل config.php :


<?php
define('Db_Host','localhost');
define('Db_Name','Test');
define('Db_UserName','root');
define('Db_Password','');
?>

H:Shojaei
پنج شنبه 04 تیر 1394, 02:42 صبح
یعنی چی امنیت چطوره؟! خوب شما که کاری انجام ندادین!
از pdo یا mysqli استفاده کنید...
داده ها رو وقتی میخواید درج کنید bindParam استفاده کنید...
وقتی داده ها رو میخواید نمایش بدین یا درج کنید از توابع stripslashes, htmlentities, strip_tags, htmlspecialchars استفاده کنید...
همراه دیگر فیلدهای فرم یک توکن هم ارسال کنید و اونو چک کنید...
و...

imdeveloper
پنج شنبه 04 تیر 1394, 03:08 صبح
میشه یه نمونه پروژه خوب برا دانلود معرفی کنین

imdeveloper
پنج شنبه 04 تیر 1394, 03:36 صبح
و یه سئوال دیگه اینکه من میخوام برم سراع یادگیری فریمورک laravel بعد میخواستم بدونم که برای یادگیریش حتما باید خود PHP رو کامل بلد باشم یا اینکه نیازی نیست کامل بلد باشم؟

H:Shojaei
پنج شنبه 04 تیر 1394, 04:03 صبح
پروژه خوب که سراغ ندارم...
و برای یادگیری laravel باید php کامل بلد باشید علاوه بر اون OOP یا شی گرایی و همچنین MVC رو هم باید بلد باشید...

imdeveloper
پنج شنبه 04 تیر 1394, 21:05 عصر
شرمنده از کجا میتونم امنیت PHP رو یاد بگیرم؟

H:Shojaei
جمعه 05 تیر 1394, 01:10 صبح
یک سایت عالی (https://www.google.com/search?q=evrything+about+security+in+php&oq=evrything+about+security+in+php&aqs=chrome..69i57j0l5.25741j0j7&sourceid=chrome&es_sm=93&ie=UTF-8#safe=active&q=learning+everything+about+security+in+php)

pbm_soy
جمعه 05 تیر 1394, 03:30 صبح
برای شروع میتوانید از کتاب مرجع امنیت php استفاده کنید توسط آقای شهرام جلایری نوشته شده (کتاب الکترونیکی است)

البته باید بیشتر از حد این کتاب مطالعه کنید و تجربه و کار کنید