SSL Sertifikası Olmayan Forumlarda Karşılaşılan Sorunlar

phpBB kurulumu ve yönetimi ile ilgili bilgilendirici çeşitli makaleler.
Cevapla
copyas
Eklenti Özelleştirme Ekibi Üyesi
Eklenti Özelleştirme Ekibi Üyesi
Mesajlar: 346
Kayıt: 13.11.2016, 06:36

SSL Sertifikası Olmayan Forumlarda Karşılaşılan Sorunlar

Mesaj gönderen copyas »

Forumunuzda SSL sertifikası yok ise aşağıda anlatılan 2 sorun ile karşılaşacaksınız :
  1. Mobil tarayıcıdan giriş ( login ) sorunu
  2. SMTP ile e-posta gönderim sorunu
Bu sorunlardan ilkinde masaüstü/laptop ile girişlerde karşılaşmazsınız. İkinci sorun ise cihaz farkı olmaksızın genel bir sorundur. Çözüm yöntemleri aşağıda anlatılmıştır. SSL sertifikası ile ilgili bilinen bu sorunlar dışında şu an için karşılaşılan bir problem bulunmamaktadır.


1. Mobil Tarayıcıdan Giriş ( Login ) Sorunu

Mobil tarayıcıdan kullanıcı adı ve şifrenizi doğru bir şekilde girmiş olmanıza rağmen foruma girmeye ( login ) çalıştığınız zaman login olamama problemi oluşabilir. Bu sorunun mobil chrome tarayıcı üzerinden çözümü aşağıda anlatıldığı şekildedir. Farklı mobil tarayıcılarda bu problemle karşılaşma durumu olmayabilir veya çözüm benzer özelliklerle sağlanabilir.
copyas yazdı: # Güncelleme - 04.12.2019

Mobil Chrome tarayıcıda yapılan güncelleme sonrasında "Veri Tasarrufu" özelliğinin adı değiştirilerek "Basit Mod" olmuştur.
Bu problem, mobil chrome tarayıcının "veri tasarrufu" özelliğinin "açık" olmasından kaynaklanıyor. Bu özelliği "kapalı" duruma getirirseniz sorun ortadan kalkacaktır. Bunun için mobil chrome tarayıcının sağ üst köşesinde bulunan 3 nokta 'ya basın. Açılan menüde "Ayarlara" girin. "Gelişmiş" seçeneklerinin altında Veri Tasarrufu özelliğini kapatın.

Özetle yapılacakların liste hali :
  1. 3 nokta
  2. Ayarlar
  3. Veri Tasarrufu : Kapalı ( Basit Mod : Kapalı )
Foruma girmek için her seferinde bu veri tasarrufunu kapatmak mı gerekiyor ya da forum için veri tasarrufundan neden vazgeçiyorum ? Bunun başka bir çözüm yolu yok mu ?

Bu sorunun çözüm yolları :
  1. SSL sertifikası almak ( https:// ) ki zaten SSL alırsanız bu yazıdaki sorunlardan tümüyle kurtulmuş olacaksınız
  2. 'Veri Tasarrufu : Kapalı' şekilde kullanmak
  3. Gizli sekme kullanmak
Veri Tasarrufu özelliğini kapatmak çözümdür tabi ama bu özellikten feragat etmek istemeyenlerin her seferinde veri tasarrufu ayarlarını değiştirmek yerine bu işin çözümü gizli sekmeden giriş yapmaktır. Bunun için yine "3 nokta" butonuna basıp açılan menüden "Yeni gizli sekme" seçeneğini kullanıp Veri Tasarrufu özelliğiniz açık olmasına rağmen foruma giriş yapabilirsiniz.

Tabi bu yöntemleri bir de forum üyelerinize anlatma derdi var. Bunun için de misafir kullanıcıların görebildiği bir forumda bu sorunu ya da yöntemi anlatan başlık açmanız faydalı olacaktır. phpBB 'nin resmi eklentisi olan Board Announcements eklentisi ile de forumun her yerinde görülebilen bir duyuruda bu başlığa bağlantı verebilirsiniz. ( Sadece öneridir. )

Resim


Referanslar :
  1. mobilde giriş problemi
  2. Mobil Girişte Mesaj Gönderememe


2. SMTP İle E-posta Gönderim Sorunu

Öncelikle e-posta gönderimi için PHP 'nin kendi mail fonksiyonunu kullanmayı deneyebilirsiniz. Bunun için YKP > Genel > E-posta ayarları > Genel ayarlar bölümünü kaydettikten sonra YKP > Genel > E-posta ayarları > SMTP ayarları: seçeneğini "Hayır" olarak işaretleyip kaydediniz. ( "Hayır" işaretledikten sonra, bu seçeneğin altındaki bilgilerin boş veya dolu olmasının önemi yoktur. )

Test e-postası göndermeyi deneyiniz. Eğer e-posta almadıysanız YKP > Bakım > Hata kaydı sayfasına bakınız. Aşağıdaki satırlarla başlayan bir hata kaydı alırsanız sunucunuz PHP mail() fonksiyonuna kısıtlama getirmiştir ve SMTP kullanmak durumunda kalırsınız. ( bkz. kaynak alıntısı )

Kod: Tümünü seç

E-posta hatası
» EMAIL/PHP/mail()
...
kaynak yazdı: Bir çok Hosting firmasında olduğu gibi firmamızda da PHP mail() fonksiyonu ile e-posta gönderimine izin verilmemektedir. Bu fonksiyonun kullanılmasına izin verilmemesinin nedeni, PHP mail() fonksiyonunda hiçbir doğrulama olmadan direk olarak e-posta gönderilebilmesidir. Bu şekilde gönderilen e-posta mesajları direkt olarak spam olarak algılanıp gereksiz kutusuna düşebilmekte, fazla gönderimlerde ise sunucu IP adresinin kara listeye girmesine neden olmaktadır.

SMTP ile e-posta ayarlarını yapmak için sunucunuzdan SMTP bilgilerinizi isteyiniz ve bu bilgileri YKP > Genel > E-posta ayarları > SMTP ayarları: seçeneğini "Evet" olarak işaretleyip, bu seçeneğin altındaki bilgileri doldurunuz ve kaydediniz.

SSL sertifikanız yoksa SMTP ile e-posta gönderimlerinizde problem yaşayacaksınız. Bu problem PHP 5.6 sürümü sonrasında ortaya çıkmıştır.
( OpenSSL changes in PHP 5.6.x )

Forumunuzda başlık açmaya çalışırken vb. aşağıdaki hata mesajını almanız olasıdır :

Kod: Tümünü seç

[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions_messenger.php on line 1498: stream_socket_enable_crypto(): Peer certificate CN=`*.eposta.com' did not match expected CN=`mail.site.com'
Bazı forumlarda başlık açılırken hata vermeyebilir. Bunun sebebi, başlık açılmak istenen forumda bir kullanıcının o foruma abone olması dolayısıyla e-posta gönderimi yapılamadığı için hata alınır. Sadece başlık açarken değil, e-posta gönderimini ilgilendiren her konuda hata alırsınız. Bu hatalar bazen görünebilir bazen ise altyapıda olabilir. Siz forumum çalışıyor gibi düşünseniz bile kullanıcılarınıza aktivasyon e-posta bildirimi gitmemesi gibi.

Ayrıca YKP > Bakım > Hata kaydı sayfasında aşağıdaki hata kayıtları gibi hatalar alabilirsiniz :
  1. Kod: Tümünü seç

    E-posta hatası
    » EMAIL/SMTP
    /forum/ucp.php
    ...
    
  2. Kod: Tümünü seç

    E-posta hatası
    » EMAIL/SMTP
    /forum/adm/index.php
    ...
    
  3. Kod: Tümünü seç

    E-posta hatası
    » EMAIL/SMTP
    /forum/posting.php
    ...
    
  4. vb


Bu problemi functions_messenger.php dosyasında bazı kod değişiklikleri yaparak çözebilirsiniz. Bu dosyaya sunucunuzdan forumunuzun kurulu olduğu dizini açıp includes/functions_messenger.php yolunu takip ederek ulaşabilirsiniz.

Dosyada yapılacak değişiklikler :
Area51 phpBB yazdı:
OPEN ( Dosyayı aç )
includes/functions_messenger.php

FIND ( Bu kodu bul )

Kod: Tümünü seç

$result = stream_socket_enable_crypto($this->socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
BEFORE, ADD ( Kodun öncesine ekle )

Kod: Tümünü seç

$options = array();
$options['ssl'] = array('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true);
stream_context_set_option($this->socket, $options);

"SMTP için doğrulama metodu:" seçeneğini "Giriş ( Login )" olarak belirleyebilirsiniz. ( Çalışmaz ise diğer doğrulama yöntemlerini deneyiniz. )

copyas yazdı: # Güncelleme - 29.12.2019

UYARI : Kod değişikliği hakkında daha fazla güncelleme yayınlanmayacaktır !

phpBB 3.2.5 sürümünde includes/functions_messenger.php dosyasında bulunan ilgili kodun öncesi ve sonrası şu şekildeydi :

Kod: Tümünü seç

if (socket_set_blocking($this->socket, 1))
		{


			$result = stream_socket_enable_crypto($this->socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
			socket_set_blocking($this->socket, (int) $stream_meta['blocked']);
		}
phpBB 3.2.8 sürümünde aşağıdaki şekilde güncellenmiştir :

Kod: Tümünü seç

if (socket_set_blocking($this->socket, 1))
		{
			// https://secure.php.net/manual/en/function.stream-socket-enable-crypto.php#119122
			$crypto = (phpbb_version_compare(PHP_VERSION, '5.6.7', '<')) ? STREAM_CRYPTO_METHOD_TLS_CLIENT : STREAM_CRYPTO_METHOD_SSLv23_CLIENT;
			$result = stream_socket_enable_crypto($this->socket, true, $crypto);
			socket_set_blocking($this->socket, (int) $stream_meta['blocked']);
		}
phpBB 3.2.5 sürümünde bulunan $result = stream_socket_enable_crypto($this->socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT); kod satırını komple aratırsanız, phpBB 3.2.8 ve ilerleyen sürümlerde bulamayacaksınız.

phpBB 3.2.8 ve ilerleyen sürümlerde $result = stream_socket_enable_crypto($this->socket, true, $crypto); kod satırını bulmanız / aratmanız gereklidir. Bu kod satırını bulamazsanız, değişmiş demektir. Bir önceki sürümlerle karşılaştırma yapmanız ya da kod satırının tamamını değil de bir kısmını aratmanız gerekeceği anlamı çıkar.

Dolayısıyla kod güncellemelerini de dikkate alınız. Bu işlemde problem yaşarsanız, bu sayfanın bağlantısını kullanarak phpBB Türkiye • Destek Forumları 'ndan destek talebinde bulunabilirsiniz.

Güncelleme veya sürüm yükseltme sonrası bu dosyadaki değişiklikleri yeniden yapmanız gerektiğini unutmayınız ve işlemlerden önce yedek alınız.


Referanslar :
  1. PHP Warning: in file [ROOT]/includes/functions_messenger.php on line 1498: stream_socket_enable_crypto():
  2. Mail Sorunu



NOT : Bu yazı, ilgili problemlerin phpbbturkey.com destek forumlarında çözüm yöntemi araştırılıp, denenmiş ve olumlu sonuç alınmış, referans verilen konular baz alınarak phpBB Türkiye için yazılmış özgün bir makaledir. Kaynak göstermek için bu sayfanın bağlantısını ya da phpBB Türkiye adresini kullanınız.



--
Anahtar kelimeler :
SSL Sertifikası, Mobil tarayıcıdan giriş ( login ) sorunu / problemi, SMTP ile e-posta gönderim sorun / problem, mail email sorunu, stream_socket_enable_crypto(), mobilden giriş / login problemi / sorunu, mobil tarayıcı, mobil chrome, mobilden foruma giremiyorum, mobilden giriş yapmıyor, e-posta / mail gönderemiyorum / göndermiyor, kullanıcılara / üyelere aktivasyon maili / e-postası gitmiyor, şifre değiştirme maili gitmiyor, android, ios
Kullanıcı avatarı
ESQARE
Web Sitesi Yöneticisi
Web Sitesi Yöneticisi
Mesajlar: 6996
Kayıt: 18.09.2005, 20:51
İletişim:

Re: SSL Sertifikası Olmayan Forumlarda Karşılaşılan Sorunlar

Mesaj gönderen ESQARE »

Detaylı yazınız için teşekkürler. Makaleler forumuna taşındı.
Resim
phpBB Eklenti Kurulumu | Kurallar | phpBB3 İzinleri | Otel Rehberi

Kurallarımız gereği lütfen özel mesaj ile yardım istemeyiniz, cevap vermiyoruz.
Cevapla

“phpBB Makaleleri” sayfasına dön

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 13 misafir