اسکریپت تبلیغات شبیه ایستگاه

jhoseini

Member
YPY ممنون که اطلاع دادی
موارد بررسی شد، و بنظر میاد برطرف شده، سری آخر آپلود شد رو سایت، البته رو demo نصب نشده، ممنون میشم چک کنی دوباره اگه مشکل دیگه ی دیدی برام ایمیل کن iranphponline
:oops::rose:
 
آخرین ویرایش:

Y.P.Y

Well-Known Member
:rose:.

عزیز یه پیشنهاد برای نگارش(Version) برنامه هاتون:
http://www.iran-php.com/download.htm
شما وقتی باید نگارش های قدیم رو Public قرار بدید که عدد Major نگارش جدید بزرگتر از عدد Major نگارش قدیم باشه.

مثلاً:
اشتباه: xxxV1.2.2, xxxV1.3.4, xxxV1.6.7, xxxV1.8.8...
صحیح: xxxV1.8.8, xxxV2.7.6, xxxV3.6.7...

در ضمن اگر در نگارش هاتون نقاط ضعف/Bug/مشکلات امنیتی[/B] رو Patch می کنید دیگه نگارش قدیمشو قرار ندید!
 

Y.P.Y

Well-Known Member
سلام،
1- برای جلوگیری از حملات Unicode به جداول از Option زیر برای ساختن جدول استفاده کنید: [LTR]engine= MyISAM default charset= utf8;[/LTR]

2- برای جلوگیری از حملات DOS، در فایل HTAccess. در پوشه ریشه(Index) دستور زیر رو اضافه کنید: [LTR]LimitRequestBody 5120[/LTR]

3- تمام فایل های شما حاوی فضا های خالی و بی مورد بسیار زیادی از جمله NewLine Space هستند که تقریباً 15% از حجم کل نرم افزارتو رو گرفتن! اونها رو حذفشون کنید.
(از Editor مناسب استفاده کنید: Notepad++. Dreamweaver...)

4- در هنگام نصب جداول از بودن یا نبودنش مطلع بشید تا با خطا مواجه نشین. مثلاً: [LTR]drop table if exists `xxxxx`;
...
create table if not exists `xxxxx`;[/LTR]

5- در شان نام Iran-PHP.com نیست که از همچین Comment هایی در نرم افزار استفاده کنید! اون هم به مقدار خیلی زیاد.
به ازای هر 1 کاراکتر 1 بایت به حجم نرم افزارتون اضافه میشه. شما از این Comment ها به تعداد زیاد و طول بلند در فایلهاتون دارید.
مثل:

/!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!__
##########################################
###########################################
########################################
#############################################
#############################################
##########################################_
rMCusrMCuserMCuserMCuserrMCusrMCuserMCuserMuserMCuser
_______________rMCusrMCuserMCuserMCuserCLEAR_DATABASE
//userMCuserMCuserMCuserMCusrMCuserMCuserMCuserMC______ORM
<><>><><><<<>_><><><>_______<>><><>_____________
><><><><><><><><><><>_<><><><><><><><><>_
<><><><><><<<>_><><><>__________________
FIX_U
و ...
وقتی چند تا از اینارو از یک فایل پاک کردم و درست کردم حجم فایل %20 کم شد!

6- در بالای تمام صفحات دستور [LTR]@error_reporting(E_ALL ^ E_NOTICE);[/LTR]
رو حتماً حتماً حتماً قرار بدید.
(تعدادی خطای Notice هم دارید)

7- خطا های کاربری که نرم افزار مواجه میشه رو نمایش بدید. این اشتباه هستش که: "خطایی در نرم افزار رخ داده است". چه خطایی؟ کجا؟ برای چی؟ در صورتی که مثلاً MySQL server غیر فعال هست یا امثال این...

8- این کار چه معنی داره؟ غلط هستش!
[LTR]<FilesMatch ".*">
Order deny,allow
Deny from all
</FilesMatch>
<FilesMatch "\.(jpg|jpeg|gif|tif|png|bmp|html|css|js|swf|ico|JPG|JPEG|GIF|TIF|PNG|BMP|HTML|CSS|JS|SWF|ICO)$">
Order deny,allow
allow from all
</FilesMatch>[/LTR]
شما که فایلهای تصویری(Image) رو Allow کردید، فایده ای نداره دیگه!
شما باید فایلهای PHP PHPHTML PHTML HTML HTM... رو Deny کنید(چون اینجا AllowList زیاده و BackList کمه).

9- محتویات تمام فایلهای Index.html رو پاک کنید و فایل رو خالی از هر چیزی کنید. هر فایل Index.html شما الان 100 بایت حجمشه. جمعاً 50 تا فایل Index.html دارید. حجمش چقدر میشه؟ 500 KB!(به اندازه یک نرم افزار)

10- برای همچین نرم افزاری یک فایل Language برای هر زبان دارید؟! و در همه جا همین رو فراخوانی می کنید؟! درصورتی که تقریباً نیمی از ثابت(متغیر) هاتون بی مصرف در بخش ها بارگذاری میشن! شما می تونید 1 پوشه به نام زبان درست کنید و درونش بخش بخش فایل های Language رو قرار بدید. مثلاً ,menu.php ,events.php ,global.php index.php ,login.php,...

11- حتاًامکان از آرایه/متغیر سراسری GLOBALS$ استفاده نکنید. این دستور به صورت Scope تعریف و ارجاع می شه!
و ایمنی خیلی پایینی هم داره. همچنین از ()UnSet هم پشتیبانی نمی کنه. ازش استفاده نکنید!

12- در آخر اینکه متغیر ها، آرایه ها، شی ها، درخواستهای HTTP و ... رو بعد از استفاده حتماً حتماً حتماً ()UnSet کنید!

در پایین امضام هم، Link یک سری نکات مهم و توابع مفید هستش، از اونا هم استفاده کنید(نگارش نرم افزارتون رو هم درست کنید).
موفق باشید.
 

جدیدترین ارسال ها

بالا