C# - Efficiently Removing Naughty Words From Users Comments?
Oct 25, 2010
I have an ASP.NET app that accepts users comments and them in a SQL database. I want to make sure that I weed out any "naughty" words so I can keep my app respectable. Problem is that I'm finding there are LOTS of these words. ;>My question is, what's the most efficient way to do this processing? Should I have a table in SQL and write a stored proc that does the work? Should I do it with c# and Regex in memory on the web server? Are there other options? Has anyone else successfully done this kind of text scanning at scale? If y, what worked?
i have a search box, many text boxes which taken various inputs and save it to database using primitive methods such as "insert into....." executenonquerry etc.have read something that " a textbox by itself can prevernt attacks known as sql injections" is that true?if sohow to enable it?does it need extra coding?
I'm in the process of creating a blog engine on my website. Nothing fancy. The user will register some basic information, including the comment itself that is the issue of this question.Inside the comment field, the user can write some text, but there are currently nothing stopping him from writing anything harmful there, that would mess up the page when rendering it with comments
I am trying to create a comments page for users to review and comment on an article. I have 2 buttons on each comments posted by users; "Like" and "Don't Like". I am stuck with how to track which user voted already for a given comment. I am thinking of two options and would like to know if they are they way to go or is there a better solution.
Option 1: I have created a table in my database with stores, the comment id, the userid of the user who rated it and the value "like" or "don't like". So each time I have to query my table to find out if this user indeed vote for a given comment. The table unfortunately grows exponentially!!
Option 2: I store the commentid, userid, and "like" or "don't like" value in a cookie on the client's machine. I read the cookie and find out if the user has already voted on a comment. This is proving to be VERY quirky with cookie expiration, growing cookie size and also multiple users on the same machine.
In either way, my test case of ~1500 users, and 2 Million comments, this is getting to be HEAVY on both methods. Is there anything better?
I have a pretty basic search feature on a site that queries a sqldb with a sqldarasource, and then displays the results on a page, in a panel within a Repeater. I'd like to figure out if it's possible to somehow highlight the words the user searched on as they are displayed in the search results. The code below is my repeater. Do you know of any way to manipulate the Title or Description if the words in it's body match the words searched?
Long ago, I created an ASPNET user for development use.However, every time I boot up my dev system, I'm presented with a user login for ASPNET, among others.I don't want to remove ASPNET; I need it for dev work.But how do I keep it from appearing among the list of User Logins available at boot-up?
So, in our website we are using SiteMap. For each request we render some menu and to do that we do SiteMap.RootNode in the helper function.
Now, when I have done the profiling of my website using dotTrace, I saw the get_RootNode() is taking lot's of time(around 70-75 millisecond). But we know that the SiteMap is static. So, I am thinking in somehow I will get the SiteMap.RootNode only once in Application_Start and will access that through out each request.
So, my questions are,
Is my approach correct?
How should I do that?
Or is there any efficient way that I can use SiteMap.RootNode
I created 2 functions that do this, but I do not this it efficient at all. I have a 40mb file and it takes the program about 2 hours to complete. Is there a more efficient way to do this? Is there a way to use regex? See my code below:.....................
I have a parent/child relationship that I'm currently pulling via the EF .include() method and displaying via two foreach loops in my view -- the first foreach loop is for the parents and the second is nested inside each parent and is for the children of that parent.
This has worked fine, but now I need to display information about each child that is not contained in my main child table. The table that contains this extra information only has a relationship to the main child table and thus there is no association between this table and the main parent table --- i.e. the .include() method can't pick this up. I've looked, found nothing and thus assume that I can't have two .include methods chained together. (even if I could, would this be efficient?)
I know I can perform a simple join and pull all of the child information with the parent records, but that would create issues with my paging because I want the page size determined by the number of parent records displayed. For some parents, there are only two children; other parents may have 10 children. So a simple join would create records where the parent information is duplicated and would throw off the paging.
Ideally I'd like to pull the parent information and pull the children information and connect the two when the view is populated, but I don't have a clue on how to do this efficiently (if that's even possible).
In my web application I am working with files. Some files are very large. I use Response.Write() to write the file to the browser. This goes well for the smaller files, but for large files this can take a while and the bandwidth is fully used.
Is it possible to split large documents and send it piece by piece to the browser? Are there other ways to send the document quicker to the browser?I hold the document as a property of an object.
I'm trying to get most of the data I have on my web page, to update a query during an asp 2.0 raisecallback event. I've tried Request.Form with no luck. I've got the html (sent in raisecallback parameter) using 2 div tag's innerhtml. Can someone tell me an efficient method to use to get all this data for updating - Do I have to parse from the callback string (eventArgument) & if so can I use a reader of somekind, or is there a better way?
I've got a database table with a very large amount of rows. This table represents messages that are logged by a system. Each message has a message type and this is stored it it's own field in the table. I'm writing a website for querying this message log. If I want to search by message type then ideally I would want to have a drop down box listing the message types that have come up in the database. Message types may change over time so I can't hard code the types into the drop down. I'll have to do some sort of lookup. Iterating over the entire table contents to find unique message values is obviously very stupid however being stupid in the database field I'm here asking for a better way. Perhaps a separate lookup table which the database occasionally updates listing just the unique message types that I can populate my drop down from would be a better idea.
The platform I'm using is ASP.NET MVC and SQL Server 2005
in the web.config file of an application - so that file uploads of 10mb are allowed. The default - shown in the web.config.comments file - is 4096 or 4mb Today a user uploaded a file that was 4.55 mb and the app fell over. The server event log shows this warning:Post size exceeded allowed limits About 10 minutes later another email was sent with a 3.33 mb attachment. Again, it fell over and this time the server event log shows:
HttpException ... Request timed out
As it happens, on both occasions the files were uploaded to the server correctly and all the emails got sent - according to log files on the Exchange server. So, what happened? I figure I'll increase the file upload and timeout in the web.config file. Should I also increase the file upload in the web.config.comments file that affects the whole server? How do you edit the web.config.comments file? Just open it in Notepad, make the changes and save?
i have this forum page on my website. I want when users leave comment, the old comments should be at the bottom and new comments at the top. The code for that is below:
I am working on a project. I need to allow user to comment on pictures - like a blog. For example, if you like a picture, you post your comment on the pictures and say why you like. When the user type a comment in the text box, how do I put it under the pictures? Also, if two people were to post comments, how do I know where the first comment ends and where to start posting the second comments? Also, how do I know when the page is full and start a new page?
I have a details page, which lists the selected Restaurant. I want to be able to add comments at the bottom and display them. I have managed to add comments but only on a different page, i am struggling to get both the datails and the Comment create on the same form. This is what i have:
I'm trying to get the comments section for a user, to populate a text box which can be updated. I'm getting the "Object reference not set to an instance of an object" error. Why is this occurring?
I have a blog page that has 20 posts each page.I'm using Listview for displaying posts. If I want to display comments for each posts, what would be the best way? My database stracture is as follow
Since I have many comments for each posts, I don't think I can join table.Only thing I can think of is that I can use DataReader and loop through the results in Listview Databound events.What would be the best way to achieve this?
I am new in vb.net ... I am working on a project where users are able to post comments and also to be able to upload images. I am able to save the comments and also able to save the images to the database as a binary.
I am able to show the comments thru a listview as a user adds the comments, but how can i show the comments and the images. this would be similar like "Facebook"
I am using Label to display comments so in Csharp coding to display Comments on web page where One Default Image should be display , Name , Date , Comments .