jaką metodę (JS) powinienem zastosować aby uniemożliwić rejestrację i zapis do bazy użytkownika z adresem e-mail onet.pl, wp.pl itd... z tzw. darmowych adresów?
pozdrawiam
uniemozliwienie rejestracji
Re: uniemozliwienie rejestracji
Nie powiem ci jak to zrobic w JS bo nie znam tego jezyka. Za to ty mozesz mi powiedziec jak sprawdzic czy adres jest darmowy. Po tym ze na koncu bedzie przykladowo wp.pl albo onet.pl nie poznasz....
Re: uniemozliwienie rejestracji
poprzez PHP:
[php]<?php
$domeny = array( 'onet.pl', 'wp.pl', 'o2.pl' );
$tablica = explode( '@', $adresEmail);
if( in_array( $tablica[1], $domeny ) )
{
echo 'zly adres e-mail';
}
else
{
echo 'adres jest ok';
}
?>[/php]
[php]<?php
$domeny = array( 'onet.pl', 'wp.pl', 'o2.pl' );
$tablica = explode( '@', $adresEmail);
if( in_array( $tablica[1], $domeny ) )
{
echo 'zly adres e-mail';
}
else
{
echo 'adres jest ok';
}
?>[/php]
-
Wojciech Kocjan
- Zaczyna działać

- Posty: 427
- Rejestracja: sob gru 14, 2002 10:51 am
Re: uniemozliwienie rejestracji
Jesli dokonujesz tego typu walidacji, to nie mozesz opierac sie tylko na JS - ktore kazdy uzytkownik latwo moze wylaczyc. Pomijajac to co napisal Riker (nie da sie latwo powiedziec, czy skrzynka jest darmowa), domene w JS mozesz sprawdzic dosc prosto:
Oczywiscie zmienna email to adres e-mail, ktory wpisze uzytkownik.
Teraz trzeba sprawdzic czy ta domena nie jest na naszej liscie 'zabronionych':
No i to bylby koniec, gdyby nie fakt ze w JS nie ma funkcji in_array ;-) Nie ma, ale nie oznacza to ze nie mozna jej napisac - ja co prawda tego zrobic nie potrafie, ale znalazlem na googlach co trzeba:
No i masz dzialajaca funkcje w JS. Problem jedynie w tym, ze sam musisz recznie wprowadzic 'darmowe' domeny, co nie jest takie proste. Bo np. @wp.pl rownie dobrze moze byc darmowe, jak i płatne, z onetem pewnie tak samo. No i nie zapomnij tego samego wykonac w php - tak jak mowilem na poczatku, JS mozna latwo wylaczyc i przez to ominac to sprawdzanie.
Na koniec zamieszczam gotowy skrypt JS, posklejany z tych wczesniejszych wycinkow, no i dzialajacy.
Kod: Zaznacz cały
var email="[email protected]";
var domena=email.substr((email.lastIndexOf('@')+1));Teraz trzeba sprawdzic czy ta domena nie jest na naszej liscie 'zabronionych':
Kod: Zaznacz cały
zabronione = new Array();
zabronione[0]='poczta.onet.pl';
zabronione[1]='jakis.darmowy.pl';
if (in_array(zabronione,domena)) {
alert('domena zabroniona, wpisz inny mail');
}
Kod: Zaznacz cały
function in_array(my_array,my_value){
//default is incasesensitive!
caseSensitive = in_array.arguments.length<3?0:in_array.arguments[2];
for(i=0;i<my_array.length;i++){
if((caseSensitive==0?my_array[i]:my_array[i].toUpperCase())==(caseSensitive==0?my_value:my_value.toUpperCase())){
return true;
}
}
return false;
}
Na koniec zamieszczam gotowy skrypt JS, posklejany z tych wczesniejszych wycinkow, no i dzialajacy.
Kod: Zaznacz cały
<script type="text/javascript">
function in_array(my_array,my_value){
//default is incasesensitive!
caseSensitive = in_array.arguments.length<3?0:in_array.arguments[2];
for(i=0;i<my_array.length;i++){
if((caseSensitive==0?my_array[i]:my_array[i].toUpperCase())==(caseSensitive==0?my_value:my_value.toUpperCase())){
return true;
}
}
return false;
}
zabronione = new Array();
zabronione[0]='poczta.onet.pl';
var email="[email protected]";
var domena=email.substr((email.lastIndexOf('@')+1));
if (in_array(zabronione,domena)) {
alert('uwaga. domena zabroniona');
}
</script>
Ostatnio zmieniony pn lis 01, 2004 11:37 pm przez Wojciech Kocjan, łącznie zmieniany 1 raz.
Re: uniemozliwienie rejestracji
Dziekuje za szybka odpowiedz,
oczywiscie rozpoznanie jest trudne, ale w tym przypadku z ktorym mam sie uporac jest 100% zdecydowane platne lub nieplatne nie moga pochodzic z "darmowych" domen i musi to byc kompilacja JS i PHP
za pomoc serdeczne dzieki
oczywiscie rozpoznanie jest trudne, ale w tym przypadku z ktorym mam sie uporac jest 100% zdecydowane platne lub nieplatne nie moga pochodzic z "darmowych" domen i musi to byc kompilacja JS i PHP
za pomoc serdeczne dzieki
