Osticket: مطلوب رمز CSRF صالح لـ OsTicket 1.10

تم إنشاؤها على ٦ ديسمبر ٢٠١٦  ·  36تعليقات  ·  مصدر: osTicket/osTicket

مرحبا ، أي مساعدة لهذه المشكلة؟
OsTicket 1.10.0 تحديث
فوز 2012 R2
اباتشي 2.4
بى اتش بى 7.1
تثبيت كل شيء ، احصل على هذه المشكلة. اقرأ الكثير ، ووجدت حلاً لتغيير "session.auto_start" إلى 1 وقد نجحت معي. لقد قمت بتسجيل الدخول ، ولكن بعد فترة ما زلت أعاني من نفس المشكلة.

bug php 7

التعليق الأكثر فائدة

هل سيحاول أي شخص فوق التصحيح 424bfc9؟ لقد حلت مشكلتي.
سأقرر تقديم طلب سحب بناءً على التعليقات.

ال 36 كومينتر

أعتقد أن السبب في ذلك هو أنك تقوم بتشغيل PHP 7.1.0 (تم إصداره قبل أيام قليلة). أفهم أن osticket 1.10 لا يزال غير متوافق تمامًا مع 7.0 حتى الآن. قد ترغب في خفض الدرجة إلى 5.6 ومعرفة ما إذا كان ذلك يساعدك.

شكرا! سأحاول إعادة تثبيته غدا.
كل هذه الأشياء في php جديدة بالنسبة لي ، لذا قمت بتنزيل نسخة محدثة من كل شيء. أعتقد أنه يجب أن يكون هناك نوع من الإخطار بأن php 7+ غير مدعوم رسميًا حتى الآن.

لدي نفس المشكلة في PHP 7.1 سأقوم بالرجوع إلى إصدار PHP 5.6 وكلها تعمل بشكل جيد مع أقدم PHP.
يبدو أنه مشكلة مختلفة مع OsTicket و PHP 7 https://github.com/osTicket/osTicket/issues/3033

واجهت هذه المشكلة مع OSticket 1.10 و Apache و PHP 7.1. بعد الرجوع إلى إصدار سابق من PHP إلى 7.0.14 ، اختفى الخطأ. أتمنى أن يساعد هذا أي شخص.

هل هذا يجري العمل عليه؟ تم إصدار PHP 7.1 الآن وسيكون دعم osTicket له رائعًا.

آمل أن يتم العمل على هذا

لدي نفس المشكلة على PHP 7.1 + osticket 1.10.
بعض المعلومات عن الحفر الخاص بي:

  • عندما أقوم بزيارة scp / login.php

    • تم إرسال ملف تعريف ارتباط مجموعة صالح من osticket: "OSTSESSID=nntpjei4195nd6ru6h759mtk1d; expires=Tue, 28-Mar-2017 12:46:50 GMT; Max-Age=86400; path=%PATH%"

    • ولكن لم يتم إنشاء سجل ost_session المقابل لهذا المفتاح (nntpje ...).

  • ثم عندما أقدم اسم المستخدم وكلمة المرور:

    • استثناء DoesNotExist في upload/include/class.ostsession.php(184): QuerySet->one() (بالطبع ، تم إنقاذ هذا.)

  • عندما أقوم بتعيين الواجهة الخلفية للجلسة إلى memcache

    • تم عرض نفس الخطأ.

هل سيحاول أي شخص فوق التصحيح 424bfc9؟ لقد حلت مشكلتي.
سأقرر تقديم طلب سحب بناءً على التعليقات.

kaorukobo يعمل الباتش الخاص بك معي ، باستخدام أحدث إصدار من osticket وأحدث php 7.1 من remi. شكرا!

تضمين التغريدة

يمكن أن أؤكد أن الإصلاح نجح معي أيضًا. Centos 7 ، PHP 7.1.3 من Remi OSTicket 1.10

تمت الموافقة على طلب السحب المقابل:
https://github.com/osTicket/osTicket/pull/3773

لقد قمت للتو بتثبيت أحدث osTicket ، وأنا على PHP الإصدار 7.1.5 على Windows 7 Professional Edition Service Pack 1 i586 ، وحصلت على رمز CSRF صالح مطلوب عند تسجيل الدخول لأول مرة إلى المسؤول

هذا مريع. نفس المشكلة مثل https://github.com/osTicket/osTicket/issues/304 ؟ أتمنى لو كنت أعرف قبل الترقية. لا يمكنني العودة إلى هذا الخادم لأن PHP7 مطلوب لبعض البرامج النصية الخاصة بي. يجب أن تكون هذه الأولوية 1.

عزيزي @ TomAshley303 يبدو أن هذه المشكلة مع PHP 7 لن يتم إصلاحها قريبًا ، لأن تحديث PHP والبرامج الأخرى أمر مهم جدًا للأمان لقد قمت بالترقية إلى PHP 7
إليك الإصلاح الذي يعمل: https://github.com/osTicket/osTicket/commit/424bfc99d93b920f6162b602eeea41125086425d

لمعلوماتك جميعًا ، واجهت نفس المشكلة وكان الوقت غير صحيح على جهازي.

اكتشفت للتو أن تسجيل الدخول إلى OSticket الخاص بي ممكن عندما يكون على PHP5.6. نظرًا لأنني قمت بتعيين خادمي على PHP7.1 ، لم يعد بإمكاني تسجيل الدخول إلى OSTicket والحصول على رسالة CSRF Token الصالحة المطلوبة.

Richardvi osTicket يدعم php7 وليس php7.1. لذلك من المحتمل أن تكون مشكلتك.

حسنا، شكرا!

شكرا لك اخي انها تساعد حقا.

شكرا!!! يعمل بشكل جيد :)

جديد على osTicket اليوم ، فاصل الصفقات بالنسبة لي إذا كان لا يدعم php7.1.x ، حتى يفعل.

يعمل بالنسبة لي فقط بحاجة إلى إضافة سطر جديد في ملف واحد
https://github.com/osTicket/osTicket/commit/424bfc99d93b920f6162b602eeea41125086425d

هل يعرف أحد ما إذا كان هذا قد تم إصلاحه في الإصدار الأخير 1.10.4 (أمس)؟

مرحبًا @ أعتقد أن هذه المشكلة لم يتم إصلاحها ، ولم تختبر مطلقًا الإصدار الأخير كما تم إصداره مؤخرًا.
يمكنك أن تقرأ في ملاحظة الإصدار ما يتضمنه التحديث: https://github.com/osTicket/osTicket/commit/035fd0af32647199bae662eda6517f70e9225329

تضمين التغريدة

يتم تناولها إلى حد ما في v1.11.0rc-1 مع هذا . بدلاً من إعطائك نافذة فارغة مع رسالة خطأ ، فإنه يمنحك صفحة تسجيل الدخول مع الخطأ "رمز CSRF صالح".

هتافات.

Windows + Apache + PHP الإصدار 7.2.7

session.auto_start = 1 عملت معي

Ubuntu 18.04 x64 + Apache2 + PHP 7.2-10 + OST 1.10.4

/etc/php/7.2/apache2/php.ini session.auto_start = 1 عملت معي أيضًا.

/etc/php/7.2/apache2/php.ini session.auto_start = 1 عملت معي أيضًا.

مرحبًا jpkh شكرًا جزيلاً لك على المشاركة حيث يجب وضع session.auto_start = 1. هذا تعديل لتكوين php (ini) ، أسأل عما يجب أن يتغير OsTicket لحل هذه المشكلة. عادةً ما أفضل إجراء إصلاح في البرنامج وليس في PHP. من الجيد معرفة أن هناك حلًا للعمل مع PHP 7.2 ، لكن ربما سأنتظر لأفهم ما إذا كان يمكن حل المشكلة من جانب OsTicket.

أحدث إصدار متوافق مع Php 7.0 ، لذا يمكنك الرجوع من 7.1 إلى 7.0. سهل الإصلاح

في PHP 7.1 والإصدارات الأحدث ، يُطلب منك إرجاع سلسلة من معالج قراءة الجلسة أو ستحصل على خطأ - قالت الوثائق دائمًا أنه يجب أن تعيد سلسلة ولكن PHP بدأت الآن فقط في فرض ذلك. ابحث في سجلات php لمعرفة ما إذا كان لديك PHP تحذير: session_start (): فشل قراءة بيانات الجلسة: المستخدم

إضافة السطر التالي فقط قبل الإرجاع في طريقة القراءة في class.ostsession.php

if(!is_string($this->data->session_data)) {
    $this->data->session_data = strval($this->data->session_data);
}

هذا يضمن أنه بغض النظر عن ما تضعه في بيانات الجلسة ، فإنك دائمًا ما تعيد سلسلة كما ينبغي

لا يعد الرجوع إلى إصدار سابق من PHP فكرة جيدة لأسباب أمنية. سيء مضاعف لأن PHP 7.0 خارج الدعم المنتظم بالفعل وخرج من الدعم الأمني ​​في شهر واحد :(

http://php.net/supported-versions.php

auroraeosrose هناك وظيفتان للقراءة في class.ostsession.php هل يمكنك تحديد السطر الذي يجب إدراج هذا المقتطف عليه؟ وظيفة القراءة في السطر 270؟ أو الواحد في 183؟ ملاحظة: شكرًا لك على هذا الحل ... عندما استخدمت session.auto_start=1 ، كسر أحد التطبيقات الأخرى (TestLink) التي أشغّلها على نفس الخادم ، لذلك أقدر الحل الذي يتضمن فقط تغييرات على OST وليس php .ini

تضمين التغريدة

الشخص الموجود في الصف DbSessionBackend ، وضعه فوق العائد مباشرةً.

ملاحظة
يتم تناول هذا في 1.11 مع:

3955

4344

هتافات.

شكرا! هذا مشغول.

في PHP 7.1 والإصدارات الأحدث ، يُطلب منك إرجاع سلسلة من معالج قراءة الجلسة أو ستحصل على خطأ - قالت الوثائق دائمًا أنه يجب أن تعيد سلسلة ولكن PHP بدأت الآن فقط في فرض ذلك. ابحث في سجلات php لمعرفة ما إذا كان لديك PHP تحذير: session_start (): فشل قراءة بيانات الجلسة: المستخدم

إضافة السطر التالي فقط قبل الإرجاع في طريقة القراءة في class.ostsession.php

if(!is_string($this->data->session_data)) {
    $this->data->session_data = strval($this->data->session_data);
}

هذا يضمن أنه بغض النظر عن ما تضعه في بيانات الجلسة ، فإنك دائمًا ما تعيد سلسلة كما ينبغي

لا يعد الرجوع إلى إصدار سابق من PHP فكرة جيدة لأسباب أمنية. سيء مضاعف لأن PHP 7.0 خارج الدعم المنتظم بالفعل وخرج من الدعم الأمني ​​في شهر واحد :(

http://php.net/supported-versions.php

شكرا لك ، هذا يعمل بالنسبة لي.

حل من auroraeosrose عمل لي أيضًا على PHP7.2.15 و osticket 1.10.5

يعمل حل auroraeosrose على:

معرف الموزع: دبيان
الوصف: Debian GNU / Linux 9.8 (امتداد)
الإصدار: 9.8
الاسم الرمزي: تمتد
اباتشي 2.4
إصدار PHP 7.2.16

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات