Osticket: Token CSRF yang Valid Diperlukan OsTicket 1.10

Dibuat pada 6 Des 2016  ·  36Komentar  ·  Sumber: osTicket/osTicket

Hai, ada bantuan untuk masalah ini?
OsTicket 1.10
Menangkan 2012 R2
Apache 2.4
Rp 7.1
Menginstal semuanya, dapatkan masalah ini. Banyak membaca, temukan solusi untuk mengubah "session.auto_start" menjadi 1 dan itu berhasil untuk saya. Saya masuk, tetapi setelah beberapa saat masih mendapatkan masalah yang sama.

bug php 7

Komentar yang paling membantu

Adakah yang akan mencoba patch 424bfc9 di atas? Itu memecahkan masalah saya.
Saya akan memutuskan membuat permintaan tarik berdasarkan masukan.

Semua 36 komentar

Dugaan saya adalah karena Anda menjalankan PHP 7.1.0 (dirilis beberapa hari yang lalu). Ini pemahaman saya bahwa osticket 1.10 masih belum sepenuhnya kompatibel dengan 7.0. Anda mungkin ingin menurunkan nilai ke 5.6 dan melihat apakah itu membantu.

Terima kasih! Saya akan mencoba untuk menginstal ulang besok.
Semua hal php ini baru bagi saya, jadi saya baru saja mengunduh versi terbaru dari semuanya. Saya pikir harus ada semacam pemberitahuan bahwa php 7+ belum didukung secara resmi.

Saya memiliki masalah yang sama pada PHP 7.1 Saya akan menurunkan versi ke PHP 5.6 semua berfungsi dengan baik dengan PHP tertua.
Tampaknya ada masalah yang berbeda dengan OsTicket dan PHP 7 https://github.com/osTicket/osTicket/issues/3033

Saya punya masalah dengan OSticket 1.10, Apache dan PHP 7.1. Setelah menurunkan versi PHP ke 7.0.14 kesalahan hilang. Semoga ini bisa membantu siapa pun.

Apakah ini sedang dikerjakan? PHP 7.1 dirilis sekarang dan dukungan osTicket untuk itu akan sangat bagus.

Saya harap ini sedang dikerjakan

Saya memiliki masalah yang sama pada PHP 7.1 + osticket 1.10.
Beberapa informasi tentang penggalian saya:

  • Ketika saya mengunjungi scp/login.php

    • Set-Cookie yang valid dikirim dari osticket: "OSTSESSID=nntpjei4195nd6ru6h759mtk1d; expires=Tue, 28-Mar-2017 12:46:50 GMT; Max-Age=86400; path=%PATH%"

    • Tetapi catatan ost_session yang sesuai dengan kunci ini (nntpje...) tidak dibuat.

  • Kemudian ketika saya mengirimkan nama pengguna & kata sandi:

    • Pengecualian DoesNotExist di upload/include/class.ostsession.php(184): QuerySet->one() (tentu saja, ini diselamatkan.)

  • Ketika saya mengatur backend sesi ke memcache

    • Kesalahan yang sama ditunjukkan.

Adakah yang akan mencoba patch 424bfc9 di atas? Itu memecahkan masalah saya.
Saya akan memutuskan membuat permintaan tarik berdasarkan masukan.

@kaorukobo tambalan Anda berhasil untuk saya, menggunakan osticket versi terbaru & php 7.1 terbaru dari remi. Terima kasih!

@kaorukobo

Dapat mengonfirmasi bahwa perbaikan juga berhasil untuk saya. Centos 7, PHP 7.1.3 dari Remi OSTicket 1.10

Permintaan tarik yang sesuai telah disetujui:
https://github.com/osTicket/osTicket/pull/3773

Saya baru saja menginstal osTicket terbaru, saya menggunakan PHP Versi 7.1.5 pada Windows 7 Professional Edition Service Pack 1 i586, dan saya mendapatkan Token CSRF Valid yang Diperlukan pada login pertama ke admin

Ini mengerikan. Masalah yang sama dengan https://github.com/osTicket/osTicket/issues/304 ? Saya berharap saya tahu sebelum memutakhirkan. Saya tidak dapat kembali ke server ini karena PHP7 diperlukan untuk beberapa skrip saya. Ini harus menjadi prioritas 1.

Dear @TomAshley303 tampaknya masalah dengan PHP 7 ini tidak akan segera diperbaiki, karena menjaga PHP dan perangkat lunak lainnya diperbarui sangat penting untuk keamanan Saya telah memutakhirkan ke PHP 7
Inilah perbaikan yang berfungsi: https://github.com/osTicket/osTicket/commit/424bfc99d93b920f6162b602eeea41125086425d

FYI semua, saya memiliki masalah yang sama dan waktu yang salah di mesin saya.

Baru tahu bahwa login di OSticket saya dimungkinkan saat menggunakan PHP5.6. Segera setelah saya mengatur server saya ke PHP7.1, saya tidak bisa lagi login ke OSTicket dan mendapatkan pesan Valid CSRF Token Required.

@Richardvi osTicket mendukung php7 bukan php7.1. Jadi itu kemungkinan masalah Anda.

Ok terima kasih!

Terima kasih kakak sangat membantu.

Terima kasih!!! Berfungsi dengan baik :)

Baru di osTicket hari ini, deal breaker bagi saya jika tidak mendukung php7.1.x, hingga mendukung.

Bekerja untuk saya hanya perlu menambahkan baris baru pada satu file 👍
https://github.com/osTicket/osTicket/commit/424bfc99d93b920f6162b602eeea41125086425d

Adakah yang tahu apakah ini sudah diperbaiki di rilis terbaru 1.10.4 (kemarin)?

Hai @ Saya pikir masalah ini tidak diperbaiki, tidak pernah menguji rilis terakhir seperti yang dirilis baru-baru ini.
Anda dapat membaca di catatan rilis apa yang termasuk dalam pembaruan: https://github.com/osTicket/osTicket/commit/035fd0af32647199bae662eda6517f70e9225329

@OrangDalam

Ini agak dibahas dalam v1.11.0rc-1 dengan this . Alih-alih memberi Anda jendela kosong dengan pesan kesalahan, ini memberi Anda halaman login dengan kesalahan "Valid CSRF Token".

Bersulang.

Windows + Apache + PHP Versi 7.2.7

session.auto_start=1 bekerja untuk saya

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

/etc/php/7.2/Apache2/php.ini session.auto_start=1 bekerja untuk saya juga.

/etc/php/7.2/Apache2/php.ini session.auto_start=1 bekerja untuk saya juga.

Hai @jpkh terima kasih banyak telah berbagi di mana session.auto_start=1 harus ditempatkan. Ini adalah edit dari konfigurasi php (ini), saya bertanya apa yang harus diubah OsTicket untuk menyelesaikan masalah ini. Biasanya saya lebih suka membuat perbaikan dalam perangkat lunak dan bukan pada PHP. Senang mengetahui ada solusi untuk bekerja dengan PHP 7.2 tetapi mungkin saya akan menunggu untuk memahami apakah masalah tersebut dapat diselesaikan di sisi OsTicket.

Versi terbaru kompatibel dengan Php 7.0, sehingga Anda dapat menurunkan versi dari 7.1 ke 7.0. Perbaikan mudah

Di PHP 7.1 dan lebih tinggi Anda diminta untuk mengembalikan string dari penangan sesi baca atau Anda akan mendapatkan kesalahan - dokumentasi selalu mengatakan bahwa itu harus mengembalikan string tetapi PHP baru sekarang mulai menerapkannya. Lihat di log php untuk melihat apakah Anda memiliki PHP Peringatan: session_start(): Gagal membaca data sesi: pengguna

menambahkan baris berikut HANYA sebelum kembalinya metode baca di class.ostsession.php

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

Ini memastikan bahwa apa pun yang Anda masukkan ke dalam data sesi, Anda selalu mengembalikan string sebagaimana mestinya

Menurunkan versi PHP Anda bukanlah ide yang baik untuk alasan keamanan. Sangat buruk karena PHP 7.0 sudah keluar dari dukungan reguler dan keluar dari dukungan keamanan dalam satu bulan :(

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

@auroraeosrose ada dua fungsi baca di class.ostsession.php dapatkah Anda menentukan baris tempat cuplikan ini perlu dimasukkan? fungsi baca pada baris 270? atau yang di 183? PS terima kasih atas solusi ini ... Ketika saya menggunakan session.auto_start=1 itu merusak salah satu aplikasi lain (TestLink) yang saya jalankan di server yang sama jadi saya menghargai solusi yang hanya melibatkan perubahan pada OST dan bukan php .ini

@davidtessier

Yang ada di kelas DbSessionBackend , letakkan tepat di atas pengembalian.

PS
Ini ditangani dalam 1.11 dengan:

3955

4344

Bersulang.

Terima kasih! Itu berhasil.

Di PHP 7.1 dan lebih tinggi Anda diminta untuk mengembalikan string dari penangan sesi baca atau Anda akan mendapatkan kesalahan - dokumentasi selalu mengatakan bahwa itu harus mengembalikan string tetapi PHP baru sekarang mulai menerapkannya. Lihat di log php untuk melihat apakah Anda memiliki PHP Peringatan: session_start(): Gagal membaca data sesi: pengguna

menambahkan baris berikut HANYA sebelum kembalinya metode baca di class.ostsession.php

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

Ini memastikan bahwa apa pun yang Anda masukkan ke dalam data sesi, Anda selalu mengembalikan string sebagaimana mestinya

Menurunkan versi PHP Anda bukanlah ide yang baik untuk alasan keamanan. Sangat buruk karena PHP 7.0 sudah keluar dari dukungan reguler dan keluar dari dukungan keamanan dalam satu bulan :(

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

Terima kasih, ini bekerja untuk saya.

Solusi dari @auroraeosrose juga bekerja untuk saya di PHP7.2.15 dan osticket 1.10.5

Solusi @auroraeosrose berfungsi pada:

ID Distributor: Debian
Deskripsi: Debian GNU/Linux 9.8 (peregangan)
Rilis: 9.8
Nama kode: stretch
Apache 2.4
PHP versi 7.2.16

Apakah halaman ini membantu?
0 / 5 - 0 peringkat