جعل الحقول اجباريه + حماية المدخلات من الاكواد

ركن مشاكل وحلول واستفسارات لغات البرمجه : خاص بمشاكل وحلول واستفسارات لغات البرمجه , نتمنى ان عدم وضع اي مشكله او طلب او استفسار بركن لغات البرمجه
Like Tree6معجبون
  • 2 أضيفت بواسطة Al-Kaiser
  • 1 أضيفت بواسطة Al-Kaiser
  • 1 أضيفت بواسطة Al-Kaiser
  • 1 أضيفت بواسطة Al-Kaiser
  • 1 أضيفت بواسطة مدونة مميزه
مدونة مميزه
:: عضو جديد ::
تاريخ الإنضمام: 03 - 11 - 2017
رقم العضوية : 401938
المشاركات: 12
قديمة 08 - 08 - 2018, 23:34
المشاركة 1
  • قوة السمعة : 50
  • الإعجاب: 4

    السلام عليكم ورحمة الله وبركاته
    اخواني لاهنتو ابي تعديل على الاكواد

    التعديل جعل الحقول اجباريه وتحديد عدد الحروف للحقول
    حماية المدخلات من الاكواد


    الفورم الاول

    رمز PHP:
     @extends('default.master')
      @
    section('top_head')
    <
    style type="text/css">
        .
    top_nav{
            
    background: {{$stype->color}};
        }
        .
    headcolor:{{$stype->color}};}
        .
    addpagebackground:#fff; border:1px solid #E8E8E8;}
        
    </style>
        @
    stop
     
    @section('content')
     <
    div class="container">
        <
    div class="row addpage">
            <
    div class="col-md-12">
        <
    h1 class="head">{{$stype->name}} : اضافة حساب</h1>
        
       @if(
    Session::get('success') != '' )
                            <
    div class="alert alert-success">
                                <
    button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
                                <
    class="fa fa-info-circle"></i>  
                                {{
    Session::get('success')}}
                                {{
    Session::forget('success')}}
                            </
    div>
                         @endif

                        @if(
    $errors->has())
                         
                            
                            <
    div class="alert alert-danger">
                                <
    strong>خطأ ! : </strong>{{ $errors->first() }}
                            </
    div>
                         
                        @endif


                     {{ 
    Form::open(array('url' => '/'.$stype->slug.'/add','files'=> true)) }}
                     <
    div class="col-sm-12">
                        <
    div class="form-group ">
                         <
    label class="control-label requiredField " for="email">
                          
    الاسم
                         
    </label>
                         {{ 
    Form::text('name''', array(
                        
    'class' => 'form-control input-lg',
                        
    'placeholder' => 'ادخل اسمك'
                        
    )) }}
                        </
    div>
                        </
    div>
                        <
    div class="col-sm-12">
                        <
    div class="form-group ">
                         <
    label class="control-label requiredField" for="email">
                          
    النوع
                         
    </label>
                         <
    select name="gender" class="form-control">
                             <
    option value="male">ذكر</option>
                             <
    option value="female">أنثى</option>
                         </
    select>
                        </
    div>
                        </
    div>
                        <
    div class="col-sm-12">
                        <
    div class="form-group ">
                         <
    label class="control-label requiredField" for="email">
                          
    الدولة
                         
    </label>
                         {{
    Form::select('country',$countries,null, array(
                        
    'class' => 'form-control input-lg'
                        
    ))}}
                        </
    div>
                        </
    div>
                        <
    div class="col-sm-12">
                        <
    div class="form-group ">
                         <
    label class="control-label requiredField" for="email">
                          
    رسالة الترحيب
                         
    </label>
                         {{ 
    Form::textarea('msg''', array(
                        
    'class' => 'form-control input-lg',
                        
    'placeholder' => ''
                        
    )) }}
                        </
    div>
                        </
    div>
                       <
    div class="col-sm-12">
                        <
    div class="form-group ">
                         <
    label class="control-label requiredField" for="email">
                          
    الكود
                         
    </label>
                         {{ 
    Form::text('pincode''', array(
                        
    'class' => 'form-control input-lg',
                        
    'placeholder' => ' '
                        
    )) }}
                        </
    div>
                        </
    div>
                     <
    div class="edit-row-form">
                        <
    div class="col-sm-12 text-center">
                        <
    div class="form-group">
                         <
    div>
                          <
    button class="btn btn-danger " name="submit" type="submit">
                           
    اضافة
                          
    </button>
                          {{ 
    Form::hidden('type'$stype->id) }}
                         </
    div>
                        </
    div>
                        </
    div>
                    </
    div>
                    {{ 
    Form::close() }}  
                    
        </
    div>
    </
    div>
    </
    div>    
    @
    stop 


    الفورم الثاني


    رمز PHP:
      <?php $__env->startSection('top_head'); ?>
    <style type="text/css">
        .top_nav{
            background: <?php echo $stype->color?>;
        }
        .head{ color:<?php echo $stype->color?>;}
        .addpage{ background:#fff; border:1px solid #E8E8E8;}
        
    </style>
        <?php $__env->stopSection(); ?>
     <?php $__env->startSection('content'); ?>
     <div class="container">
        <div class="row addpage">
            <div class="col-md-12">
        <h1 class="head"><?php echo $stype->name?> : اضافة حساب</h1>
        
       <?php if(Session::get('success') != '' ): ?>
                            <div class="alert alert-success">
                                <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
                                <i class="fa fa-info-circle"></i>  
                                <?php echo Session::get('success'); ?>

                                <?php echo Session::forget('success'); ?>

                            </div>
                         <?php endif; ?>

                        <?php if($errors->has()): ?>
                         
                            
                            <div class="alert alert-danger">
                                <strong>خطأ ! : </strong><?php echo $errors->first(); ?>

                            </div>
                         
                        <?php endif; ?>


                     <?php echo Form::open(array('url' => '/'.$stype->slug.'/add','files'=> true)); ?>

                     <div class="col-sm-12">
                        <div class="form-group ">
                         <label class="control-label requiredField " for="email">
                          الاسم
                         </label>
                         <?php echo Form::text('name''', array(
                        
    'class' => 'form-control input-lg',
                        
    'placeholder' => 'ادخل اسمك'
                        
    )); ?>

                        </div>
                        </div>
                        <div class="col-sm-12">
                        <div class="form-group ">
                         <label class="control-label requiredField" for="email">
                          الجنس
                         </label>
                         <select name="gender" class="form-control">
                             <option value="male">ذكر</option>
                             <option value="female">أنثى</option>
                         </select>
                        </div>
                        </div>
                        <div class="col-sm-12">
                        <div class="form-group ">
                         <label class="control-label requiredField" for="email">
                          الدولة
                         </label>
                         <?php echo Form::select('country',$countries,null, array(
                        
    'class' => 'form-control input-lg'
                        
    )); ?>

                        </div>
                        </div>
                        <div class="col-sm-12">
                        <div class="form-group ">
                         <label class="control-label requiredField" for="email">
                          رسالة الترحيب
                         </label>
                         <?php echo Form::textarea('msg''', array(
                        
    'class' => 'form-control input-lg',
                        
    'placeholder' => ''
                        
    )); ?>

                        </div>
                        </div>
                       <div class="col-sm-12">
                        <div class="form-group ">
                         <label class="control-label requiredField" for="email">
                          الكود
                         </label>
                         <?php echo Form::text('pincode''', array(
                        
    'class' => 'form-control input-lg',
                        
    'placeholder' => ' '
                        
    )); ?>

                        </div>
                        </div>
                     <div class="edit-row-form">
                        <div class="col-sm-12 text-center">
                        <div class="form-group">
                         <div>
                          <button class="btn btn-danger " name="submit" type="submit">
                           اضافة
                          </button>
                          <?php echo Form::hidden('type'$stype->id); ?>

                         </div>
                        </div>
                        </div>
                    </div>
                    <?php echo Form::close(); ?>  
                    
        </div>
    </div>
    </div>    
    <?php $__env->stopSection(); ?>
    <?php 
    echo $__env->make('default.master'array_except(get_defined_vars(), array('__data''__path')))->render(); ?>

    التعديل الأخير كان بواسطة مدونة مميزه; 08 - 08 - 2018 الساعة 23:37
    أفضل إجابه - أضيفت بواسطة Al-Kaiser
    افتح ملف web.php الخاص بال Routes وشوف ال url الي انت تدخله محطوط على اي controller وايضا على اي وظيفة مفعل على سبيل المثال لو ابي اروح للصفحة الرئيسية يكون ال route الخاص به هو التالي
    رمز PHP:
    Route::get('/''[email protected]')->name('home'); 
    اما بخصوص حماية المدخلات فل نقول انه في الوظيفة new_premium_post نبي نعمل ادخال للبيانات ونتاكد انه البيانات تدخل بدون اكواد خبيثه راح نعمل التالي
    رمز PHP:
    $add = new Premium
                
    $add->name       strip_tags(Input::get('name')); 
                
    $add->link       strip_tags(Input::get('link')); 
                
    $add->type       Input::get('type'); 
                
    $add->ordered       Input::get('ordered'); 
    مثل منت شايف عملت على المدخل الي اسمه name وايضا المدخل الي اسمه link الوظيفة هذي strip_tags()؛ وهي راح تشيل الاكواد الخبيثة منه على سبيل المثال انا جيت ودخلت الكود التالي في ال input الي اسمه name

    رمز Code:
    <script>alert('my name is kaiser !?!?');</script>
    راح يعرض لي التالي

    alert('my name is kaiser !?!?');

    طبعا مثل منت شايف عرضها لي مع single quotes ( ' ) ولو كانت double quotes ( " )راح يعرضها لي< وطبعا هذا شيء خطير احتمال كبير يخرج من كود ال php وغيرة ويفضل لو تبي تستخدم ال strip_tags نستخدم معاها htmlspecialchars

    وتقدر تستغني عن ال strip_tags وتستخدم ال htmlspecialchars والي راح يعرض لي كود ال javascript كالتالي

    &lt;script&gt;alert('my name is kaiser !?!?');&lt;/script&gt;

    عشان نستخدم ال htmlspecialchars في كودك السابق نعمل التالي
    رمز PHP:
    $add = new Premium
                
    $add->name       htmlspecialchars($Input::get('name'), ENT_QUOTES'UTF-8');
                
    $add->link       htmlspecialchars($Input::get('link'), ENT_QUOTES'UTF-8');
                
    $add->type       Input::get('type'); 
                
    $add->ordered       Input::get('ordered'); 
    طبعا كل الي قلته هو اشياء بسيطة في حماية المدخلات اذا حابب تعرف اكثر عن الحماية بشكل عام

    في ال php اخوي @Ehab Obaidat‎‏ ماقصر عمل الموضوع هذا

    https://www.traidnt.net/vb/traidnt2651193/

    بالتوفيق واتمنى اني افدتك
    قديمة 09 - 08 - 2018, 10:34
    المشاركة 2
    صورة 'Al-Kaiser' الرمزية
    Al-Kaiser
    :: عضو نشيط ::
    تاريخ الإنضمام: 16 - 07 - 2015
    رقم العضوية : 292108
    المشاركات: 1,125
    89
    افتراضي رد : جعل الحقول اجباريه + حماية المدخلات من الاكواد
    وعليكم السلام ورحمة الله وبركاته

    اهلين يالغالي

    طبعا فيه طرق كثيرة لجعل الحقول اجبارية وعمل حدود معينه مثلا اقل شيء حرفين واكثر شيء ٦ حروف وغيرها عن طريق ال validation الخاص بلارفيل وغيرها من الطرق

    اقرى المزيد هنا

    بخصوص حماية المدخلات اذا كنت تستخدم الطريقة التالية لادخال البيانات اللارفيل راح يحميها بشكل تلقائي < حسب الي فهمته من ال docs الخاص باللارفيل

    رمز PHP:
    //database connection
        
    $message = new Message;
        
    $message->name $request->input("name");
        
    $message->email $request->input("email");

        
    $message->save(); 
    ولكن لو كنت تستخدم ال raw query والي هي عمل استعلام بنفسك بدون مساعدة اللارفيل هنا لازم نستخدم ال bind

    الي هو بالاكواد تكون كالتالي

    رمز PHP:
    DB::insert('insert into users (id, name) values (?, ?)', [1'Dayle']); 
    او اذا كنت تستخدم ال query builder

    رمز PHP:

    $orders 
    DB::table('orders')
                    ->
    selectRaw('price * ? as price_with_tax', [1.0825])
                    ->
    get(); 
    جميع الامثلة من ال docs الخاص باللارفيل

    عشان تتطلع اكثر وتستفيد عليك بقراءة ال docs الخاص باللارفيل

    https://laravel.com/docs/5.6/database
    https://laravel.com/docs/5.6/queries

    كل الي قلته الان حسب الي فهمته من ال docs واستخدمه في اللارفيل

    اذا كانت معلوماتي غير صحيحة ياليت احد من الاخوان يصحح لي ولك عشان نستفيد سوا

    بالتوفيق واتمنى اني افدتك
    المبدع2008 و مدونة مميزه معجبون بهذا .


    آلحمد لله وتبارك الله ولا الله الا الله 🤲🏻
    التعديل الأخير كان بواسطة Al-Kaiser; 09 - 08 - 2018 الساعة 10:46
    قديمة 09 - 08 - 2018, 21:45
    المشاركة 3
    مدونة مميزه
    :: عضو جديد ::
    تاريخ الإنضمام: 03 - 11 - 2017
    رقم العضوية : 401938
    المشاركات: 12
    افتراضي رد : جعل الحقول اجباريه + حماية المدخلات من الاكواد
    وعليكم السلام ورحمة الله وبركاته

    اهلين يالغالي

    طبعا فيه طرق كثيرة لجعل الحقول اجبارية وعمل حدود معينه مثلا اقل شيء حرفين واكثر شيء ٦ حروف وغيرها عن طريق ال validation الخاص بلارفيل وغيرها من الطرق

    اقرى المزيد هنا

    بخصوص حماية المدخلات اذا كنت تستخدم الطريقة التالية لادخال البيانات اللارفيل راح يحميها بشكل تلقائي < حسب الي فهمته من ال docs الخاص باللارفيل

    رمز PHP:
    //database connection
        
    $message = new Message;
        
    $message->name $request->input("name");
        
    $message->email $request->input("email");

        
    $message->save(); 
    ولكن لو كنت تستخدم ال raw query والي هي عمل استعلام بنفسك بدون مساعدة اللارفيل هنا لازم نستخدم ال bind

    الي هو بالاكواد تكون كالتالي

    رمز PHP:
    DB::insert('insert into users (id, name) values (?, ?)', [1'Dayle']); 
    او اذا كنت تستخدم ال query builder

    رمز PHP:

    $orders 
    DB::table('orders')
                    ->
    selectRaw('price * ? as price_with_tax', [1.0825])
                    ->
    get(); 
    جميع الامثلة من ال docs الخاص باللارفيل

    عشان تتطلع اكثر وتستفيد عليك بقراءة ال docs الخاص باللارفيل

    https://laravel.com/docs/5.6/database
    https://laravel.com/docs/5.6/queries

    كل الي قلته الان حسب الي فهمته من ال docs واستخدمه في اللارفيل

    اذا كانت معلوماتي غير صحيحة ياليت احد من الاخوان يصحح لي ولك عشان نستفيد سوا

    بالتوفيق واتمنى اني افدتك

    يعطيك العافيه على المعلومات
    لكن لارفيل مايحميها بشكل تلقائي جربت اضيف كود جافا سكربت واضيف الكود وضهرت الرساله المدرجه بالجافا سكربت
    قديمة 09 - 08 - 2018, 22:36
    المشاركة 4
    صورة 'Al-Kaiser' الرمزية
    Al-Kaiser
    :: عضو نشيط ::
    تاريخ الإنضمام: 16 - 07 - 2015
    رقم العضوية : 292108
    المشاركات: 1,125
    89
    افتراضي رد : جعل الحقول اجباريه + حماية المدخلات من الاكواد
    اذا تقصد حقن اكواد ال xss فـ انه تقدر تعمل شرط تحقق بان المدخل فقط حروف والرقام بدون رموز عن طريق اضافة الشرط التالي regex:[A-Za-z1-9 ] الى ال validation الخاص باللارفيل او اي اضافة تحقق ثانية

    او تعمل escape قبل عرض الكود في الصفحة عن طريق عمل {{ $users->username }}

    وتقدر تعمل
    رمز PHP:
    $cleaned_name strip_tags($request->input('username'));
     
           
    $users = new Users;
           
    $users->username $cleaned_name;
           
    $users->save(); 
    او احد دوال ال php عند ادخال البيانات

    واذا حابب فيه باكجات مهتمه للامور هذي تقدر تستخدمها < طبعا كل الي قلته فقط نصف الطرق الموجودة باللارفيل

    بالتوفيق يالغالي
    مدونة مميزه معجب بهذا.


    آلحمد لله وتبارك الله ولا الله الا الله 🤲🏻
    التعديل الأخير كان بواسطة Al-Kaiser; 09 - 08 - 2018 الساعة 22:43
    قديمة 10 - 08 - 2018, 17:31
    المشاركة 5
    مدونة مميزه
    :: عضو جديد ::
    تاريخ الإنضمام: 03 - 11 - 2017
    رقم العضوية : 401938
    المشاركات: 12
    افتراضي رد : جعل الحقول اجباريه + حماية المدخلات من الاكواد
    ماضبطت معي

    الفورمين بالموضوع ياليت تعدلونه لي
    قديمة 10 - 08 - 2018, 17:36
    المشاركة 6
    صورة 'Al-Kaiser' الرمزية
    Al-Kaiser
    :: عضو نشيط ::
    تاريخ الإنضمام: 16 - 07 - 2015
    رقم العضوية : 292108
    المشاركات: 1,125
    89
    افتراضي رد : جعل الحقول اجباريه + حماية المدخلات من الاكواد
    يالغالي ياليت تضع اكواد ملف الكنترولر الخاص بالاضافة الي وضعت فيه متغير التالي في ال form

    رمز PHP:
    'url' => '/'.$stype->slug./add 
    عشان نقدر نشوف طريقة ادخالك للبيانات بالقاعدة

    الاكواد الي فوق كلها اكواد html ومتغيرات blade وكلها من جهة العميل احتاج اكواد ال server side عشان نشتغل نقدر نعدلها

    بالتوفيق يالغالي
    مدونة مميزه معجب بهذا.


    آلحمد لله وتبارك الله ولا الله الا الله 🤲🏻
    قديمة 11 - 08 - 2018, 18:59
    المشاركة 7
    مدونة مميزه
    :: عضو جديد ::
    تاريخ الإنضمام: 03 - 11 - 2017
    رقم العضوية : 401938
    المشاركات: 12
    افتراضي رد : جعل الحقول اجباريه + حماية المدخلات من الاكواد
    نسيت اسم الملف اتوقع انه هذا


    رمز PHP:
    <?php

    class T3arofController extends BaseController {

        public function 
    new_premium_get($catid){
            
    $catname Stype::find($catid)->name;
            return 
    View::make('admin.new_premium')->with('catid',$catid)->with('catname',$catname);
        }

    /**
         * post new premium
         * 
     */
        
    public function new_premium_post($catid){        
            
    $rules = array(
                
    'name' => 'required',
                
    'photo' => 'mimes:jpeg,bmp,png',
            );
            
    $messages = array(
                                   
    'name.required' => 'اسم العضو',
                                   
    'photo.mimes' => 'صيغة الصورة غير مدعومة jpeg,bmp,png',
                             );
            
    $validator Validator::make(Input::all(), $rules,$messages);
            if (
    $validator->fails())
            {
                return 
    Redirect::to('admin/stype/'.$catid.'/premium/add')->withErrors($validator);
            }else{
                
    $photo Input::file('photo');
                if(!empty(
    $photo)){
                    
    $photo_name str_random(5).time();
                    
    $photo_ext $photo->getClientOriginalExtension();
                    
    $photo_fullname $photo_name.'.'.$photo_ext;
                    
    $path public_path().'/upload/photos/premium/';
                    
    $upload $photo->move($path,$photo_fullname);


                    
    $thumb Image::make($path.$photo_fullname)->resize(100100)->save($path.$photo_fullname);            
                }
                
    $add = new Premium;
                
    $add->name       Input::get('name');
                
    $add->link       Input::get('link');
                
    $add->type       Input::get('type');
                
    $add->ordered       Input::get('ordered');
                if(!empty(
    $photo)){
                    
    $add->photo       $photo_fullname;
                }
                if(
    $add->save()){
                    
    Session::put('success',Lang::get('validation.saved'));
                    return 
    Redirect::to('admin/stype/'.$catid.'/premium/add');
                }
            }
        }








        public function 
    get_update_premium($catid,$id){
            
    $premium Premium::find($id);
            
    $catname Stype::find($catid)->name;
            return 
    View::make('admin.update_premium')->with('premium',$premium)->with('catid',$catid)->with('catname',$catname);
        }

    /**
         * post update premium
         * 
     */
        
    public function update_premium($catid,$id){        
            
    $rules = array(
                
    'name' => 'required',
                
    'photo' => 'mimes:jpeg,bmp,png',
            );
            
    $messages = array(
                                   
    'name.required' => 'اسم الدولة مطلوب',
                                   
    'photo.mimes' => 'صيغة الصورة غير مدعومة jpeg,bmp,png',
                             );
            
    $validator Validator::make(Input::all(), $rules,$messages);
            if (
    $validator->fails())
            {
                return 
    Redirect::to('admin/stype/'.Input::get('type').'/premium/'.$id.'/update')->withErrors($validator);
            }else{
                
    $photo Input::file('photo');
                if(!empty(
    $photo)){
                    
    $photo_name str_random(5).time();
                    
    $photo_ext $photo->getClientOriginalExtension();
                    
    $photo_fullname $photo_name.'.'.$photo_ext;
                    
    $path public_path().'/upload/photos/premium/';
                    
    $upload $photo->move($path,$photo_fullname);


                    
    $thumb Image::make($path.$photo_fullname)->resize(100100)->save($path.$photo_fullname);            
                }
                
    $update Premium::find($id);
                
    $update->name       Input::get('name');
                
    $update->link       Input::get('link');
                
    $update->type       Input::get('type');
                
    $update->ordered       Input::get('ordered');
                if(!empty(
    $photo)){
                    
    $update->photo       $photo_fullname;
                }
                if(
    $update->save()){
                    
    Session::put('success',Lang::get('validation.saved'));
                    return 
    Redirect::to('admin/stype/'.Input::get('type').'/premium/');
                }
            }
        }
    //*------------------- show countries list -------------------*//
        
    public function show_premium_list($catid)
        {
            
    $premium Premium::where('type','=',$catid)->paginate(20);
            
    $catname Stype::find($catid)->name;
            return 
    View::make('admin.premium')->with('premium',$premium)->with('catid',$catid)->with('catname',$catname);
        }


    public function 
    get_update_free($catid,$id){
            
    $free T3arof::find($id);
            
    $countries Country::lists('country','id');
            
    $catname Stype::find($catid)->name;
            return 
    View::make('admin.update_free')->with('free',$free)->with('countries',$countries)->with('catid',$catid)->with('catname',$catname);
        }

    /**
         * post update premium
         * 
     */
        
    public function update_free($catid,$id){        
            
    $rules = array(
                
    'name' => 'required',
                
    'photo' => 'mimes:jpeg,bmp,png',
            );
            
    $messages = array(
                                   
    'name.required' => 'اسم العضو مطلوب',
                                   
    'photo.mimes' => 'صيغة الصورة غير مدعومة jpeg,bmp,png',
                             );
            
    $validator Validator::make(Input::all(), $rules,$messages);
            if (
    $validator->fails())
            {
                return 
    Redirect::to('admin/stype/'.Input::get('type').'/free/'.$id.'/update')->withErrors($validator);
            }else{
                
    /*$photo = Input::file('photo');
                if(!empty($photo)){
                    $photo_name = str_random(5).time();
                    $photo_ext = $photo->getClientOriginalExtension();
                    $photo_fullname = $photo_name.'.'.$photo_ext;
                    $path = public_path().'/upload/photos/premium/';
                    $upload = $photo->move($path,$photo_fullname);


                    $thumb = Image::make($path.$photo_fullname)->resize(100, 100)->save($path.$photo_fullname);            
                }*/
                
    $update T3arof::find($id);
                
    $update->name       Input::get('name');
                
    $update->country       Input::get('country');
                
    $update->gender       Input::get('gender');
                
    $update->msg       Input::get('msg');
                
    $update->pincode       Input::get('pincode');
                
    $update->active       Input::get('active');
                
                if(
    $update->save()){
                    
    Session::put('success',Lang::get('validation.saved'));
                    return 
    Redirect::to('admin/stype/'.Input::get('type').'/free/');
                }
            }
        }

    public function 
    show_free_list($catid)
        {
            
    $free T3arof::leftjoin('countries','countries.id','=','t3arof.country')->select('t3arof.*',DB::raw('countries.country AS countryname'))->where('type','=',$catid)->paginate(20);
            
    $catname Stype::find($catid)->name;
            return 
    View::make('admin.posts')->with('free',$free)->with('catid',$catid)->with('catname',$catname);
        }

    public function 
    show_free_notactive($catid)
        {
            
    $free T3arof::leftjoin('countries','countries.id','=','t3arof.country')->select('t3arof.*',DB::raw('countries.country AS countryname'))->where('type','=',$catid)->where('active','=','0')->paginate(20);
            
    $catname Stype::find($catid)->name;
            return 
    View::make('admin.posts')->with('free',$free)->with('catid',$catid)->with('catname',$catname);
        }    

    /**
         * delete city
         * 
     */
    public function destroy_Premium($catid,$id)
        {
            
    $premium Premium::find($id);
            if(
    $premium->delete()){
                
    Session::put('success',Lang::get('validation.deleted'));
                return 
    Redirect::to('admin/stype/'.$catid.'/premium/');
            }
        }

    public function 
    destroy_free($catid,$id)
        {
            
    $free T3arof::find($id);
            if(
    $free->delete()){
                
    Session::put('success',Lang::get('validation.deleted'));
                return 
    Redirect::to('admin/stype/'.$catid.'/free/');
            }
        }
    public function 
    add_item_get($slug){
        
    $stype Stype::where('slug','=',$slug)->first();
        
    $countries Country::lists('country','id');
        return 
    View::make('default.newitem')->with('stype',$stype)->with('countries',$countries);
    }

    static public function 
    getalltype(){
        
    $getall Stype::get();
        return 
    $getall;
    }

    public function 
    add_item($slug){        
            
    $rules = array(
                
    'name' => 'required',
                
    'photo' => 'mimes:jpeg,bmp,png',
            );
            
    $messages = array(
                                   
    'name.required' => 'الاسم مطلوب',
                                   
    'photo.mimes' => 'صيغة الصورة غير مدعومة jpeg,bmp,png',
                             );
            
    $validator Validator::make(Input::all(), $rules,$messages);
            if (
    $validator->fails())
            {
                return 
    Redirect::to('/'.$slug.'/add')->withErrors($validator);
            }else{
                
    $photo Input::file('photo');
                if(!empty(
    $photo)){
                    
    $photo_name str_random(5).time();
                    
    $photo_ext $photo->getClientOriginalExtension();
                    
    $photo_fullname $photo_name.'.'.$photo_ext;
                    
    $path public_path().'/upload/photos/items/';
                    
    $upload $photo->move($path,$photo_fullname);
                    
    $thumb Image::make($path.$photo_fullname)->resize(100100)->save($path.$photo_fullname);            
                
                }
                elseif(
    $slug == 'snapchat'){
                    
    $active AdminController::settings()->status_snapchat;
                }if(
    $slug == 'blackberry'){
                    
    $active AdminController::settings()->status_blackberry;
                }if(
    $slug == 'whatsapp'){
                    
    $active AdminController::settings()->status_whatsapp;
                }elseif(
    $slug == 'twitter'){
                    
    $active AdminController::settings()->status_twitter;
                }elseif(
    $slug == 'instgram'){
                    
    $active AdminController::settings()->status_instgram;
                }if(
    $slug == 'telegram'){
                    
    $active AdminController::settings()->status_telegram;
                }if(
    $slug == 'youtube'){
                    
    $active AdminController::settings()->status_youtube;
                }elseif(
    $slug == 'facebook'){
                    
    $active AdminController::settings()->status_facebook;
                }
                
                
    $add = new T3arof;
                
    $add->name       Input::get('name');
                
    $add->country  Input::get('country');
                
    $add->gender   Input::get('gender');
                
    $add->msg       Input::get('msg');
                
    $add->pincode  Input::get('pincode');
                
    $add->type       Input::get('type');
                
    $add->active   intval($active);
                if(!empty(
    $photo)){
                    
    $add->photo       $photo_fullname;
                }
                if(
    $add->save()){
                    
    Session::put('success',Lang::get('validation.saved'));
                    return 
    Redirect::to('/'.$slug.'/add');
                }
            }
        }

    public static function 
    countpost($type){
        
    $count T3arof::where('type','=',$type)->count();

        return 
    $count;
    }

    public function 
    itemes_get($slug){
        
        
    $stype Stype::where('slug','=',$slug)->first();
        
    $items T3arof::leftjoin('countries''t3arof.country''=''countries.id')
                ->
    where('t3arof.type','=',$stype->id)
                ->
    where('t3arof.active','=','1')
                ->
    select('t3arof.*','countries.flag',DB::raw('countries.country AS countryname'))
                ->
    orderBy('id''desc')
                ->
    paginate(20);
        
    $premium Premium::where('type','=',$stype->id)->get();        
        return 
    View::make('default.category')->with('stype',$stype)->with('items',$items)->with('premium',$premium);

    }









    }
    قديمة 11 - 08 - 2018, 20:57
    المشاركة 8
    صورة 'Al-Kaiser' الرمزية
    Al-Kaiser
    :: عضو نشيط ::
    تاريخ الإنضمام: 16 - 07 - 2015
    رقم العضوية : 292108
    المشاركات: 1,125
    89
    افتراضي رد : جعل الحقول اجباريه + حماية المدخلات من الاكواد
    افتح ملف web.php الخاص بال Routes وشوف ال url الي انت تدخله محطوط على اي controller وايضا على اي وظيفة مفعل على سبيل المثال لو ابي اروح للصفحة الرئيسية يكون ال route الخاص به هو التالي
    رمز PHP:
    Route::get('/''[email protected]')->name('home'); 
    اما بخصوص حماية المدخلات فل نقول انه في الوظيفة new_premium_post نبي نعمل ادخال للبيانات ونتاكد انه البيانات تدخل بدون اكواد خبيثه راح نعمل التالي
    رمز PHP:
    $add = new Premium
                
    $add->name       strip_tags(Input::get('name')); 
                
    $add->link       strip_tags(Input::get('link')); 
                
    $add->type       Input::get('type'); 
                
    $add->ordered       Input::get('ordered'); 
    مثل منت شايف عملت على المدخل الي اسمه name وايضا المدخل الي اسمه link الوظيفة هذي strip_tags()؛ وهي راح تشيل الاكواد الخبيثة منه على سبيل المثال انا جيت ودخلت الكود التالي في ال input الي اسمه name

    رمز Code:
    <script>alert('my name is kaiser !?!?');</script>
    راح يعرض لي التالي

    alert('my name is kaiser !?!?');

    طبعا مثل منت شايف عرضها لي مع single quotes ( ' ) ولو كانت double quotes ( " )راح يعرضها لي< وطبعا هذا شيء خطير احتمال كبير يخرج من كود ال php وغيرة ويفضل لو تبي تستخدم ال strip_tags نستخدم معاها htmlspecialchars

    وتقدر تستغني عن ال strip_tags وتستخدم ال htmlspecialchars والي راح يعرض لي كود ال javascript كالتالي

    &lt;script&gt;alert('my name is kaiser !?!?');&lt;/script&gt;

    عشان نستخدم ال htmlspecialchars في كودك السابق نعمل التالي
    رمز PHP:
    $add = new Premium
                
    $add->name       htmlspecialchars($Input::get('name'), ENT_QUOTES'UTF-8');
                
    $add->link       htmlspecialchars($Input::get('link'), ENT_QUOTES'UTF-8');
                
    $add->type       Input::get('type'); 
                
    $add->ordered       Input::get('ordered'); 
    طبعا كل الي قلته هو اشياء بسيطة في حماية المدخلات اذا حابب تعرف اكثر عن الحماية بشكل عام

    في ال php اخوي @Ehab Obaidat‎‏ ماقصر عمل الموضوع هذا

    https://www.traidnt.net/vb/traidnt2651193/

    بالتوفيق واتمنى اني افدتك
    مدونة مميزه معجب بهذا.


    آلحمد لله وتبارك الله ولا الله الا الله 🤲🏻
    التعديل الأخير كان بواسطة Al-Kaiser; 11 - 08 - 2018 الساعة 21:00
    قديمة 11 - 08 - 2018, 21:39
    المشاركة 9
    مدونة مميزه
    :: عضو جديد ::
    تاريخ الإنضمام: 03 - 11 - 2017
    رقم العضوية : 401938
    المشاركات: 12
    افتراضي رد : جعل الحقول اجباريه + حماية المدخلات من الاكواد
    يعطيك العافيه
    Al-Kaiser معجب بهذا.
    قديمة 11 - 08 - 2018, 23:44
    المشاركة 10
    صورة 'Al-Kaiser' الرمزية
    Al-Kaiser
    :: عضو نشيط ::
    تاريخ الإنضمام: 16 - 07 - 2015
    رقم العضوية : 292108
    المشاركات: 1,125
    89
    افتراضي رد : جعل الحقول اجباريه + حماية المدخلات من الاكواد
    الله يعافيك

    بالتوفيق يالغالي


    آلحمد لله وتبارك الله ولا الله الا الله 🤲🏻
    اضافة رد
    العلامات المرجعية

    اتجاة النص وفقا للغة مطلوب موقع اوتو فلورز

    أدوات الموضوع
    طرق العرض



    الساعة معتمدة بتوقيت جرينتش +3 . الساعة الآن : 22:21.
    المعهد غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
    فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
    التعليقات المنشورة لا تعبر عن رأي معهد ترايدنت ولا نتحمل أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

    جميع الحقوق محفوظة Traidnt 2018
    • 00966138651070
    • 00966138648289
    • 2051033691
    Powered by vBulletin® Version 3.8.7 .Copyright ©2000 - 2018, Jelsoft Enterprises Ltd
    SEO by vBSEO ©2011, Crawlability, Inc.