Home | Advertising Info106 USERS CURRENTLY ONLINE   
PowerASP
   Site Search Contact Us Friday, March 14, 2025  

Active Server Pages ASP programs help tutorial tutorials routine routines jobs listserve mailinglist bulletin board bulletin boards programming snippet snippets CJWSoft ASPProtect ASPBanner ASPClassifieds



Blog Entry: 3/25/2006 4:25:42 PM

One is for paypal subscriptions (recurring billing) and the other is for single payments

http://support.cjwsoft.com/forum/forum_posts.asp?TID=185& ; ; ;PN=1

http://support.cjwsoft.com/forum/forum_posts.asp?TID=186& ; ; ;PN=1

You can delete any of the 3rd party payment directories you are not using including the the 2checkout one... (all those folders really are is a copy of the users folder specially modified to handle a certain payment processor)

Just Don't delete the "users" folder though as there are things you do there that you can not do anywhere else..  quite a few things..  editing existing account info, looking up passwords... etc etc

 

cwilliams38446.6055555556,

Well, I assumed I'd be able to tweak this thing but it is all so intertwined it doesn't pay to mess with any of the files. Hence, I'm going to have buy a different system only a week or two after buying the unlimited version here.

As I leave I want to give you some impressions here. While the system is low-cost, the 99 dollar version is missing a few pieces that I think would bring the value to 99. It is one thing to talk about the speed/performance, but to a degree that's hard to measure, and to anyone with web advertising on their site, performance will always run second to potential site income.

It definitely needs a user interface and registration for advertisers, and it definitely needs a single variables file for changing the hundreds of variables for which there is no control. I had to search on my own just to change the look and feel.

Lack of multi-zone support is a serious drawback. I would submit that anyone with a serious website needs it, and will gladly pay you 139 over 99 for just that one feature.

Take them or leave them, they are just suggestions.

,



its just an example connection string in the datacon_inc.asp file
you have the edit it to make sense for you..

 

the readme.txt file with the sql directions tells you this if you use that script

------------------------------------------------------
Examples of using DSN-LESS connections.

The "SERVER" and "Data Source" settings are either the Network Name for the SQL Server or the IP Address.
For local servers you can also use an IP of "127.0.0.1"

GalleryConnectionString = "Driver={SQL Server};UID=aspphotogalleryuser;password=temp;DATABASE=aspph otogallery;SERVER=127.0.0.1"

or

GalleryConnectionString = "Provider=sqloledb;Data Source=127.0.0.1;Initial Catalog=aspphotogallery;User Id=aspphotogalleryuser;Password=temp;"
------------------------------------------------------ 

cwilliams38325.8980324074,
Hello,
 
As I have my site hosted by a web hosting company (1and1.com), I want to make sure the ASP Photo Gallery software runs correctly before I buy. I am not sure about whether or not they support parent paths because I can find nothing in the online faqs. But, I have two other ASP apps (Forum and News from Web Wiz) running on the site, both connecting to Access databases. I remember having problems initially setting these up because I kept trying to use paths like ../db/wwforum.mdb like I would normally do when referencing images or pages in other folders.
 
Anyway, here are the database connection strings for the two apps. The first is for the Forum, which is at /forum/common.asp connecting to a database in /db/wwForum.mdb. The second is for the News, at /news/common.asp accessing /db/news.mdb.
 
'Virtual path to database
 strDbPathAndName = Server.MapPath("/db/wwForum.mdb")
 
'Database connection info and driver
strCon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/db/news.mdb")
 
Thanks for your help, hopefully I'll be setting up my new galleries this weekend!
 
- Jason
,

I would check out this article for starters... aspprotect is very similar to asp photo gallery and so are a lot of the page names.

http://support.cjwsoft.com/forum/forum_posts.asp?TID=49& PN=1

Jeromy, You should have access to that page.

,

Hi Chris

I've just recently purchased ASPBanner and have been testing out serving multiple Tradedoubler code using the IFRAME method. I have four types of banner on the same page refreshing every 15 seconds. (this will change on the live site) 

I've been leaving the IE page up for x hours and coming back to find between 1-3 of the banners has stopped and in place is an "internal error".

BannerZone=3&Refresh=15|40|800a0046|Permission_denied 80

I thought it may have been the SQL permissions from one of your other messages so I gave the banner user the DataReader and DataWriter permissions.

Its still happening and around the same time in the logs theres a couple of file not found errors.

BannerZone=2&Refresh=15|23|800a0035|File_not_found 80 - 80.65.240.159

BannerZone=4&Refresh=15|25|800a0035|File_not_found 80 - 80.65.240.159

BannerZone=1&Refresh=15|25|800a0035|File_not_found 80 - 80.65.240.159

Any ideas? I'm hoping its not the server as there is currently only 2 sites on it and this is pretty much the only traffic.

Thanks

Colin

,

humm, yea thats a data connection error..
really not related to the asp code in the application for the most part.

that is low level


If using MSACCESS

I would make sure permissions are set correctly on the database folder (not just the database file itself)

I would make sure your using at least a 2000 version of the database. 2003-2003 format being better.. 

I would make sure the server has up to date mdac/odbc drivers.. (that is really the server admins responsibility)


As for permissions there are articles in our forums about exactly how they need to be set. Improper permissions can cause a ton of random errors like that.

cwilliams38414.6528240741,

I think you may be using old code where that was an issue... I am going to PM you the latest version..

to be safe upgrade all the ASP files except the dataconn_inc.asp files and your config_inc.asp files

"be real careful not to lose your current encryption keys in the "config_inc.asp" file or you will be in real trouble

You can use your existing database

 

, Haven't gotten to it yet. I do know there are a few customers using it to edit the app and said it was not all that different. Maybe they will chime in with some tips., If you have messed up the admin account or forgotten the admin password you generally should open up the database manually and add a new account or see what the old account is.

In version 7 however you have another option. Go through the installation instructions again. Specifically the part where you use the "get_me_in.asp" page to get back into the admin area by pasting in the password encrpytion keye you are using from your config file. , Hello,

I want to create a user for my manager. This user should be able to see all statistics (Reports) and all (Banners). But, he should not be able to edit anything.

How can I create the type of user described above?


Best regards,
Mohammad Al-Mohsin

, 1st. Please understand you have to purchase two licenses to do such a thing as each installation will need a valid license purchased.

Moving on:

ASPProtect using a industry standard concept called "Forms Based Authentication"

This primarily relies on session variables keeping track of login status.

Each installation must be in it's own unique "IIS Application" so it will have it's own set of application and session variables.

That is often not possible with shared hosting plans as the server admins may not be willing to set a folder in your web as a separate IIS application. You would need to ask. It is going to depend on the quality of your hosting plan whether they do it or not.

technically it takes about 1 minute to open up the "IIS Console" and set up a folder in your web as a separate "application"



Based on what you are telling me that you want to do I think it would make a lot more sense to have one installation and one user database and customize your sites so ASPProtect users that are part of certain "groups" have access to things others do not or see things on pages other users would not. That is after all the entire point of Dynamic web sites and also why ASPProtect has "groups".

Then as far as the registration differences go you would make a copy of the users area folder area and manual customize it to register users in an alternate fashion than the main "users" folder. And then send people there if that is how you want them to register.

I don't support customizations but that is the gist of it. It's really not difficult work, but you have to be good with ASP.,

Good Morning, any suggestions on how to best "fake out the system" -- I would like to try to keep this clean so I can see the real errors?

My thought was to try to just move those .gif files to the directory that it thinks it should be in -- do you have any better suggestions? Or reasons why I really wouldnt want to do that?

,
 
Don't want to install the application ?
Having trouble doing it ?
Don't think you can ?







No problem, have us install it for you.


PLEASE READ ALL OF THIS

Installation service is generally available Mon - Fri during the hours of 10 am - 7 pm EST.
We may very well be around to do installs at other times but we do not guarantee that.


To do an install we generally need FrontPage Explorer or FTP access to your site.
We also need a way to set permissions on any necessary directories, etc etc.

To do a SQL Server install we need to access your SQL server via Enterprise Manager.

Some installs may require access to other things not mentioned.

The server must be a properly set up NT/2000/2003 server running IIS 4-6 for ASP 3.0 applications.
(with support for ASP scripts and database connectivity.) Parent Paths must be enabled on the server.

Please Note:
These ASP scripts do not run under Chillisoft ASP. That means they do not run under Unix, Linux, Apache, etc etc.
We do not install our applications on free ASP Hosting solutions. Why, because they are more trouble than they are worth. Free hosts like that are usually zero help if we need something changed. There is a reason they are free.

We install the software in it's base configuration. We make sure it is running correctly. If you break the installation you will have to pay to have it fixed. We do not integrate it with your existing site or edit any of your existing web content. That is up to you. Installation fees are non refundable as is the digital source code we sell. When you purchase anything from us you agree to this.

We do not do installs for IPNFulfill and Color Sequence Protection as they are simple scripts and do not even use a database.. We also do not install the IPN Support Pack as it is just a folder you copy into your web and some configuration files that you must decide how to configure based on your needs and your PayPal account info.


Installation Service Pricing
Any CJWSoft ASP 3.0 application
(Access Database Installation)
25.00
Any CJWSoft ASP 3.0 application
(SQL Database Installation)
40.00

Contact us if you have any questions.
cwilliams38165.5615277778, I am trying to understand how/where the "Log_Off_URL" variable is set
I have searched the forum for that string but don't get real good
results...I think the _'s are replaced with spaces for the search.

I am learning how to use the groups options and have modified some of
your example access level examples to test out group stuff.  At the
bottom of the default.asp page I see a "LOG OFF SYSTEM" link that is
filled with a link stored in the Log_Off_URL variable and it looks
like that is being set back to the default.asp file somehow.  So when
I click on it it just refreshes the page and appears to keep my user
logged in. 

Seems like it should log out the user and redisplay the
login page.  Is there a way to log totally off and have the login page
show up again?  I am sure I am missing some obvious thing
somewhere...I can see where the Log_Off_URL variable is being created
in the config_inc.asp file but did'nt know where to look for more
info.  Can you point me to an existing forum link?

Thanks!!
,

Hello,

My guess your having trouble setting up a system dsn because the database has a password set on it. Your hosting company most likely sets up DSNs without using the advanced tab which is where the authentication information goes. Or they have some sort of web interface for the customers to use that doesn’t allow setting up that information.System DSN’s are actually difficult to set up correctly when the database has a password on it. There is of course a password on the database for security reasons so if someone ever downloads it somehow they will not get your information.

System DSN’s are not the way to go regardless as you will see mentioned at our support site.

http://support.cjwsoft.com/forum/forum_posts.asp?TID=9&P N=1

 

You really should try setting up a DSN-less connection. It is the best way to go. They are easier to set up, perform better, and are less load on the server. Any host that wants it customers to use system dsn’s is not on the ball as far as server performance and server resource conservation goes. They are really asking for trouble down the road.

All you need to do to make dsn-less connection is the following.

Get permissions set for the folder the database is in (by your host)… then figure out the physical path on the server to the database by using server.mappath or you simply ask your host for the info.

An article I wrote on using server.mappath

http://www.powerasp.com/content/hintstips/physical-path.asp

Then your connection string will look something like this.. (of course you edit the path to match what server.mappath tells you. And you make sure the database name is correct)

ListingsConnectionString = "DBQ=C:\Inetpub\wwwroot\asplistings\_database\asplistings_ac cess2000.mdb;Driver={Microsoft Access Driver (*.mdb)};UID=Admin;Password=temp"

Another option would be to simply remove the password from the database using MSACCESS.. then try to connect to it using a System DSN without the password. If your host is storing the databases outside of your web in the root of the server then removing the password on the database is not that bad of a thing to do as there is no way anyone will be able to dload it from your site. Of course there is a still a performace loss when using a system dsn with an Access Database

cwilliams38145.8540509259,

Ok, I started the database tables from scratch. I did everything using sql enterprise manager and query analizer..

Same thing happens... certain passwords just do not work.

So I did a lot of testing and I have come to the conclusion that this has something to do with the regional settings of that SQL server.

Here is an example.. see the screenshot below.

Username "admin" password "petepetepete"

The top query done in Enterprise Manager is valid and shows the user.

The bottom query is also valid but it does not show the user.

And that is exactly what is happening from the ASP codes point of view.



Now, this means that even though that encrypted password is getting saved to the databse correctly this particular SQL server just cant deal with it from a QUERY.

It works fine on two different SQL servers that I have. It's just got to be something regional related like unicode characters not being dealt with correctly or something odd like that.

I tried changing the collation data for the "Password" field type on that SQL server and it looks right. I don't know what else to do but it is something about that SQL server. There may be a way to change the regional setting through the connection string but I cant find any articles on that right now.

One solution I have for you to get this working there is to eliminate the encryption factor then I dont think you will have these issues.

It's either that or find another SQL server with US type settings or use MSAccess. ASPProtect runs nearly as fast on Access as long as you do not have over 10,000 users or whatever. The system hardly ever accesses the database so it performance under MSAccess is always good.

Let me know what you want to do. I can shows you how to eliminate the encrypytion factor if you want to try that. I think if I make you a custom version of the RC4 function you can just replace that and then the system will use plain passwords.

Your call..

,

It's probably something I could do for you as a custom project if you are interesting in paying to have that work done, but it is probably not something that will be added to this version of aspbanner as it is in my opinion a feature more suited for a more expensive software package.

It is also difficult to get ASP code to do things on it's own. Scheduling something to run on the server or some other clever scenario is necessary and that usually means it would be unique to each persons setup.

http://www.cjwsoft.com/custom_work.asp

 

, that is good news... good guess on my part I guess

anyway, try this for your latest issue.

http://support.cjwsoft.com/code/code_info.asp?TID=340&KW =%2D1,
(Password Expiration Mod) for ASPProtect Version 7.x

This Advanced Mod requires decent knowledge of Databases and working with ASP. I originally wrote something like this for a customer on a custom project. I then took the time to re-write all the code from scratch so it could easily be plugged in to the current version of ASPProtect as an option. All in all this mod took me over 15 hours of time to develop and will save you a ton of time & money if you were planning on writing something like this on your own. Some parts of this were so difficult to get working that I would never have written this code if I was not paid to do so. (The encrypted array that rotates through the last 12 passwords was quite frustrating to get working)


 
The price on this is 19.95. I am not incorporating this into the base product because it makes things more complicated and isn't for everyone.

Purchase Page

Security is a big concern and making your users change their password every so often is a good idea. Keeping track of previous passwords they used and making them choose something they haven't used before takes the concept even further.

This Mod will add a password expiration date to the application. When the password expiration date is hit the user must confirm their old password as well as pick a new one before they can log in again.

There is a new password expiration directory where they must choose a new password that has not been used before. The new password must be confirmed during this process. (It remembers 12 old passwords the way it is coded) The old passwords are stored in the database in an encrypted array.


Directions:
Back up your existing ASPProtect installation.

Add two new fields to the "ASPP_Users" table in your database.

For an MSAccess Database

Password_Expiration_Date (Date_Time Field)
PreviousPasswords (Memo Field)

For a MSSQL Database

Password_Expiration_Date (smalldatetime)
PreviousPasswords (nvarchar 160 characters)

once that is done

Copy all the new ".asp" pages into your site.


Edit the "PasswordExpirationURL" variable in the "check_user_inc.asp" file

It needs to be the full URL to to the "change_password/default.asp" file


Now edit the "change_password/processchange.asp" file

There are 3 variables you can edit.

PageSentToAfter = "http://localhost/aspprotectmods/password_admin/default.asp"
PassMinLength = 4
PassMaxLength = 8

The "PageSentToAfter" is where you want them sent to after they change the password. It can be whatever you like.
If it is a protected page they should automatically get logged in with the new password they just changed to which is nice.

The other two values should be obvious.

That's it...

Just remember the password change thing is not used in the admin area...
You could easily add code for that on your own though by looking at the the password expiration code I added to the publics "check_user_inc.asp" file

Also:
You will see a new field to edit on the user edit screen for the Password Expiration of course. 
, Thats what I needed.  Thank you!,

I would also double check that you changed the field size correctly and on the correct database that is being used in the connection string

,

Post a request in the "custom code work" forum.
Perhaps another customer will want to do the work or help you out with some code.

I am just too busy to do any custom work for quite a while.

 

,

humm, I dont know then..

If you want PM me your site info and I will go in and troubleshoot.

Frontpage or frontpage access, either way

and also the site URL

, if you use our existing User_ID they are going to get new ID's. There is nothing you can do about that.

You could very easily though stick your exisisting User_ID's in one of the custum fields so you dont lose that info for each member.,

All fixed and working

 

Thanks

,

I am using v7 with other software written in ASP.NET. When I include the the "checkfor" and include file, I'm receiving a compliation error.

Here is the include I have on the .aspx file:
<% CHECKFOR = "4" %>
<!--#INCLUDE FILE="../../ASPProtect/check_user_inc.asp"-->

Here is the error:

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: BC30689: Statement cannot appear outside of a method body.

Source Error:
 Line 15: <%
Line 16: ' This is part of the too many login attempts lockdown code which sets a cookie to block login attempts for a certain amount of time
Line 17: If LoginLockDown Then
Line 18: If Request.Cookies("PASSWORDSYSTEMCOOKIETRIAL")("LoginTries") <> "" Then
Line 19: If Cint(Request.Cookies("PASSWORDSYSTEMCOOKIETRIAL")("L oginTries")) = Cint(LoginLockDownAttempts) Then

Source File:
D:\Sites\resadmin\NetOptions\testsite.com\www\ASPProtect\che ck_user_inc.asp Line: 17

 

, Yes, you are right.  That was the problem.  Sorry  

Cheers
Roy
,

need more info..

are you using aspimage to resize images and make true thumbnails..
(because if you have it turned on and it isnt actually installed on the server you will get broken thumbnails.)

what kind of images are you using ? gif or jpegs

are you uploading images over existing images ?

really need to know exactly what to do to reproduce the situation from scratch and then I can give you a better answer ??

 

cwilliams38348.7894097222,

Hi, I haven't heard anything from you.

Has this issue been resolved ?

Thanks

,

I just added this line to the paypal1.asp page

<input type="hidden" name="currency_code" value="CAD">

and it worked.  Clearly other values can be entered for other currencies.  Everything was listed in this manual https://www.paypal.com/en_US/pdf/subscriptions.pdf.


Cheers
Roy


 
, re-edit the banner to ensure your change was saved..

if it has been written to the database thats good.. if not it is a data connection issue most likely..

if it did get saved... though it usually should not take time to apply  it make take up to an hour for the change to take effect in the actual banner rotation.. give it a little time,

look in the "check_user_inc.asp" file

Thank you that did it !!

,

trust me, they (serverobjects) do not check processors.. as a matter of fact they haven't answered support emails for about 3 years. All they do is sell those components like hotcakes and take in mad crazy cash. But I will say the stuff does work well and always has. (that guy probably took all the money he made/makes from those components and took off to Jamaica or something sitting on the beach drinking margaritas)

regardless,
ASP just cant resize pictures on it's own.
It' just not possible. You need a 3rd Party component.

There isn't much to say about the ASP.NET thing.

If your server has ASP.NET installed (meaning you can run aspx pages on your server and the ASP.NET framework is installed) and running you just pick that option in the config file and ASP Photo Gallery will use ASP.NET to make dynamic thumbnails for you.

To run ASP.NET it must be a 2000 or 2003 server.

,

You are not supposed to use "../" with a virtual include

Thats goes against what a virtual include is and makes no sense.
When using a virtual include you give the path as if accessing from the root of the main web / virtual directory

I find it very hard to believe it ever worked like that and if it ever did it was wrong.

 

cwilliams38434.6703356481,

This isn't going to help you much but here is the deal.

The 2checkout support in ASPProtect actually is not supposed to work with 2checkout subscriptions and therefore does not need to use an item number.

It is intended to be used for single payments only with 2checkout as explained in this thread.
http://support.cjwsoft.com/code/moreinfo212-1.htm

Single payments with 2checkout use their shopping cart which allows for dynamic payments without needing an item number.

I agree with you that 2checkout's interface is confusing. It's actually about the worst system I have ever seen. I could not make a 2Checkout subscription system because their system is just too limited and I couldn't make it work the way it really needed to.

,

Nov 2005

,

Humm.. that should have worked fine

why are you getting a "OLE DB" error I wonder ?

I need more information. 

Database being used and version ?
Server OS Version?
Connection String being used ?

etc etc

,

Hi,

 

I only just purchased the product and I would be very keen to

a) is the upgrade available very soon as I don't want to spend the time developing one and than find the other released shortly & 

b) would I only need to pay the difference for the upgrade or have I already downloaded the upgrade already.

I cant see what version I current have.

I look forward to your response.

ripcurlsurf38138.816099537,

I purchased the ASPGallery Pro last week and still cannot get it running. When I enter www.vickerylightning.com/aspgallery/dataconn_inc.asp on the screen it says "Not a valid bookmark"

Below is the connection string. My hosting company uses server map paths:

'Create database connection

'Create a connection odject
Set adoCon = Server.CreateObject("ADODB.Connection")

'Database connection info and driver
'strCon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("aspgallery_access2002.mdb")

'Alternative drivers faster than the generic access one above
'strCon = "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=" & Server.MapPath("aspgallery_access97.mdb") 'This one is if you use Access 97
'strCon = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("aspgallery_access2000.mdb") 'This one is for Access 2000/2002
GalleryConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database Password=temp; Data Source=\\NAWINFS04\home\users\web\b2623\rh.vickery2004\aspga llery\aspgallery_access2002.mdb; "
GalleryDatabaseType = "MSACCESS"

adoCon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath ("\aspgallery\aspgallery_access2002.mdb") & ";"

Definitely need some assistance!

Rhona (rookie asp) -

 

 

,


Timecard Entry: 3/25/2006 4:25:42 PM

jays village, dealing with laptop, Check Email / Replies / Etc, general billing, sign ups, invoices, receipts, had Ben give me permissions on admin section of intranet server, copied access number admin from intranet site to USA1Net site, made sure files worked on USA1Net site for admin of numbers, added a "Contact Us" link to Allied Federals web page, also emailed Kelly at Allied about getting database files (alliedcoop.com), Network & Modem Monitoring & Backup, Draft/review wireless antennae contract, Consolidated and printed the list of potential wirelss customers for downtown Watertown- printed out lables for the mailing - list taken form Paul's Nortel phone customer List, ran modem lines upstairs, Call from Kelly about Christensen problem on nnymls.com. Worked fine from here. Called Christensen Realty and it worked fine for them while I was on the phone. Whatever it was fixed itself., worked on 2000 server machine.....its fubar, doesnt want to detect the cd rom or something....went to engineering meeting, watched ben do some frontpage stuff for domains and users and some such material, Receiving an unusual amount of calls about unable to receive e-mail and surf web., Reinstalled Outlook, ICQ, Browsers, Network information, file sharing info.,web sharing preferences and profiles again for clean system intallation., Travel From Morristown to Brampton Ontario for Nortel training, tech support callbacks and rad logs, Did some radlog checking in between calls, Took a quick call, did a quick check on radlogs and checked dial-up issues, Meet w/Paul in Watn - Cancelled, Dialing into and testing Clayton modem pool from home. Coming back to office., teched calls - not very busy, Decomm. DNS for George Jabbour sites, changed email passwords on every email account for tughill.org, Made copies of Modem Checklists., client e-mail, To Sackets for Mtg, Gen. tech duties...checked outside doors to lower level, locked and secured, worked on internal work request system, awaiting Tim's free time to work on text file conversion for Allied and all other projects are up-to-date, W32.NewApt.Worm, same as above, lunch,

   Active Server Pages Rule The World
Contact Us  
All artwork, design & content contained in this site are Copyright © 1998 - 2025 PowerASP.com and Christopher J. Williams
Banner ads ,other site logos, etc are copyright of their respective companies.
STATS Unless otherwise noted - All Rights Reserved.

vbscript active server pages ASP vbscript SQL database informix oracle SQL Server Perl CGI Delphi PHP source code code sample samples program CJWSoft ASPProtect ASPBanner ASPClassifieds www.aspclassifieds.com, www.powerasp.com,www.cjwsoft.com,www.aspphotogallery.com,www.codewanker.com,www.aspprotect.com,www.aspbanner.com